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

Disassembly:
push 0x90
mov eax, 0x578c2a
call fcn.00550d32
mov ebx, ecx
mov dword [ebp - 0x18], ebx
xor edi, edi
cmp dword [ebx + 0x15c], edi
jne 0x4caa25
cmp dword [ebx + 0x160], edi
jne 0x4caa25
cmp dword [ebx + 0x64], edi
jne 0x4ca1a8
cmp dword [ebx + 0x9c], edi
jne 0x4ca1a8
cmp dword [ebx + 0x80], edi
jne 0x4ca1a8
cmp dword [ebx + 0xb8], edi
jne 0x4ca1a8
cmp dword [ebx + 0x2c], edi
je 0x4caa25
xor eax, eax
lea ecx, [ebp - 0x9c]
inc eax
push 0xa
mov dword [0x5da8c4], eax
mov dword [0x5da8cc], eax
call fcn.0044f755
mov eax, dword [ebx + 0x40]
mov dword [ebp - 4], edi
mov dword [ebp - 0x10], eax
test eax, eax
je 0x4ca229
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x3c]
call fcn.00450273
push dword [eax]
push 0x5a0130
call fcn.00437a50
pop ecx
pop ecx
test eax, eax
je 0x4ca223
mov ecx, eax
call fcn.005343cd
push eax
push 0x5d1a44
call fcn.00437a50
pop ecx
pop ecx
test eax, eax
je 0x4ca223
mov ecx, dword [eax + 0x330]
test ecx, ecx
je 0x4ca223
cmp dword [ecx + 0x114], edi
je 0x4ca223
push eax
lea ecx, [ebp - 0x9c]
call fcn.00448cbb
cmp dword [ebp - 0x10], 0
jne 0x4ca1cf
mov esi, dword [ebp - 0x98]
jmp 0x4ca25f
mov eax, esi
test esi, esi
je 0x4ca2c0
push dword [eax + 8]
mov esi, dword [esi]
push 0x5d1a44
call fcn.00437a50
pop ecx
pop ecx
push 1
mov edx, dword [eax]
mov ecx, eax
push edi
push 0xf000
push edi
call dword [edx + 0x368]
test esi, esi
jne 0x4ca231
mov eax, dword [ebx + 0x5c]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x4ca29e
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x58]
call fcn.00450273
push dword [eax]
push 0x5d1a44
call fcn.00437a50
pop ecx
pop ecx
test eax, eax
je 0x4ca298
push dword [eax + 0x354]
mov ecx, eax
call fcn.0050a2e7
cmp dword [ebp - 0x10], 0
jne 0x4ca26d
push 0xa
lea ecx, [ebp - 0x80]
call fcn.0044f755
lea eax, [ebx + 0x90]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x80]
call fcn.0044f81d
mov edi, dword [ebp - 0x7c]
jmp 0x4ca2f9
call fcn.00427961
mov eax, edi
test edi, edi
je 0x4ca2c0
push dword [eax + 8]
mov edi, dword [edi]
push 0x5d1784
call fcn.00437a50
pop ecx
pop ecx
push 0x37
mov esi, eax
xor eax, eax
push eax
push eax
push eax
push eax
push eax
mov ecx, esi
call fcn.00434ca8
mov edx, dword [esi]
mov ecx, esi
push ebx
call dword [edx + 0x1dc]
test edi, edi
jne 0x4ca2c5
push 0xa
lea ecx, [ebp - 0x48]
call fcn.0044f755
mov eax, dword [ebx + 0x24]
mov byte [ebp - 4], 2
mov dword [ebp - 0x10], eax
test eax, eax
je 0x4ca3ed
lea eax, [ebx + 0x20]
mov ebx, eax
lea eax, [ebp - 0x10]
mov ecx, ebx
push eax
call fcn.00450273
push 0x594e18
mov esi, dword [eax]
mov ecx, esi
mov dword [ebp - 0x14], esi
call fcn.00437ae6
test eax, eax
je 0x4ca35e
push esi
push 0x594e18
call fcn.00437a50
pop ecx
pop ecx
add eax, 0x110
lea ecx, [ebp - 0x48]
push eax
call fcn.0044f81d
jmp 0x4ca3e0
push 0x58947c
mov ecx, esi
call fcn.00437ae6
test eax, eax
je 0x4ca3e0
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1cc]
test eax, eax
je 0x4ca387
push esi
lea ecx, [ebp - 0x48]
call fcn.00448cbb
jmp 0x4ca3e0
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1b0]
test eax, eax
je 0x4ca3e0
add esi, 0x298
lea edi, [ebp - 0x2c]
push 0
push 0x34
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x28]
mov edi, dword [ebp - 0x14]
mov ecx, edi
push eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x2c]
mov edx, dword [edi]
push eax
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push 0
call dword [edx + 0x238]
mov esi, dword [edi]
mov ecx, edi
push 0
push 1
call dword [esi + 0x1ac]
push eax
mov ecx, edi
call dword [esi + 0x224]
cmp dword [ebp - 0x10], 0
jne 0x4ca31e
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebx + 0xcc]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x4ca445
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0xc8]
call fcn.00450273
push dword [eax]
push 0x5d1784
call fcn.00437a50
pop ecx
pop ecx
test eax, eax
je 0x4ca43f
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x1a8]
push eax
push 0x58a01c
call fcn.00437a50
pop ecx
pop ecx
test eax, eax
je 0x4ca43f
push eax
lea ecx, [ebp - 0x48]
call fcn.00448cbb
cmp dword [ebp - 0x10], 0
jne 0x4ca3fa
mov esi, dword [ebp - 0x44]
test esi, esi
je 0x4ca4f0
mov edi, esi
test esi, esi
je 0x4ca2c0
mov edi, dword [edi + 8]
mov ecx, edi
mov esi, dword [esi]
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x18], edi
mov eax, dword [edi]
call dword [eax + 0x1b0]
test eax, eax
je 0x4ca4a4
push 0x594110
mov ecx, edi
call fcn.00437ae6
test eax, eax
jne 0x4ca4a4
mov eax, dword [edi]
lea esi, [edi + 0x1e8]
mov ecx, dword [ebp - 0x18]
push 0
push 3
sub esp, 0x10
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 + 0x1fc]
mov esi, dword [ebp - 0x14]
test esi, esi
jne 0x4ca450
mov esi, dword [ebp - 0x44]
jmp 0x4ca4ec
mov edi, esi
test esi, esi
je 0x4ca2c0
mov edi, dword [edi + 8]
mov ecx, edi
mov esi, dword [esi]
mov eax, dword [edi]
call dword [eax + 0x1b0]
test eax, eax
je 0x4ca4ec
push 0x5d1a44
mov ecx, edi
call fcn.00437ae6
test eax, eax
jne 0x4ca4ec
mov eax, dword [edi]
mov ecx, edi
push ebx
call dword [eax + 0x2b8]
mov ecx, edi
call fcn.004700c2
test esi, esi
jne 0x4ca4ad
mov eax, dword [ebx + 0x5c]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x4ca772
lea eax, [ebx + 0x58]
lea ecx, [ebp - 0x10]
push ecx
mov ecx, eax
call fcn.00450273
mov edi, dword [eax]
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 0x16c]
test eax, eax
je 0x4ca579
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.0042c6aa
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.0042c6aa
push dword [ebx + 0xe4]
mov ecx, edi
mov esi, eax
call fcn.0045891f
mov edx, dword [esi]
mov ecx, esi
push edi
call dword [edx + 0x3c0]
push 0x5d1a44
mov ecx, edi
call fcn.00437ae6
test eax, eax
je 0x4ca570
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0x1f0]
push 5
mov ecx, edi
call fcn.00434d28
mov eax, dword [edi]
xor esi, esi
push esi
mov ecx, edi
call dword [eax + 0x228]
test eax, eax
je 0x4ca597
mov edx, dword [eax]
mov ecx, eax
push esi
push esi
push edi
call dword [edx + 0x17c]
push dword [ebx + 0xe4]
mov ecx, edi
call fcn.0045891f
mov esi, 0x5d1a44
mov ecx, edi
push esi
call fcn.00437ae6
test eax, eax
je 0x4ca765
push edi
push esi
call fcn.00437a50
lea edi, [ebp - 0x2c]
mov dword [ebp - 0x18], eax
pop ecx
pop ecx
lea esi, [eax + 0x298]
movsd dword es:[edi], dword [esi]
push 0
push 0x34
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, eax
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x28]
mov ecx, edi
push eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x2c]
mov edx, dword [edi]
push eax
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push 0
call dword [edx + 0x238]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x1ac]
xor ecx, ecx
mov dword [ebp - 0x18], eax
test eax, eax
setne cl
push ecx
mov ecx, edi
call fcn.00434d28
mov ecx, edi
call fcn.00507d3e
mov esi, eax
mov dword [ebp - 0x14], esi
test esi, esi
je 0x4ca64a
mov esi, dword [edi]
mov ecx, eax
mov edx, dword [ecx]
call dword [edx + 0x194]
push eax
mov ecx, edi
call dword [esi + 0x1e0]
mov esi, dword [ebp - 0x14]
mov ecx, esi
push dword [ebp - 0x18]
push edi
mov eax, dword [esi]
call dword [eax + 0x294]
push 0x594110
mov ecx, edi
call fcn.00437ae6
test eax, eax
je 0x4ca765
and dword [ebp - 0x18], 0
test esi, esi
je 0x4ca765
lea eax, [ebp - 0x18]
mov ecx, esi
push eax
push edi
call fcn.005343a2
push edi
mov ecx, eax
call fcn.00531d06
test eax, eax
je 0x4ca741
mov ecx, dword [eax + 4]
jmp 0x4ca739
mov edx, dword [ebx]
lea eax, [ecx]
mov ecx, dword [ecx]
push 1
push dword [eax + 8]
mov dword [ebp - 0x1c], ecx
mov ecx, ebx
call dword [edx + 0x24]
push eax
push 0x5d1a44
call fcn.00437a50
mov esi, eax
mov dword [ebp - 0x14], esi
pop ecx
pop ecx
test esi, esi
je 0x4ca736
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x16c]
test eax, eax
je 0x4ca703
push dword [esi + 0x20]
mov esi, dword [sym.imp.USER32.dll_GetParent]
call esi
push eax
call fcn.0042c6aa
push dword [eax + 0x20]
call esi
push eax
call fcn.0042c6aa
push dword [ebx + 0xe4]
mov ecx, dword [ebp - 0x14]
mov esi, eax
call fcn.0045891f
mov edx, dword [esi]
mov ecx, esi
push dword [ebp - 0x14]
call dword [edx + 0x3c0]
mov esi, dword [ebp - 0x14]
jmp 0x4ca726
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1dc]
test eax, eax
je 0x4ca726
mov eax, dword [esi]
mov ecx, esi
push 1
push 0
push 0xf000
push 0
call dword [eax + 0x368]
mov eax, dword [esi]
xor ecx, ecx
push ecx
push ecx
push ecx
push edi
mov ecx, esi
call dword [eax + 0x34c]
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
jne 0x4ca68e
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x3a4]
test eax, eax
je 0x4ca765
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x3d4]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x210]
cmp dword [ebp - 0x10], 0
lea eax, [ebx + 0x58]
jne 0x4ca501
lea ecx, [ebx + 0x58]
push ecx
lea ecx, [ebx + 0x20]
call fcn.0044f81d
and dword [0x5da8cc], 0
mov ecx, ebx
mov eax, dword [ebx]
push 0
call dword [eax + 0x38]
mov eax, dword [ebx + 0xb0]
jmp 0x4ca8c9
mov esi, eax
mov ecx, ebx
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov eax, dword [ebx]
push 1
push dword [esi + 8]
mov dword [ebp - 0x1c], esi
call dword [eax + 0x24]
push eax
push 0x5d1a44
call fcn.00437a50
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x4ca8c6
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x170]
test eax, eax
mov eax, dword [edi]
jne 0x4ca84a
mov ecx, edi
call dword [eax + 0x1dc]
test eax, eax
mov ecx, edi
mov eax, dword [edi]
je 0x4ca7f9
push 1
push 0
push 0xf000
push 0
call dword [eax + 0x368]
jmp 0x4ca85e
call dword [eax + 0x16c]
test eax, eax
je 0x4ca848
push dword [edi + 0x20]
mov esi, dword [sym.imp.USER32.dll_GetParent]
call esi
push eax
call fcn.0042c6aa
push dword [eax + 0x20]
call esi
push eax
call fcn.0042c6aa
push dword [ebx + 0xe4]
mov ecx, edi
mov esi, eax
call fcn.0045891f
mov edx, dword [esi]
mov ecx, esi
push edi
call dword [edx + 0x3c0]
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0x1f0]
mov esi, dword [ebp - 0x1c]
mov eax, dword [edi]
xor ecx, ecx
push ecx
push 0xffffffffffffffff
push ecx
push 1
push ecx
push dword [esi + 0xc]
mov ecx, edi
call dword [eax + 0x200]
mov eax, dword [esi + 0x20]
mov ecx, edi
sub eax, dword [esi + 0x18]
mov edx, dword [edi]
push 0
push 0x14
push eax
mov eax, dword [esi + 0x1c]
sub eax, dword [esi + 0x14]
push eax
push dword [esi + 0x18]
push dword [esi + 0x14]
push 0
call dword [edx + 0x238]
mov eax, dword [edi]
mov ecx, edi
push 0
push 0
push dword [esi + 0xc]
push 1
call dword [eax + 0x368]
test eax, eax
je 0x4ca8c6
mov ecx, dword [esi + 0x48]
mov dword [eax + 0x11c], ecx
mov ecx, dword [esi + 0x40]
mov dword [eax + 0x114], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 0x118], ecx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x4c], edi
mov eax, dword [edi + 0x330]
mov dword [eax + 0x84], ecx
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x4ca799
mov esi, dword [ebx + 0xb0]
jmp 0x4ca902
lea edi, [esi]
mov esi, dword [esi]
mov ecx, dword [edi + 0x4c]
test ecx, ecx
je 0x4ca902
mov eax, dword [ecx]
call dword [eax + 0x36c]
test eax, eax
je 0x4ca902
mov ecx, dword [edi + 0x4c]
push 0
push 0
push dword [edi + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x224]
test esi, esi
jne 0x4ca8d9
mov eax, dword [ebx + 0x78]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x4ca940
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x74]
call fcn.00450273
push dword [eax]
push 0x594110
call fcn.00437a50
pop ecx
pop ecx
test eax, eax
je 0x4ca93a
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx + 0x3d4]
cmp dword [ebp - 0x10], 0
jne 0x4ca910
push 0xa
lea ecx, [ebp - 0x64]
call fcn.0044f755
lea eax, [ebx + 0x20]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x64]
call fcn.0044f81d
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x4ca9d7
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x64]
call fcn.0043473a
mov esi, dword [eax]
push esi
push 0x5a0130
call fcn.00437a50
pop ecx
pop ecx
test eax, eax
je 0x4ca98f
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x2a0]
jmp 0x4ca9d1
push esi
push 0x594110
call fcn.00437a50
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x4ca9d1
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x3a4]
test eax, eax
jne 0x4ca9d1
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1cc]
test eax, eax
je 0x4ca9d1
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax + 0x240]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x60]
cmp dword [ebp - 0x10], 0
jne 0x4ca964
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax + 0x34]
lea ecx, [ebx + 0x58]
call fcn.00448dab
lea ecx, [ebx + 0x90]
call fcn.00448dab
lea ecx, [ebx + 0x74]
call fcn.00448dab
and dword [0x5da8c4], 0
lea ecx, [ebp - 0x64]
call fcn.0044f77b
lea ecx, [ebp - 0x48]
call fcn.0044f77b
lea ecx, [ebp - 0x80]
call fcn.0044f77b
lea ecx, [ebp - 0x9c]
call fcn.0044f77b
call fcn.00550cfb
ret