This code is bad:
call InitCommonControlsEx
call InitCommonControls
it would have been written like this:
mov rax,OFFSET SomeWhere
push rax
mov rax,OFFSET InitCommonControls
push rax
jmp InitCommonControlsEx
SomeWhere :
"InitCommonControlsEx" must be the last because I initialize RCX register with a pointer on a structure.
In theory it's good, but in practice it crashes without me having any idea of the cause! So if anyone has an idea I accept it.