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

Disassembly:
push 0x90
mov eax, 0x52d469
call fcn.00513eeb
mov ebx, ecx
xor esi, esi
cmp dword [ebx + 0x15c], esi
jne 0x440ba7
cmp dword [ebx + 0x160], esi
jne 0x440ba7
cmp dword [ebx + 0x64], esi
jne 0x440319
cmp dword [ebx + 0x9c], esi
jne 0x440319
cmp dword [ebx + 0x80], esi
jne 0x440319
cmp dword [ebx + 0xb8], esi
jne 0x440319
cmp dword [ebx + 0x2c], esi
je 0x440ba7
xor eax, eax
inc eax
push 0xa
lea ecx, [ebp - 0x9c]
mov dword [0x58aea4], eax
mov dword [0x58aea8], eax
call fcn.0047fd5b
mov eax, dword [ebx + 0x40]
mov dword [ebp - 4], esi
mov dword [ebp - 0x10], eax
mov edi, 0x5827b8
cmp eax, esi
je 0x44039a
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x3c]
call fcn.0041edf4
push dword [eax]
push 0x549788
call fcn.004253fa
pop ecx
pop ecx
cmp eax, esi
je 0x440395
mov ecx, eax
call fcn.0048862c
push eax
push edi
call fcn.004253fa
pop ecx
pop ecx
cmp eax, esi
je 0x440395
mov ecx, dword [eax + 0x2fc]
cmp ecx, esi
je 0x440395
cmp dword [ecx + 0xe4], esi
je 0x440395
push eax
lea ecx, [ebp - 0x9c]
call fcn.00428990
cmp dword [ebp - 0x10], esi
jne 0x440345
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x4403d8
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x9c]
call fcn.0041edf4
push dword [eax]
push edi
call fcn.004253fa
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 0x4403a7
mov eax, dword [ebx + 0x5c]
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x44040e
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x58]
call fcn.0041edf4
push dword [eax]
push edi
call fcn.004253fa
pop ecx
pop ecx
cmp eax, esi
je 0x440409
push dword [eax + 0x320]
mov ecx, eax
call fcn.004995f1
cmp dword [ebp - 0x10], esi
jne 0x4403e2
push 0xa
lea ecx, [ebp - 0x80]
call fcn.0047fd5b
lea eax, [ebx + 0x90]
push eax
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 1
call fcn.0047fd8e
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x44046f
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x80]
call fcn.0041edf4
push dword [eax]
push 0x582020
call fcn.004253fa
pop ecx
pop ecx
push 0x37
push esi
push esi
push esi
mov edi, eax
push esi
push esi
mov ecx, edi
call fcn.0041cbf6
mov eax, dword [edi]
push ebx
mov ecx, edi
call dword [eax + 0x1b4]
cmp dword [ebp - 0x10], esi
jne 0x440435
push 0xa
lea ecx, [ebp - 0x48]
call fcn.0047fd5b
mov eax, dword [ebx + 0x24]
mov byte [ebp - 4], 2
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x44055a
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x20]
call fcn.0041edf4
mov edi, dword [eax]
push 0x54dee8
mov ecx, edi
mov dword [ebp - 0x14], edi
call fcn.004253dc
test eax, eax
je 0x4404cc
push edi
push 0x54dee8
call fcn.004253fa
pop ecx
pop ecx
add eax, 0xe0
push eax
lea ecx, [ebp - 0x48]
call fcn.0047fd8e
jmp 0x440551
push 0x544238
mov ecx, edi
call fcn.004253dc
test eax, eax
je 0x440551
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x1a4]
test eax, eax
je 0x4404f5
push edi
lea ecx, [ebp - 0x48]
call fcn.00428990
jmp 0x440551
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x188]
test eax, eax
je 0x440551
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 0x44048b
mov eax, dword [ebx + 0xcc]
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x4405b3
lea edi, [ebx + 0xc8]
lea eax, [ebp - 0x10]
push eax
mov ecx, edi
call fcn.0041edf4
push dword [eax]
push 0x582020
call fcn.004253fa
pop ecx
pop ecx
cmp eax, esi
je 0x4405ae
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x180]
push eax
push 0x54d8ac
call fcn.004253fa
pop ecx
pop ecx
cmp eax, esi
je 0x4405ae
push eax
lea ecx, [ebp - 0x48]
call fcn.00428990
cmp dword [ebp - 0x10], esi
jne 0x44056d
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x440613
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x48]
call fcn.0041edf4
mov edi, dword [eax]
mov eax, dword [edi]
mov ecx, edi
mov dword [ebp - 0x14], edi
call dword [eax + 0x188]
test eax, eax
je 0x44060b
push 0x54f310
mov ecx, edi
call fcn.004253dc
test eax, eax
jne 0x44060b
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 0x4405bd
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x44065d
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x48]
call fcn.0041edf4
mov edi, dword [eax]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x188]
test eax, eax
je 0x440658
push 0x5827b8
mov ecx, edi
call fcn.004253dc
test eax, eax
jne 0x440658
mov eax, dword [edi]
push ebx
mov ecx, edi
call dword [eax + 0x294]
mov ecx, edi
call fcn.0045e021
cmp dword [ebp - 0x10], esi
jne 0x44061a
mov eax, dword [ebx + 0x5c]
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x4408df
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x58]
call fcn.0041edf4
mov esi, dword [eax]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x144]
test eax, eax
je 0x4406e2
push dword [esi + 0x20]
mov edi, dword [sym.imp.USER32.dll_GetParent]
call edi
push eax
call fcn.00418c3f
push dword [eax + 0x20]
call edi
push eax
call fcn.00418c3f
push dword [ebx + 0xe4]
mov ecx, esi
mov edi, eax
call fcn.0042eaee
mov eax, dword [edi]
push esi
mov ecx, edi
call dword [eax + 0x3a0]
push 0x5827b8
mov ecx, esi
call fcn.004253dc
test eax, eax
je 0x4406d9
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 0x1c8]
push 5
mov ecx, esi
call fcn.0041c97f
mov eax, dword [esi]
xor edi, edi
push edi
mov ecx, esi
call dword [eax + 0x200]
cmp eax, edi
je 0x440700
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.0042eaee
push 0x5827b8
mov ecx, esi
call fcn.004253dc
test eax, eax
je 0x4408d5
push esi
push 0x5827b8
call fcn.004253fa
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.0041c97f
mov ecx, esi
call fcn.00497393
mov esi, eax
test esi, esi
je 0x4407b9
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 0x54f310
call fcn.004253dc
test eax, eax
je 0x4408d5
and dword [ebp - 0x2c], 0
test esi, esi
je 0x4408d5
lea eax, [ebp - 0x2c]
push eax
push dword [ebp - 0x14]
mov ecx, esi
call fcn.00488743
push dword [ebp - 0x14]
mov ecx, eax
call fcn.004b7334
test eax, eax
je 0x4408ad
mov edi, dword [eax + 4]
jmp 0x4408a5
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 0x5827b8
call fcn.004253fa
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x4408a5
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x144]
test eax, eax
je 0x440870
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.00418c3f
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.00418c3f
push dword [ebx + 0xe4]
mov ecx, esi
mov dword [ebp - 0x18], eax
call fcn.0042eaee
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx]
push esi
call dword [eax + 0x3a0]
jmp 0x440893
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1b4]
test eax, eax
je 0x440893
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 0x440802
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx]
call dword [eax + 0x384]
test eax, eax
je 0x4408d5
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 0x44066b
lea eax, [ebx + 0x58]
lea ecx, [ebx + 0x20]
push eax
call fcn.0047fd8e
and dword [0x58aea8], 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 0x440a3f
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 0x5827b8
call fcn.004253fa
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x440a35
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x148]
mov ecx, esi
test eax, eax
jne 0x4409bc
mov eax, dword [esi]
call dword [eax + 0x1b4]
test eax, eax
mov eax, dword [esi]
mov ecx, esi
je 0x44096a
push 1
push 0
push 0xf000
push 0
call dword [eax + 0x344]
jmp 0x4409d0
call dword [eax + 0x144]
test eax, eax
je 0x4409ba
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.00418c3f
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.00418c3f
push dword [ebx + 0xe4]
mov ecx, esi
mov dword [ebp - 0x18], eax
call fcn.0042eaee
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 0x440a35
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 0x44090c
mov edi, dword [ebx + 0xb0]
jmp 0x440a72
mov esi, edi
cmp dword [esi + 0x4c], 0
mov edi, dword [edi]
je 0x440a72
mov ecx, dword [esi + 0x4c]
mov eax, dword [ecx]
call dword [eax + 0x348]
test eax, eax
je 0x440a72
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 0x440a47
mov eax, dword [ebx + 0x78]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x440ab2
lea esi, [ebx + 0x74]
lea eax, [ebp - 0x10]
push eax
mov ecx, esi
call fcn.0041edf4
push dword [eax]
push 0x54f310
call fcn.004253fa
pop ecx
pop ecx
test eax, eax
je 0x440aac
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx + 0x3b4]
cmp dword [ebp - 0x10], 0
jne 0x440a83
push 0xa
lea ecx, [ebp - 0x64]
call fcn.0047fd5b
lea eax, [ebx + 0x20]
push eax
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 3
call fcn.0047fd8e
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x440b49
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x64]
call fcn.0041cb9c
mov esi, dword [eax]
push esi
push 0x549788
call fcn.004253fa
pop ecx
pop ecx
test eax, eax
je 0x440b01
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x278]
jmp 0x440b43
push esi
push 0x54f310
call fcn.004253fa
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x440b43
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x384]
test eax, eax
jne 0x440b43
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1a4]
test eax, eax
je 0x440b43
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 0x440ad6
mov eax, dword [ebx]
push 1
mov ecx, ebx
call dword [eax + 0x34]
lea ecx, [ebx + 0x58]
call fcn.00428886
lea ecx, [ebx + 0x90]
call fcn.00428886
lea ecx, [ebx + 0x74]
call fcn.00428886
and dword [0x58aea4], 0
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 2
call fcn.0047fd83
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 1
call fcn.0047fd83
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0
call fcn.0047fd83
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x9c]
call fcn.0047fd83
call fcn.00513fc3
ret