Function at 0x4229d8
Capabilities:
Hide graphical window

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xcc
mov eax, dword [0x4566b4]
push ebx
mov ebx, dword [ebp + 8]
cmp ebx, 0xffffffff
push esi
mov esi, ecx
mov dword [ebp - 4], eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x90], eax
je 0x422cf2
mov eax, dword [esi + 0x90]
mov dword [esi + 0x94], ebx
movzx eax, byte [eax + 0x20]
mov dword [ebp - 0xa0], eax
call fcn.00421964
mov ecx, dword [esi + 0x90]
and dword [ebp - 0x98], 0
test ecx, ecx
mov dword [ebp - 0x94], eax
je 0x422a54
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, esi
call fcn.00421964
cmp dword [ebp - 0x94], eax
je 0x422a54
mov dword [ebp - 0x98], 1
push edi
push 0
push ebx
push 0x150
push dword [esi + 0x38]
call dword [fcn.004015c4]
cmp eax, dword [esi + 0x7c]
mov dword [esi + 0x90], eax
movzx ecx, byte [eax + 0x20]
mov dword [ebp - 0xa8], ecx
mov byte [ebp - 0x85], 0
mov byte [ebp - 0x84], 0
jne 0x422ae4
push 9
pop ecx
xor eax, eax
lea edi, [ebp - 0xcc]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x84]
mov dword [ebp - 0xc4], eax
lea eax, [ebp - 0xcc]
push eax
push ebx
push 0x404
push dword [esi + 0x38]
mov dword [ebp - 0xcc], 1
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xc0], 0x80
call dword [fcn.004015c4]
lea eax, [ebp - 0x84]
push eax
call fcn.0041fa9f
mov byte [ebp - 0x85], al
mov ebx, dword [fcn.004015c8]
push 0x9cb1
push dword [ebp - 0x90]
call ebx
push 2
push dword [ebp - 0x90]
mov dword [ebp - 0x8c], eax
call ebx
cmp dword [ebp - 0x8c], 0
mov edi, dword [fcn.0040154c]
mov dword [ebp - 0xa4], eax
je 0x422b8a
mov al, byte [ebp - 0x85]
neg al
push 2
push dword [ebp - 0x8c]
sbb eax, eax
and eax, 0xfffffffb
add eax, 5
mov dword [ebp - 0x9c], eax
call dword [fcn.004013a8]
test eax, eax
mov dword [ebp - 0x8c], eax
je 0x422b7b
jmp 0x422b52
mov eax, dword [ebp - 0x8c]
cmp eax, dword [ebp - 0xa4]
je 0x422b7b
push dword [ebp - 0x9c]
push eax
call edi
push 2
push dword [ebp - 0x8c]
call dword [fcn.004013a8]
test eax, eax
mov dword [ebp - 0x8c], eax
jne 0x422b4c
push 5
pop eax
sub eax, dword [ebp - 0x9c]
push eax
push dword [esi + 0x28]
call edi
movzx eax, byte [ebp - 0x85]
push eax
push 0x1038
push dword [ebp - 0x90]
call ebx
push eax
call dword [fcn.004015cc]
push 0
push 0x1039
push dword [ebp - 0x90]
call ebx
push eax
call dword [fcn.004015cc]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x7c]
jne 0x422c6f
push 0
push dword [esi + 0x2c]
call edi
push 0
push dword [esi + 0x20]
call edi
cmp byte [ebp - 0x85], 0
je 0x422bea
push dword [esi + 0x28]
jmp 0x422cbe
lea eax, [ebp - 0x84]
push eax
call fcn.0041f881
mov ecx, dword [esi + 0x7c]
push eax
call fcn.004287b3
mov edx, dword [esi + 0x90]
mov edi, dword [edx]
mov ecx, esi
call fcn.004213c4
push eax
mov ecx, edx
call dword [edi + 8]
push dword [esi + 0x24]
call dword [0x40153c]
push 0
push 1
push 0x80000001
push 0x401d40
lea ecx, [ebp - 0xc4]
call fcn.0044dbd9
push 0
push 0x403c84
lea ecx, [ebp - 0xc4]
call fcn.0044dd85
test eax, eax
jne 0x422c62
push 1
push 0x1039
push dword [ebp - 0x90]
call ebx
push eax
call dword [fcn.004015cc]
lea ecx, [ebp - 0xc4]
call fcn.0044df2e
jmp 0x422cc4
mov eax, dword [esi + 0x24]
xor ebx, ebx
cmp eax, ebx
je 0x422c8a
push ebx
push eax
call edi
push ebx
push dword [esi + 0x28]
call edi
mov ecx, dword [esi + 0x7c]
call fcn.004280e1
mov eax, dword [esi + 0x90]
cmp byte [eax + 0x20], 0
push ebx
je 0x422c9c
push dword [esi + 0x20]
jmp 0x422c9f
push dword [esi + 0x2c]
call edi
mov edx, dword [esi + 0x90]
mov edi, dword [edx]
mov ecx, esi
call fcn.004213c4
push eax
mov ecx, edx
call dword [edi + 8]
mov ecx, esi
call fcn.004213c4
push eax
call dword [0x40153c]
cmp dword [ebp - 0x98], 0
pop edi
jne 0x422ceb
mov eax, dword [ebp - 0xa0]
cmp dword [ebp - 0xa8], eax
jne 0x422ceb
mov ecx, esi
call fcn.00421964
cmp dword [ebp - 0x94], eax
je 0x422cf2
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov ecx, dword [ebp - 4]
pop esi
pop ebx
call fcn.0044d575
leave
ret 4