Function at 0x42ae57
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0x90
mov eax, 0x51b54e
call fcn.00500eda
mov ebx, ecx
xor esi, esi
cmp dword [ebx + 0x15c], esi
jne 0x42b736
cmp dword [ebx + 0x160], esi
jne 0x42b736
cmp dword [ebx + 0x64], esi
jne 0x42aea8
cmp dword [ebx + 0x9c], esi
jne 0x42aea8
cmp dword [ebx + 0x80], esi
jne 0x42aea8
cmp dword [ebx + 0xb8], esi
jne 0x42aea8
cmp dword [ebx + 0x2c], esi
je 0x42b736
xor eax, eax
inc eax
push 0xa
lea ecx, [ebp - 0x9c]
mov dword [0x576a3c], eax
mov dword [0x576a40], eax
call fcn.0047036f
mov eax, dword [ebx + 0x40]
mov dword [ebp - 4], esi
mov dword [ebp - 0x10], eax
mov edi, 0x5705c8
cmp eax, esi
je 0x42af29
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x3c]
call fcn.00404b32
push dword [eax]
push 0x536078
call fcn.00410dcc
pop ecx
pop ecx
cmp eax, esi
je 0x42af24
mov ecx, eax
call fcn.004758ad
push eax
push edi
call fcn.00410dcc
pop ecx
pop ecx
cmp eax, esi
je 0x42af24
mov ecx, dword [eax + 0x2fc]
cmp ecx, esi
je 0x42af24
cmp dword [ecx + 0xe4], esi
je 0x42af24
push eax
lea ecx, [ebp - 0x9c]
call fcn.004703ff
cmp dword [ebp - 0x10], esi
jne 0x42aed4
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x42af67
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x9c]
call fcn.00404b32
push dword [eax]
push edi
call fcn.00410dcc
mov edx, dword [eax]
pop ecx
pop ecx
push 1
push esi
push 0xf000
push esi
mov ecx, eax
call dword [edx + 0x344]
cmp dword [ebp - 0x10], esi
jne 0x42af36
mov eax, dword [ebx + 0x5c]
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x42af9d
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x58]
call fcn.00404b32
push dword [eax]
push edi
call fcn.00410dcc
pop ecx
pop ecx
cmp eax, esi
je 0x42af98
push dword [eax + 0x320]
mov ecx, eax
call fcn.004868c4
cmp dword [ebp - 0x10], esi
jne 0x42af71
push 0xa
lea ecx, [ebp - 0x80]
call fcn.0047036f
lea eax, [ebx + 0x90]
push eax
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 1
call fcn.0047042d
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x42affe
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x80]
call fcn.00404b32
push dword [eax]
push 0x56fe48
call fcn.00410dcc
pop ecx
pop ecx
push 0x37
push esi
push esi
push esi
mov edi, eax
push esi
push esi
mov ecx, edi
call fcn.004105f9
mov eax, dword [edi]
push ebx
mov ecx, edi
call dword [eax + 0x1b4]
cmp dword [ebp - 0x10], esi
jne 0x42afc4
push 0xa
lea ecx, [ebp - 0x48]
call fcn.0047036f
mov eax, dword [ebx + 0x24]
mov byte [ebp - 4], 2
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x42b0e9
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x20]
call fcn.00404b32
mov edi, dword [eax]
push 0x53b0b8
mov ecx, edi
mov dword [ebp - 0x14], edi
call fcn.00410dae
test eax, eax
je 0x42b05b
push edi
push 0x53b0b8
call fcn.00410dcc
pop ecx
pop ecx
add eax, 0xe0
push eax
lea ecx, [ebp - 0x48]
call fcn.0047042d
jmp 0x42b0e0
push 0x52f63c
mov ecx, edi
call fcn.00410dae
test eax, eax
je 0x42b0e0
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x1a4]
test eax, eax
je 0x42b084
push edi
lea ecx, [ebp - 0x48]
call fcn.004703ff
jmp 0x42b0e0
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x188]
test eax, eax
je 0x42b0e0
mov ecx, dword [ebp - 0x14]
lea esi, [ecx + 0x268]
lea edi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ecx]
movsd dword es:[edi], dword [esi]
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x24]
push 0
push 0x34
push edx
mov edx, dword [ebp - 0x20]
sub edx, dword [ebp - 0x28]
push edx
push dword [ebp - 0x24]
push dword [ebp - 0x28]
push 0
call dword [eax + 0x210]
mov edi, dword [ebp - 0x14]
mov esi, dword [edi]
push 0
push 1
mov ecx, edi
call dword [esi + 0x184]
push eax
mov ecx, edi
call dword [esi + 0x1fc]
xor esi, esi
cmp dword [ebp - 0x10], esi
jne 0x42b01a
mov eax, dword [ebx + 0xcc]
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x42b142
lea edi, [ebx + 0xc8]
lea eax, [ebp - 0x10]
push eax
mov ecx, edi
call fcn.00404b32
push dword [eax]
push 0x56fe48
call fcn.00410dcc
pop ecx
pop ecx
cmp eax, esi
je 0x42b13d
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x180]
push eax
push 0x53aa64
call fcn.00410dcc
pop ecx
pop ecx
cmp eax, esi
je 0x42b13d
push eax
lea ecx, [ebp - 0x48]
call fcn.004703ff
cmp dword [ebp - 0x10], esi
jne 0x42b0fc
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x42b1a2
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x48]
call fcn.00404b32
mov edi, dword [eax]
mov eax, dword [edi]
mov ecx, edi
mov dword [ebp - 0x14], edi
call dword [eax + 0x188]
test eax, eax
je 0x42b19a
push 0x53c598
mov ecx, edi
call fcn.00410dae
test eax, eax
jne 0x42b19a
mov ecx, edi
mov eax, dword [ecx]
push 0
push 3
sub esp, 0x10
lea esi, [ecx + 0x1b8]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [eax + 0x1d4]
xor esi, esi
cmp dword [ebp - 0x10], esi
jne 0x42b14c
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x42b1ec
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x48]
call fcn.00404b32
mov edi, dword [eax]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x188]
test eax, eax
je 0x42b1e7
push 0x5705c8
mov ecx, edi
call fcn.00410dae
test eax, eax
jne 0x42b1e7
mov eax, dword [edi]
push ebx
mov ecx, edi
call dword [eax + 0x294]
mov ecx, edi
call fcn.0044dfb4
cmp dword [ebp - 0x10], esi
jne 0x42b1a9
mov eax, dword [ebx + 0x5c]
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x42b46e
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x58]
call fcn.00404b32
mov esi, dword [eax]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x144]
test eax, eax
je 0x42b271
push dword [esi + 0x20]
mov edi, dword [sym.imp.USER32.dll_GetParent]
call edi
push eax
call fcn.0040ccfe
push dword [eax + 0x20]
call edi
push eax
call fcn.0040ccfe
push dword [ebx + 0xe4]
mov ecx, esi
mov edi, eax
call fcn.00419797
mov eax, dword [edi]
push esi
mov ecx, edi
call dword [eax + 0x3a0]
push 0x5705c8
mov ecx, esi
call fcn.00410dae
test eax, eax
je 0x42b268
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 0x1c8]
push 5
mov ecx, esi
call fcn.00410386
mov eax, dword [esi]
xor edi, edi
push edi
mov ecx, esi
call dword [eax + 0x200]
cmp eax, edi
je 0x42b28f
mov edx, dword [eax]
push edi
push edi
push esi
mov ecx, eax
call dword [edx + 0x154]
push dword [ebx + 0xe4]
mov ecx, esi
call fcn.00419797
push 0x5705c8
mov ecx, esi
call fcn.00410dae
test eax, eax
je 0x42b464
push esi
push 0x5705c8
call fcn.00410dcc
lea esi, [eax + 0x268]
lea edi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edx, dword [eax]
pop ecx
pop ecx
movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x24]
push 0
push 0x34
push ecx
mov ecx, dword [ebp - 0x20]
sub ecx, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
push ecx
push dword [ebp - 0x24]
mov ecx, eax
push dword [ebp - 0x28]
push 0
call dword [edx + 0x210]
mov esi, dword [ebp - 0x14]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x184]
xor ecx, ecx
test eax, eax
setne cl
mov dword [ebp - 0x18], eax
push ecx
mov ecx, esi
call fcn.00410386
mov ecx, esi
call fcn.00484693
mov esi, eax
test esi, esi
je 0x42b348
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
mov eax, dword [esi]
mov ecx, esi
add edi, 0x1b8
call dword [eax + 0x16c]
mov ecx, dword [ebp - 0x14]
push eax
call dword [edi]
push dword [ebp - 0x18]
mov eax, dword [esi]
push dword [ebp - 0x14]
mov ecx, esi
call dword [eax + 0x26c]
mov ecx, dword [ebp - 0x14]
push 0x53c598
call fcn.00410dae
test eax, eax
je 0x42b464
and dword [ebp - 0x2c], 0
test esi, esi
je 0x42b464
lea eax, [ebp - 0x2c]
push eax
push dword [ebp - 0x14]
mov ecx, esi
call fcn.004759c4
push dword [ebp - 0x14]
mov ecx, eax
call fcn.004a4bfc
test eax, eax
je 0x42b43c
mov edi, dword [eax + 4]
jmp 0x42b434
mov edx, dword [ebx]
mov eax, edi
mov eax, dword [eax + 8]
mov edi, dword [edi]
push 1
push eax
mov ecx, ebx
call dword [edx + 0x24]
push eax
push 0x5705c8
call fcn.00410dcc
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x42b434
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x144]
test eax, eax
je 0x42b3ff
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.0040ccfe
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.0040ccfe
push dword [ebx + 0xe4]
mov ecx, esi
mov dword [ebp - 0x18], eax
call fcn.00419797
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx]
push esi
call dword [eax + 0x3a0]
jmp 0x42b422
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1b4]
test eax, eax
je 0x42b422
mov eax, dword [esi]
push 1
push 0
push 0xf000
push 0
mov ecx, esi
call dword [eax + 0x344]
mov edx, dword [esi]
xor eax, eax
push eax
push eax
push eax
push dword [ebp - 0x14]
mov ecx, esi
call dword [edx + 0x328]
test edi, edi
jne 0x42b391
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx]
call dword [eax + 0x384]
test eax, eax
je 0x42b464
mov esi, dword [ebp - 0x14]
mov eax, dword [esi]
push 0
mov ecx, esi
call dword [eax + 0x3b4]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1e8]
cmp dword [ebp - 0x10], 0
jne 0x42b1fa
lea eax, [ebx + 0x58]
lea ecx, [ebx + 0x20]
push eax
call fcn.0047042d
and dword [0x576a40], 0
mov eax, dword [ebx]
push 0
mov ecx, ebx
call dword [eax + 0x38]
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x42b5ce
mov edi, dword [ebp - 0x10]
mov eax, dword [edi]
push 1
push dword [edi + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x24]
push eax
push 0x5705c8
call fcn.00410dcc
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x42b5c4
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x148]
mov ecx, esi
test eax, eax
jne 0x42b54b
mov eax, dword [esi]
call dword [eax + 0x1b4]
test eax, eax
mov eax, dword [esi]
mov ecx, esi
je 0x42b4f9
push 1
push 0
push 0xf000
push 0
call dword [eax + 0x344]
jmp 0x42b55f
call dword [eax + 0x144]
test eax, eax
je 0x42b549
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.0040ccfe
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.0040ccfe
push dword [ebx + 0xe4]
mov ecx, esi
mov dword [ebp - 0x18], eax
call fcn.00419797
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx]
push esi
call dword [eax + 0x3a0]
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 0x1c8]
mov ecx, esi
mov edx, dword [esi]
xor eax, eax
push eax
push 0xffffffffffffffff
push eax
push 1
push eax
push dword [edi + 0xc]
call dword [edx + 0x1d8]
mov ecx, dword [edi + 0x20]
sub ecx, dword [edi + 0x18]
mov eax, dword [esi]
push 0
push 0x14
push ecx
mov ecx, dword [edi + 0x1c]
sub ecx, dword [edi + 0x14]
push ecx
push dword [edi + 0x18]
mov ecx, esi
push dword [edi + 0x14]
push 0
call dword [eax + 0x210]
mov eax, dword [esi]
push 0
push 0
push dword [edi + 0xc]
mov ecx, esi
push 1
call dword [eax + 0x344]
test eax, eax
je 0x42b5c4
mov ecx, dword [edi + 0x48]
mov dword [eax + 0xec], ecx
mov ecx, dword [edi + 0x40]
mov dword [eax + 0xe4], ecx
mov ecx, dword [edi + 0x44]
mov dword [eax + 0xe8], ecx
mov dword [edi + 0x4c], esi
mov edi, dword [edi + 0x10]
mov esi, dword [esi + 0x2fc]
mov dword [esi + 0x58], edi
cmp dword [ebp - 0x10], 0
jne 0x42b49b
mov edi, dword [ebx + 0xb0]
jmp 0x42b601
mov esi, edi
cmp dword [esi + 0x4c], 0
mov edi, dword [edi]
je 0x42b601
mov ecx, dword [esi + 0x4c]
mov eax, dword [ecx]
call dword [eax + 0x348]
test eax, eax
je 0x42b601
mov ecx, dword [esi + 0x4c]
mov eax, dword [ecx]
push 0
push 0
push dword [esi + 0x10]
call dword [eax + 0x1fc]
test edi, edi
jne 0x42b5d6
mov eax, dword [ebx + 0x78]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x42b641
lea esi, [ebx + 0x74]
lea eax, [ebp - 0x10]
push eax
mov ecx, esi
call fcn.00404b32
push dword [eax]
push 0x53c598
call fcn.00410dcc
pop ecx
pop ecx
test eax, eax
je 0x42b63b
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx + 0x3b4]
cmp dword [ebp - 0x10], 0
jne 0x42b612
push 0xa
lea ecx, [ebp - 0x64]
call fcn.0047036f
lea eax, [ebx + 0x20]
push eax
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 3
call fcn.0047042d
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x42b6d8
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x64]
call fcn.0041059f
mov esi, dword [eax]
push esi
push 0x536078
call fcn.00410dcc
pop ecx
pop ecx
test eax, eax
je 0x42b690
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x278]
jmp 0x42b6d2
push esi
push 0x53c598
call fcn.00410dcc
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x42b6d2
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x384]
test eax, eax
jne 0x42b6d2
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1a4]
test eax, eax
je 0x42b6d2
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 0x218]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x60]
cmp dword [ebp - 0x10], 0
jne 0x42b665
mov eax, dword [ebx]
push 1
mov ecx, ebx
call dword [eax + 0x34]
lea ecx, [ebx + 0x58]
call fcn.00470263
lea ecx, [ebx + 0x90]
call fcn.00470263
lea ecx, [ebx + 0x74]
call fcn.00470263
and dword [0x576a3c], 0
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 2
call fcn.00470397
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 1
call fcn.00470397
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0
call fcn.00470397
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x9c]
call fcn.00470397
call fcn.00500fb2
ret