Function at 0x418a50
Capabilities:
Hide graphical window

Disassembly:
mov ecx, dword [esp + 4]
jmp 0x419c20
sub esp, 0x448
push ebx
push ebp
push esi
xor ebx, ebx
push edi
mov esi, ecx
push ebx
call dword [sym.imp.ole32.dll_CoInitialize]
mov eax, dword [esi + 0xb8]
mov ebp, 1
cmp eax, 0x31
mov dword [esp + 0x10], ebp
jne 0x419d50
mov eax, dword [esi + 0xc2c]
mov dword [esi + 0xc30], ebp
push eax
call dword [sym.imp.KERNEL32.dll_ResetEvent]
mov ecx, esi
call fcn.00418a60
mov ebp, eax
mov dword [esp + 0x10], ebp
cmp ebp, ebx
jl 0x41a042
mov eax, dword [esi + 0xf0]
test eax, eax
je 0x41a48f
mov edx, dword [eax]
lea ecx, [esi + 0xfc]
push ecx
push 0x4fcb0c
push eax
call dword [edx]
mov eax, dword [esi + 0xf0]
lea edx, [esi + 0x108]
push edx
push 0x4fcaec
mov ecx, dword [eax]
push eax
call dword [ecx]
mov eax, dword [esi + 0xf0]
lea edx, [esi + 0x104]
push edx
push 0x4fc9fc
mov ecx, dword [eax]
push eax
call dword [ecx]
mov eax, dword [esi + 0xf0]
lea ecx, [esi + 0x100]
push ecx
push 0x4fcafc
mov edx, dword [eax]
push eax
call dword [edx]
mov eax, dword [esi + 0xf0]
lea ebx, [esi + 0x10c]
push ebx
push 0x4fcacc
mov ecx, dword [eax]
push eax
call dword [ecx]
test eax, eax
jge 0x419d06
mov eax, dword [ebx]
test eax, eax
je 0x419d06
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov dword [ebx], 0
mov eax, dword [esi + 0xf0]
lea edi, [esi + 0xf8]
push edi
push 0x4fcadc
mov ecx, dword [eax]
push eax
call dword [ecx]
test eax, eax
jl 0x41a0f2
mov eax, dword [edi]
lea ecx, [esi + 0xdc]
push ecx
push eax
mov edx, dword [eax]
call dword [edx + 0x20]
mov eax, dword [esi + 0xd4]
test eax, eax
je 0x41a0b4
mov edi, dword [edi]
push 0xffffd8f0
mov edx, dword [edi]
jmp 0x41a0ee
cmp eax, 0x51
je 0x41a014
cmp eax, 0x52
je 0x41a014
cmp eax, 0x10
je 0x419f2c
cmp eax, 0x12
je 0x419f2c
cmp eax, 0x15
je 0x419f2c
cmp eax, 0x11
jne 0x419ea3
mov ecx, 7
xor eax, eax
lea edi, [esp + 0x2c]
mov dword [esp + 0x28], ebx
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0x120]
lea edx, [esp + 0x28]
push edx
push ebp
mov ecx, dword [eax]
push ebx
push eax
call dword [ecx + 0x14]
cmp eax, 0x8004027b
je 0x419e6a
cmp eax, ebp
je 0x419e6a
cmp eax, ebx
jl 0x419e6a
mov eax, dword [esi + 0x120]
lea edx, [esi + 0x128]
push edx
push 0x4fc94c
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10]
mov eax, dword [esi + 0x120]
lea edi, [esi + 0x124]
push edi
push 0x4fc95c
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10]
mov eax, dword [esi + 0x120]
lea ebx, [esi + 0x12c]
push ebx
push 0x4fcb5c
mov edx, dword [eax]
push eax
call dword [edx + 0x10]
mov ebx, dword [ebx]
test ebx, ebx
je 0x419e1b
mov eax, dword [ebx]
push 0
push ebx
call dword [eax + 0x1c]
mov eax, dword [edi]
test eax, eax
je 0x419e4a
mov ecx, dword [eax]
push 0
push ebp
push eax
call dword [ecx + 0x90]
mov eax, dword [edi]
push 0
push 2
push eax
mov edx, dword [eax]
call dword [edx + 0x90]
mov edi, dword [edi]
push ebp
push 3
push edi
mov eax, dword [edi]
call dword [eax + 0x90]
mov eax, dword [esi + 0x120]
lea edx, [esi + 0xf0]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov ebp, eax
xor ebx, ebx
mov dword [esp + 0x10], ebp
jmp 0x419c6d
mov edi, dword [esi + 0xb8]
mov ecx, esi
call fcn.004135e0
mov dword [0x525d88], 0xa76f
mov ecx, dword [esi + 0x198]
push 3
push edi
mov eax, dword [ecx]
push 0x575
call dword [eax]
pop edi
pop esi
pop ebp
mov eax, 0x80004005
pop ebx
add esp, 0x448
ret
cmp eax, 0x60
jne 0x419c75
mov ebx, dword [esi + 0x1a4]
xor edi, edi
xor ebp, ebp
test ebx, ebx
je 0x419c75
mov ecx, dword [esi + 0x1a8]
mov eax, 0x2aaaaaab
sub ecx, ebx
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
cmp edi, edx
jae 0x419c75
mov eax, dword [esi + 0x1a4]
add eax, ebp
cmp dword [eax], 4
je 0x419ef1
inc edi
add ebp, 0xc
jmp 0x419eb6
mov eax, dword [eax + 8]
test eax, eax
je 0x419c75
mov ecx, dword [esi + 0x194]
test ecx, ecx
je 0x419c75
mov edx, dword [ecx]
push 0
push 0
push eax
push 0x4fcc7c
push 0x4fcb4c
push ecx
call dword [edx + 0x1c]
mov dword [esp + 0x10], eax
mov ebp, eax
xor ebx, ebx
jmp 0x419c6d
xor edi, edi
cmp eax, 0x10
mov dword [esi + 0xc30], ebp
jne 0x419f46
mov eax, dword [esi + 0xc2c]
push eax
call dword [sym.imp.KERNEL32.dll_ResetEvent]
mov eax, dword [esi + 0x1a4]
mov ecx, dword [esi + 0x1a8]
cmp eax, ecx
je 0x419ff2
cmp dword [eax + 4], ebx
jne 0x419f64
cmp dword [eax + 8], ebx
jne 0x419f70
add eax, 0xc
cmp eax, ecx
jne 0x419f5a
jmp 0x419ff2
mov eax, dword [eax + 8]
lea edx, [esp + 0x14]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], ebx
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x28]
test eax, eax
jl 0x419ff2
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x419ff2
mov ecx, dword [eax]
lea edx, [esp + 0x10]
push ebx
push edx
push ebp
push eax
call dword [ecx + 0xc]
test eax, eax
jne 0x419fe0
mov eax, dword [esi + 0xf0]
mov edx, dword [esp + 0x10]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x30]
test eax, eax
jl 0x419fb9
inc edi
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x419fcb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push ebx
push ecx
mov edx, dword [eax]
push ebp
push eax
call dword [edx + 0xc]
test eax, eax
je 0x419fa3
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x419fee
mov edx, dword [eax]
push eax
call dword [edx + 8]
cmp edi, ebx
jne 0x41a00b
mov eax, dword [esi + 0xf0]
mov edx, dword [esi + 0x1b8]
push ebx
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x34]
jmp 0x419c67
mov dword [esp + 0x10], ebx
jmp 0x419c75
mov eax, dword [esi + 0xc2c]
mov dword [esi + 0xc30], ebp
push eax
call dword [sym.imp.KERNEL32.dll_ResetEvent]
mov ecx, esi
call fcn.004192c0
mov ebp, eax
cmp ebp, 0xffffffff
mov dword [esp + 0x10], ebp
jne 0x419c6d
mov ebp, 0xfffffffb
mov ecx, dword [esi + 4]
push ebx
push ebx
push 0x57e
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [esi + 0xb8]
cmp eax, 0x31
je 0x41a06d
cmp eax, 0x51
je 0x41a06d
cmp eax, 0x52
je 0x41a06d
cmp eax, 0x10
jne 0x41a080
mov edx, dword [esi + 0xc2c]
push edx
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov dword [esi + 0xc30], ebx
cmp dword [esi + 0x198], ebx
je 0x41a55f
cmp dword [esi + 0xbc], 0xa
jne 0x41a55f
mov edi, dword [esi + 0xb8]
cmp edi, 0x31
je 0x41a4e4
mov ecx, esi
call fcn.004135e0
jmp 0x41a4f6
fldlg2
fild dword [esi + 0xd8]
fyl2x
fsub qword [0x4fba00]
fmul qword [0x4fb9f8]
call fcn.004df408
xor ecx, ecx
test eax, eax
setge cl
dec ecx
and eax, ecx
cmp eax, 0xffffd8f0
jg 0x41a0e5
mov eax, 0xffffd8f0
mov edi, dword [edi]
test edi, edi
je 0x41a0f2
mov edx, dword [edi]
push eax
push edi
call dword [edx + 0x1c]
mov eax, dword [esi + 0xf0]
lea edi, [esi + 0xf4]
push edi
push 0x4fcabc
mov ecx, dword [eax]
push eax
call dword [ecx]
mov ebp, eax
test ebp, ebp
jge 0x41a12d
mov eax, dword [edi]
test eax, eax
je 0x41a12d
mov dword [esi + 0xb4], 2
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov dword [edi], 0
jmp 0x41a140
cmp dword [esi + 0xb4], 2
jne 0x41a140
mov dword [esi + 0xb4], 1
mov eax, dword [edi]
xor ecx, ecx
cmp eax, ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], ecx
je 0x41a168
mov ecx, dword [eax]
lea edx, [esp + 0x14]
push edx
push eax
call dword [ecx + 0x3c]
mov edi, dword [edi]
lea ecx, [esp + 0x10]
push ecx
push edi
mov eax, dword [edi]
call dword [eax + 0x4c]
mov eax, dword [esi + 0x114]
test eax, eax
je 0x41a1b0
mov edx, dword [eax]
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x1c]
push ecx
push eax
call dword [edx + 0xc]
mov ebp, eax
test ebp, ebp
jl 0x41a1b0
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
test eax, eax
mov dword [esp + 0x14], edx
je 0x41a19c
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
test eax, eax
mov dword [esp + 0x10], eax
je 0x41a1b0
mov eax, dword [esp + 0x24]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
test eax, eax
je 0x41a1d5
mov eax, dword [esp + 0x10]
test eax, eax
je 0x41a1d5
cmp dword [esi + 0xb4], 2
jne 0x41a207
mov dword [esi + 0xb4], 1
jmp 0x41a207
mov eax, dword [esi + 0xc5c]
mov dword [esi + 0xb4], 2
test eax, eax
je 0x41a207
mov ecx, dword [eax]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x41a207
mov edx, dword [esi + 0xc5c]
push 5
mov eax, dword [edx]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [esi + 0x100]
test eax, eax
je 0x41a224
mov edx, dword [esi + 4]
mov ecx, dword [eax]
push 0
push 0x500
push edx
push eax
call dword [ecx + 0x34]
mov ebp, eax
mov eax, dword [ebx]
test eax, eax
je 0x41a2db
mov edx, dword [esi + 4]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x74]
mov eax, dword [ebx]
push 0x46000000
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
mov eax, dword [ebx]
mov ecx, dword [esi + 4]
push ecx
push eax
mov edx, dword [eax]
call dword [edx + 0x7c]
mov eax, dword [esi + 0xf0]
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], 0
push ecx
mov edx, dword [eax]
push 0x4fc96c
push eax
call dword [edx]
mov ebp, eax
test ebp, ebp
jl 0x41a29a
mov eax, dword [esp + 0x18]
push 0
push 0
push eax
mov edx, dword [eax]
call dword [edx + 0x10]
mov ebp, eax
mov eax, dword [esp + 0x18]
test ebp, ebp
jne 0x41a294
mov dword [esi + 0x110], eax
jmp 0x41a29a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edx, dword [esi + 4]
mov edi, dword [sym.imp.USER32.dll_FindWindowExW]
push 0x50ff28
push 0
push 0
push edx
call edi
mov ebx, dword [sym.imp.USER32.dll_BringWindowToTop]
test eax, eax
je 0x41a2bc
push eax
call ebx
mov eax, dword [esi + 4]
push str.QvodFaceWnd
push 0
push 0
push eax
call edi
test eax, eax
je 0x41a2d2
push eax
call ebx
push 1
mov ecx, esi
call fcn.0041e1e0
cmp dword [esi + 0xb8], 0x12
je 0x41a493
mov eax, dword [esi + 0xfc]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov ebp, eax
test ebp, ebp
jl 0x41a493
mov edx, dword [esi + 0x20]
lea edi, [esi + 0x20]
push 0
push 0x423ab0
mov ecx, edi
call dword [edx + 0x6c]
mov ecx, dword [esi + 0x198]
mov dword [esi + 0xbc], 3
push 0
push 3
mov eax, dword [ecx]
push 0x576
call dword [eax]
mov eax, dword [0x5258d4]
mov ebx, 2
cmp eax, ebx
jne 0x41a343
push ebx
mov ecx, esi
call fcn.00421de0
cmp dword [esi + 0xb8], 0x31
jne 0x41a39e
mov edx, dword [edi]
lea eax, [esp + 0x18]
push eax
mov ecx, edi
mov dword [esp + 0x1c], 0
call dword [edx + 0x18]
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, esi
call fcn.004242a0
mov dword [esi + 0xcd8], eax
mov eax, dword [esi + 0x1b4]
test eax, eax
jl 0x41a39e
jg 0x41a38a
cmp dword [esi + 0x1b0], 0x80000000
jbe 0x41a39e
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [edi]
push 0
mov ecx, edi
call dword [edx + 0x10]
mov eax, dword [esi + 4]
push ebx
push eax
call dword [sym.imp.USER32.dll_KillTimer]
cmp dword [esi + 0xb8], 0x10
jne 0x41a47c
cmp dword [esi + 0xb4], ebx
jne 0x41a47c
mov eax, dword [esi + 0xcb4]
test eax, eax
je 0x41a47c
mov eax, dword [0x52590c]
test eax, eax
je 0x41a47c
mov eax, dword [esi + 0xc38]
test eax, eax
jne 0x41a47c
mov ecx, 0x104
xor eax, eax
lea edi, [esp + 0x48]
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0x1b8]
mov ecx, dword [esi + 0x198]
push eax
lea eax, [esp + 0x4c]
mov edx, dword [ecx]
push eax
push 0x586
call dword [edx]
mov ecx, dword [esi + 0xcb4]
test ecx, ecx
je 0x41a493
mov eax, dword [esi + 0x1b8]
lea edx, [esp + 0x48]
push edx
push eax
call fcn.00401180
test eax, eax
je 0x41a493
mov ecx, dword [esi + 4]
push 0
push 0x12c
push 2
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
mov ecx, dword [esi + 0xcb4]
push 5
call fcn.00401250
mov eax, dword [esi + 0xc5c]
test eax, eax
je 0x41a493
mov edx, dword [eax]
push edx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x41a493
mov eax, dword [esi + 0xc5c]
push 0
mov ecx, dword [eax]
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x41a493
mov ecx, dword [esi + 0xcb4]
test ecx, ecx
je 0x41a493
push 0
call fcn.00401250
jmp 0x41a493
mov ebp, dword [esp + 0x10]
mov eax, dword [esi + 0xb8]
cmp eax, 0x31
je 0x41a4ad
cmp eax, 0x51
je 0x41a4ad
cmp eax, 0x52
je 0x41a4ad
cmp eax, 0x10
jne 0x41a4c4
mov edx, dword [esi + 0xc2c]
push edx
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov dword [esi + 0xc30], 0
mov eax, dword [esi + 4]
push 0
push 0
push 0x57e
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x448
ret
mov eax, dword [esi + 4]
push ebx
push 2
push 0x57e
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
cmp ebp, 0x80040216
je 0x41a543
cmp ebp, 0x80070002
je 0x41a543
cmp ebp, 0x80040265
je 0x41a537
cmp ebp, 0x80040255
je 0x41a537
cmp ebp, 0x8007007e
je 0x41a537
cmp ebp, 0xfffffffb
jne 0x41a52f
mov dword [0x525d88], 0xa776
jmp 0x41a54d
mov dword [0x525d88], ebp
jmp 0x41a54d
mov dword [0x525d88], 0xa76a
jmp 0x41a54d
mov dword [0x525d88], 0xa769
mov ecx, dword [esi + 0x198]
push 3
push edi
push 0x575
mov edx, dword [ecx]
call dword [edx]
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x448
ret