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

Disassembly:
push 0x90
mov eax, 0x574df1
call fcn.00555ec1
mov ebx, ecx
xor esi, esi
cmp dword [ebx + 0x15c], esi
jne 0x4a0ad9
cmp dword [ebx + 0x160], esi
jne 0x4a0ad9
cmp dword [ebx + 0x64], esi
jne 0x4a024b
cmp dword [ebx + 0x9c], esi
jne 0x4a024b
cmp dword [ebx + 0x80], esi
jne 0x4a024b
cmp dword [ebx + 0xb8], esi
jne 0x4a024b
cmp dword [ebx + 0x2c], esi
je 0x4a0ad9
xor eax, eax
inc eax
push 0xa
lea ecx, [ebp - 0x9c]
mov dword [0x5ea3d4], eax
mov dword [0x5ea3d8], eax
call fcn.004e47a6
mov eax, dword [ebx + 0x40]
mov dword [ebp - 4], esi
mov dword [ebp - 0x10], eax
mov edi, 0x5e2b58
cmp eax, esi
je 0x4a02cc
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x3c]
call fcn.004f9c95
push dword [eax]
push 0x5971d4
call fcn.004570d2
pop ecx
pop ecx
cmp eax, esi
je 0x4a02c7
mov ecx, eax
call fcn.004e6757
push eax
push edi
call fcn.004570d2
pop ecx
pop ecx
cmp eax, esi
je 0x4a02c7
mov ecx, dword [eax + 0x2fc]
cmp ecx, esi
je 0x4a02c7
cmp dword [ecx + 0xe4], esi
je 0x4a02c7
push eax
lea ecx, [ebp - 0x9c]
call fcn.004e4836
cmp dword [ebp - 0x10], esi
jne 0x4a0277
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x4a030a
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x9c]
call fcn.004f9c95
push dword [eax]
push edi
call fcn.004570d2
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 0x4a02d9
mov eax, dword [ebx + 0x5c]
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x4a0340
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x58]
call fcn.004f9c95
push dword [eax]
push edi
call fcn.004570d2
pop ecx
pop ecx
cmp eax, esi
je 0x4a033b
push dword [eax + 0x320]
mov ecx, eax
call fcn.004f7431
cmp dword [ebp - 0x10], esi
jne 0x4a0314
push 0xa
lea ecx, [ebp - 0x80]
call fcn.004e47a6
lea eax, [ebx + 0x90]
push eax
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 1
call fcn.004e4864
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x4a03a1
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x80]
call fcn.004f9c95
push dword [eax]
push 0x5e1fb0
call fcn.004570d2
pop ecx
pop ecx
push 0x37
push esi
push esi
push esi
mov edi, eax
push esi
push esi
mov ecx, edi
call fcn.0045f0ab
mov eax, dword [edi]
push ebx
mov ecx, edi
call dword [eax + 0x1b4]
cmp dword [ebp - 0x10], esi
jne 0x4a0367
push 0xa
lea ecx, [ebp - 0x48]
call fcn.004e47a6
mov eax, dword [ebx + 0x24]
mov byte [ebp - 4], 2
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x4a048c
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x20]
call fcn.004f9c95
mov edi, dword [eax]
push 0x59adb8
mov ecx, edi
mov dword [ebp - 0x14], edi
call fcn.004570b4
test eax, eax
je 0x4a03fe
push edi
push 0x59adb8
call fcn.004570d2
pop ecx
pop ecx
add eax, 0xe0
push eax
lea ecx, [ebp - 0x48]
call fcn.004e4864
jmp 0x4a0483
push 0x593e38
mov ecx, edi
call fcn.004570b4
test eax, eax
je 0x4a0483
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x1a4]
test eax, eax
je 0x4a0427
push edi
lea ecx, [ebp - 0x48]
call fcn.004e4836
jmp 0x4a0483
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x188]
test eax, eax
je 0x4a0483
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 0x4a03bd
mov eax, dword [ebx + 0xcc]
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x4a04e5
lea edi, [ebx + 0xc8]
lea eax, [ebp - 0x10]
push eax
mov ecx, edi
call fcn.004f9c95
push dword [eax]
push 0x5e1fb0
call fcn.004570d2
pop ecx
pop ecx
cmp eax, esi
je 0x4a04e0
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x180]
push eax
push 0x595b50
call fcn.004570d2
pop ecx
pop ecx
cmp eax, esi
je 0x4a04e0
push eax
lea ecx, [ebp - 0x48]
call fcn.004e4836
cmp dword [ebp - 0x10], esi
jne 0x4a049f
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x4a0545
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x48]
call fcn.004f9c95
mov edi, dword [eax]
mov eax, dword [edi]
mov ecx, edi
mov dword [ebp - 0x14], edi
call dword [eax + 0x188]
test eax, eax
je 0x4a053d
push 0x59ba30
mov ecx, edi
call fcn.004570b4
test eax, eax
jne 0x4a053d
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 0x4a04ef
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x4a058f
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x48]
call fcn.004f9c95
mov edi, dword [eax]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x188]
test eax, eax
je 0x4a058a
push 0x5e2b58
mov ecx, edi
call fcn.004570b4
test eax, eax
jne 0x4a058a
mov eax, dword [edi]
push ebx
mov ecx, edi
call dword [eax + 0x294]
mov ecx, edi
call fcn.004d0ac2
cmp dword [ebp - 0x10], esi
jne 0x4a054c
mov eax, dword [ebx + 0x5c]
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x4a0811
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x58]
call fcn.004f9c95
mov esi, dword [eax]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x144]
test eax, eax
je 0x4a0614
push dword [esi + 0x20]
mov edi, dword [sym.imp.USER32.dll_GetParent]
call edi
push eax
call fcn.0045b5ef
push dword [eax + 0x20]
call edi
push eax
call fcn.0045b5ef
push dword [ebx + 0xe4]
mov ecx, esi
mov edi, eax
call fcn.0043f010
mov eax, dword [edi]
push esi
mov ecx, edi
call dword [eax + 0x3a0]
push 0x5e2b58
mov ecx, esi
call fcn.004570b4
test eax, eax
je 0x4a060b
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 0x1c8]
push 5
mov ecx, esi
call fcn.0045ee38
mov eax, dword [esi]
xor edi, edi
push edi
mov ecx, esi
call dword [eax + 0x200]
cmp eax, edi
je 0x4a0632
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.0043f010
push 0x5e2b58
mov ecx, esi
call fcn.004570b4
test eax, eax
je 0x4a0807
push esi
push 0x5e2b58
call fcn.004570d2
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.0045ee38
mov ecx, esi
call fcn.004f5200
mov esi, eax
test esi, esi
je 0x4a06eb
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 0x59ba30
call fcn.004570b4
test eax, eax
je 0x4a0807
and dword [ebp - 0x2c], 0
test esi, esi
je 0x4a0807
lea eax, [ebp - 0x2c]
push eax
push dword [ebp - 0x14]
mov ecx, esi
call fcn.004e686e
push dword [ebp - 0x14]
mov ecx, eax
call fcn.0050bd47
test eax, eax
je 0x4a07df
mov edi, dword [eax + 4]
jmp 0x4a07d7
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 0x5e2b58
call fcn.004570d2
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x4a07d7
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x144]
test eax, eax
je 0x4a07a2
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.0045b5ef
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.0045b5ef
push dword [ebx + 0xe4]
mov ecx, esi
mov dword [ebp - 0x18], eax
call fcn.0043f010
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx]
push esi
call dword [eax + 0x3a0]
jmp 0x4a07c5
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1b4]
test eax, eax
je 0x4a07c5
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 0x4a0734
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx]
call dword [eax + 0x384]
test eax, eax
je 0x4a0807
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 0x4a059d
lea eax, [ebx + 0x58]
lea ecx, [ebx + 0x20]
push eax
call fcn.004e4864
and dword [0x5ea3d8], 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 0x4a0971
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 0x5e2b58
call fcn.004570d2
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x4a0967
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x148]
mov ecx, esi
test eax, eax
jne 0x4a08ee
mov eax, dword [esi]
call dword [eax + 0x1b4]
test eax, eax
mov eax, dword [esi]
mov ecx, esi
je 0x4a089c
push 1
push 0
push 0xf000
push 0
call dword [eax + 0x344]
jmp 0x4a0902
call dword [eax + 0x144]
test eax, eax
je 0x4a08ec
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.0045b5ef
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.0045b5ef
push dword [ebx + 0xe4]
mov ecx, esi
mov dword [ebp - 0x18], eax
call fcn.0043f010
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 0x4a0967
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 0x4a083e
mov edi, dword [ebx + 0xb0]
jmp 0x4a09a4
mov esi, edi
cmp dword [esi + 0x4c], 0
mov edi, dword [edi]
je 0x4a09a4
mov ecx, dword [esi + 0x4c]
mov eax, dword [ecx]
call dword [eax + 0x348]
test eax, eax
je 0x4a09a4
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 0x4a0979
mov eax, dword [ebx + 0x78]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x4a09e4
lea esi, [ebx + 0x74]
lea eax, [ebp - 0x10]
push eax
mov ecx, esi
call fcn.004f9c95
push dword [eax]
push 0x59ba30
call fcn.004570d2
pop ecx
pop ecx
test eax, eax
je 0x4a09de
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx + 0x3b4]
cmp dword [ebp - 0x10], 0
jne 0x4a09b5
push 0xa
lea ecx, [ebp - 0x64]
call fcn.004e47a6
lea eax, [ebx + 0x20]
push eax
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 3
call fcn.004e4864
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x4a0a7b
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x64]
call fcn.0045f051
mov esi, dword [eax]
push esi
push 0x5971d4
call fcn.004570d2
pop ecx
pop ecx
test eax, eax
je 0x4a0a33
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x278]
jmp 0x4a0a75
push esi
push 0x59ba30
call fcn.004570d2
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x4a0a75
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x384]
test eax, eax
jne 0x4a0a75
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1a4]
test eax, eax
je 0x4a0a75
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 0x4a0a08
mov eax, dword [ebx]
push 1
mov ecx, ebx
call dword [eax + 0x34]
lea ecx, [ebx + 0x58]
call fcn.004e4706
lea ecx, [ebx + 0x90]
call fcn.004e4706
lea ecx, [ebx + 0x74]
call fcn.004e4706
and dword [0x5ea3d4], 0
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 2
call fcn.004e47ce
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 1
call fcn.004e47ce
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0
call fcn.004e47ce
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x9c]
call fcn.004e47ce
call fcn.00555f99
ret