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

Disassembly:
push 0x90
mov eax, 0x51bc4a
call fcn.005017b0
mov ebx, ecx
xor esi, esi
cmp dword [ebx + 0x15c], esi
jne 0x42b41a
cmp dword [ebx + 0x160], esi
jne 0x42b41a
cmp dword [ebx + 0x64], esi
jne 0x42ab8c
cmp dword [ebx + 0x9c], esi
jne 0x42ab8c
cmp dword [ebx + 0x80], esi
jne 0x42ab8c
cmp dword [ebx + 0xb8], esi
jne 0x42ab8c
cmp dword [ebx + 0x2c], esi
je 0x42b41a
xor eax, eax
inc eax
push 0xa
lea ecx, [ebp - 0x9c]
mov dword [0x576a1c], eax
mov dword [0x576a20], eax
call fcn.0047099a
mov eax, dword [ebx + 0x40]
mov dword [ebp - 4], esi
mov dword [ebp - 0x10], eax
mov edi, 0x5705c8
cmp eax, esi
je 0x42ac0d
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x3c]
call fcn.0046aa20
push dword [eax]
push 0x536088
call fcn.0041201a
pop ecx
pop ecx
cmp eax, esi
je 0x42ac08
mov ecx, eax
call fcn.0047603a
push eax
push edi
call fcn.0041201a
pop ecx
pop ecx
cmp eax, esi
je 0x42ac08
mov ecx, dword [eax + 0x2fc]
cmp ecx, esi
je 0x42ac08
cmp dword [ecx + 0xe4], esi
je 0x42ac08
push eax
lea ecx, [ebp - 0x9c]
call fcn.00441cad
cmp dword [ebp - 0x10], esi
jne 0x42abb8
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x42ac4b
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x9c]
call fcn.0046aa20
push dword [eax]
push edi
call fcn.0041201a
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 0x42ac1a
mov eax, dword [ebx + 0x5c]
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x42ac81
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x58]
call fcn.0046aa20
push dword [eax]
push edi
call fcn.0041201a
pop ecx
pop ecx
cmp eax, esi
je 0x42ac7c
push dword [eax + 0x320]
mov ecx, eax
call fcn.004870a6
cmp dword [ebp - 0x10], esi
jne 0x42ac55
push 0xa
lea ecx, [ebp - 0x80]
call fcn.0047099a
lea eax, [ebx + 0x90]
push eax
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 1
call fcn.004709fc
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x42ace2
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x80]
call fcn.0046aa20
push dword [eax]
push 0x56fe48
call fcn.0041201a
pop ecx
pop ecx
push 0x37
push esi
push esi
push esi
mov edi, eax
push esi
push esi
mov ecx, edi
call fcn.00411847
mov eax, dword [edi]
push ebx
mov ecx, edi
call dword [eax + 0x1b4]
cmp dword [ebp - 0x10], esi
jne 0x42aca8
push 0xa
lea ecx, [ebp - 0x48]
call fcn.0047099a
mov eax, dword [ebx + 0x24]
mov byte [ebp - 4], 2
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x42adcd
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x20]
call fcn.0046aa20
mov edi, dword [eax]
push 0x53b0b8
mov ecx, edi
mov dword [ebp - 0x14], edi
call fcn.00411ffc
test eax, eax
je 0x42ad3f
push edi
push 0x53b0b8
call fcn.0041201a
pop ecx
pop ecx
add eax, 0xe0
push eax
lea ecx, [ebp - 0x48]
call fcn.004709fc
jmp 0x42adc4
push 0x52f614
mov ecx, edi
call fcn.00411ffc
test eax, eax
je 0x42adc4
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x1a4]
test eax, eax
je 0x42ad68
push edi
lea ecx, [ebp - 0x48]
call fcn.00441cad
jmp 0x42adc4
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x188]
test eax, eax
je 0x42adc4
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 0x42acfe
mov eax, dword [ebx + 0xcc]
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x42ae26
lea edi, [ebx + 0xc8]
lea eax, [ebp - 0x10]
push eax
mov ecx, edi
call fcn.0046aa20
push dword [eax]
push 0x56fe48
call fcn.0041201a
pop ecx
pop ecx
cmp eax, esi
je 0x42ae21
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x180]
push eax
push 0x53aa7c
call fcn.0041201a
pop ecx
pop ecx
cmp eax, esi
je 0x42ae21
push eax
lea ecx, [ebp - 0x48]
call fcn.00441cad
cmp dword [ebp - 0x10], esi
jne 0x42ade0
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x42ae86
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x48]
call fcn.0046aa20
mov edi, dword [eax]
mov eax, dword [edi]
mov ecx, edi
mov dword [ebp - 0x14], edi
call dword [eax + 0x188]
test eax, eax
je 0x42ae7e
push 0x53c5b0
mov ecx, edi
call fcn.00411ffc
test eax, eax
jne 0x42ae7e
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 0x42ae30
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x42aed0
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x48]
call fcn.0046aa20
mov edi, dword [eax]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x188]
test eax, eax
je 0x42aecb
push 0x5705c8
mov ecx, edi
call fcn.00411ffc
test eax, eax
jne 0x42aecb
mov eax, dword [edi]
push ebx
mov ecx, edi
call dword [eax + 0x294]
mov ecx, edi
call fcn.0044e387
cmp dword [ebp - 0x10], esi
jne 0x42ae8d
mov eax, dword [ebx + 0x5c]
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x42b152
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x58]
call fcn.0046aa20
mov esi, dword [eax]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x144]
test eax, eax
je 0x42af55
push dword [esi + 0x20]
mov edi, dword [sym.imp.USER32.dll_GetParent]
call edi
push eax
call fcn.0040df89
push dword [eax + 0x20]
call edi
push eax
call fcn.0040df89
push dword [ebx + 0xe4]
mov ecx, esi
mov edi, eax
call fcn.00419475
mov eax, dword [edi]
push esi
mov ecx, edi
call dword [eax + 0x3a0]
push 0x5705c8
mov ecx, esi
call fcn.00411ffc
test eax, eax
je 0x42af4c
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 0x1c8]
push 5
mov ecx, esi
call fcn.00411611
mov eax, dword [esi]
xor edi, edi
push edi
mov ecx, esi
call dword [eax + 0x200]
cmp eax, edi
je 0x42af73
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.00419475
push 0x5705c8
mov ecx, esi
call fcn.00411ffc
test eax, eax
je 0x42b148
push esi
push 0x5705c8
call fcn.0041201a
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.00411611
mov ecx, esi
call fcn.00484e48
mov esi, eax
test esi, esi
je 0x42b02c
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 0x53c5b0
call fcn.00411ffc
test eax, eax
je 0x42b148
and dword [ebp - 0x2c], 0
test esi, esi
je 0x42b148
lea eax, [ebp - 0x2c]
push eax
push dword [ebp - 0x14]
mov ecx, esi
call fcn.00476151
push dword [ebp - 0x14]
mov ecx, eax
call fcn.004a541c
test eax, eax
je 0x42b120
mov edi, dword [eax + 4]
jmp 0x42b118
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.0041201a
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x42b118
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x144]
test eax, eax
je 0x42b0e3
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.0040df89
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.0040df89
push dword [ebx + 0xe4]
mov ecx, esi
mov dword [ebp - 0x18], eax
call fcn.00419475
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx]
push esi
call dword [eax + 0x3a0]
jmp 0x42b106
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1b4]
test eax, eax
je 0x42b106
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 0x42b075
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx]
call dword [eax + 0x384]
test eax, eax
je 0x42b148
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 0x42aede
lea eax, [ebx + 0x58]
lea ecx, [ebx + 0x20]
push eax
call fcn.004709fc
and dword [0x576a20], 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 0x42b2b2
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.0041201a
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x42b2a8
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x148]
mov ecx, esi
test eax, eax
jne 0x42b22f
mov eax, dword [esi]
call dword [eax + 0x1b4]
test eax, eax
mov eax, dword [esi]
mov ecx, esi
je 0x42b1dd
push 1
push 0
push 0xf000
push 0
call dword [eax + 0x344]
jmp 0x42b243
call dword [eax + 0x144]
test eax, eax
je 0x42b22d
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.0040df89
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.0040df89
push dword [ebx + 0xe4]
mov ecx, esi
mov dword [ebp - 0x18], eax
call fcn.00419475
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 0x42b2a8
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 0x42b17f
mov edi, dword [ebx + 0xb0]
jmp 0x42b2e5
mov esi, edi
cmp dword [esi + 0x4c], 0
mov edi, dword [edi]
je 0x42b2e5
mov ecx, dword [esi + 0x4c]
mov eax, dword [ecx]
call dword [eax + 0x348]
test eax, eax
je 0x42b2e5
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 0x42b2ba
mov eax, dword [ebx + 0x78]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x42b325
lea esi, [ebx + 0x74]
lea eax, [ebp - 0x10]
push eax
mov ecx, esi
call fcn.0046aa20
push dword [eax]
push 0x53c5b0
call fcn.0041201a
pop ecx
pop ecx
test eax, eax
je 0x42b31f
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx + 0x3b4]
cmp dword [ebp - 0x10], 0
jne 0x42b2f6
push 0xa
lea ecx, [ebp - 0x64]
call fcn.0047099a
lea eax, [ebx + 0x20]
push eax
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 3
call fcn.004709fc
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x42b3bc
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x64]
call fcn.0041716c
mov esi, dword [eax]
push esi
push 0x536088
call fcn.0041201a
pop ecx
pop ecx
test eax, eax
je 0x42b374
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x278]
jmp 0x42b3b6
push esi
push 0x53c5b0
call fcn.0041201a
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x42b3b6
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x384]
test eax, eax
jne 0x42b3b6
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1a4]
test eax, eax
je 0x42b3b6
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 0x42b349
mov eax, dword [ebx]
push 1
mov ecx, ebx
call dword [eax + 0x34]
lea ecx, [ebx + 0x58]
call fcn.004708b5
lea ecx, [ebx + 0x90]
call fcn.004708b5
lea ecx, [ebx + 0x74]
call fcn.004708b5
and dword [0x576a1c], 0
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 2
call fcn.004709c2
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 1
call fcn.004709c2
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0
call fcn.004709c2
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x9c]
call fcn.004709c2
call fcn.00501888
ret