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

Disassembly:
push 0x90
mov eax, 0x586690
call fcn.00532125
mov ebx, ecx
mov dword [ebp - 0x18], ebx
xor edi, edi
cmp dword [ebx + 0x15c], edi
jne 0x4a3bf5
cmp dword [ebx + 0x160], edi
jne 0x4a3bf5
cmp dword [ebx + 0x64], edi
jne 0x4a3378
cmp dword [ebx + 0x9c], edi
jne 0x4a3378
cmp dword [ebx + 0x80], edi
jne 0x4a3378
cmp dword [ebx + 0xb8], edi
jne 0x4a3378
cmp dword [ebx + 0x2c], edi
je 0x4a3bf5
xor eax, eax
lea ecx, [ebp - 0x9c]
inc eax
push 0xa
mov dword [0x5fc988], eax
mov dword [0x5fc990], eax
call fcn.0042ca7d
mov eax, dword [ebx + 0x40]
mov dword [ebp - 4], edi
mov dword [ebp - 0x10], eax
test eax, eax
je 0x4a33f9
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x3c]
call fcn.0042707a
push dword [eax]
push 0x5b3aa0
call fcn.004183ed
pop ecx
pop ecx
test eax, eax
je 0x4a33f3
mov ecx, eax
call fcn.0050f669
push eax
push 0x5f1b34
call fcn.004183ed
pop ecx
pop ecx
test eax, eax
je 0x4a33f3
mov ecx, dword [eax + 0x330]
test ecx, ecx
je 0x4a33f3
cmp dword [ecx + 0x114], edi
je 0x4a33f3
push eax
lea ecx, [ebp - 0x9c]
call fcn.0041a2b5
cmp dword [ebp - 0x10], 0
jne 0x4a339f
mov esi, dword [ebp - 0x98]
jmp 0x4a342f
mov eax, esi
test esi, esi
je 0x4a3490
push dword [eax + 8]
mov esi, dword [esi]
push 0x5f1b34
call fcn.004183ed
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 0x4a3401
mov eax, dword [ebx + 0x5c]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x4a346e
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x58]
call fcn.0042707a
push dword [eax]
push 0x5f1b34
call fcn.004183ed
pop ecx
pop ecx
test eax, eax
je 0x4a3468
push dword [eax + 0x354]
mov ecx, eax
call fcn.004e4291
cmp dword [ebp - 0x10], 0
jne 0x4a343d
push 0xa
lea ecx, [ebp - 0x80]
call fcn.0042ca7d
lea eax, [ebx + 0x90]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x80]
call fcn.0042cb72
mov edi, dword [ebp - 0x7c]
jmp 0x4a34c9
call fcn.00415ace
mov eax, edi
test edi, edi
je 0x4a3490
push dword [eax + 8]
mov edi, dword [edi]
push 0x5f1874
call fcn.004183ed
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.0041d158
mov edx, dword [esi]
mov ecx, esi
push ebx
call dword [edx + 0x1dc]
test edi, edi
jne 0x4a3495
push 0xa
lea ecx, [ebp - 0x48]
call fcn.0042ca7d
mov eax, dword [ebx + 0x24]
mov byte [ebp - 4], 2
mov dword [ebp - 0x10], eax
test eax, eax
je 0x4a35bd
lea eax, [ebx + 0x20]
mov ebx, eax
lea eax, [ebp - 0x10]
mov ecx, ebx
push eax
call fcn.0042707a
push 0x5a7d6c
mov esi, dword [eax]
mov ecx, esi
mov dword [ebp - 0x14], esi
call fcn.00418483
test eax, eax
je 0x4a352e
push esi
push 0x5a7d6c
call fcn.004183ed
pop ecx
pop ecx
add eax, 0x110
lea ecx, [ebp - 0x48]
push eax
call fcn.0042cb72
jmp 0x4a35b0
push 0x59a1a4
mov ecx, esi
call fcn.00418483
test eax, eax
je 0x4a35b0
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1cc]
test eax, eax
je 0x4a3557
push esi
lea ecx, [ebp - 0x48]
call fcn.0041a2b5
jmp 0x4a35b0
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1b0]
test eax, eax
je 0x4a35b0
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 0x4a34ee
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebx + 0xcc]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x4a3615
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0xc8]
call fcn.0042707a
push dword [eax]
push 0x5f1874
call fcn.004183ed
pop ecx
pop ecx
test eax, eax
je 0x4a360f
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x1a8]
push eax
push 0x59ae08
call fcn.004183ed
pop ecx
pop ecx
test eax, eax
je 0x4a360f
push eax
lea ecx, [ebp - 0x48]
call fcn.0041a2b5
cmp dword [ebp - 0x10], 0
jne 0x4a35ca
mov esi, dword [ebp - 0x44]
test esi, esi
je 0x4a36c0
mov edi, esi
test esi, esi
je 0x4a3490
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 0x4a3674
push 0x5a7028
mov ecx, edi
call fcn.00418483
test eax, eax
jne 0x4a3674
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 0x4a3620
mov esi, dword [ebp - 0x44]
jmp 0x4a36bc
mov edi, esi
test esi, esi
je 0x4a3490
mov edi, dword [edi + 8]
mov ecx, edi
mov esi, dword [esi]
mov eax, dword [edi]
call dword [eax + 0x1b0]
test eax, eax
je 0x4a36bc
push 0x5f1b34
mov ecx, edi
call fcn.00418483
test eax, eax
jne 0x4a36bc
mov eax, dword [edi]
mov ecx, edi
push ebx
call dword [eax + 0x2b8]
mov ecx, edi
call fcn.00447b99
test esi, esi
jne 0x4a367d
mov eax, dword [ebx + 0x5c]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x4a3942
lea eax, [ebx + 0x58]
lea ecx, [ebp - 0x10]
push ecx
mov ecx, eax
call fcn.0042707a
mov edi, dword [eax]
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 0x16c]
test eax, eax
je 0x4a3749
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.0041f6be
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.0041f6be
push dword [ebx + 0xe4]
mov ecx, edi
mov esi, eax
call fcn.0044795b
mov edx, dword [esi]
mov ecx, esi
push edi
call dword [edx + 0x3c0]
push 0x5f1b34
mov ecx, edi
call fcn.00418483
test eax, eax
je 0x4a3740
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0x1f0]
push 5
mov ecx, edi
call fcn.0041d1d8
mov eax, dword [edi]
xor esi, esi
push esi
mov ecx, edi
call dword [eax + 0x228]
test eax, eax
je 0x4a3767
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.0044795b
mov esi, 0x5f1b34
mov ecx, edi
push esi
call fcn.00418483
test eax, eax
je 0x4a3935
push edi
push esi
call fcn.004183ed
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.0041d1d8
mov ecx, edi
call fcn.004e1cf5
mov esi, eax
mov dword [ebp - 0x14], esi
test esi, esi
je 0x4a381a
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 0x5a7028
mov ecx, edi
call fcn.00418483
test eax, eax
je 0x4a3935
and dword [ebp - 0x18], 0
test esi, esi
je 0x4a3935
lea eax, [ebp - 0x18]
mov ecx, esi
push eax
push edi
call fcn.0050f63e
push edi
mov ecx, eax
call fcn.0050cfa2
test eax, eax
je 0x4a3911
mov ecx, dword [eax + 4]
jmp 0x4a3909
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 0x5f1b34
call fcn.004183ed
mov esi, eax
mov dword [ebp - 0x14], esi
pop ecx
pop ecx
test esi, esi
je 0x4a3906
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x16c]
test eax, eax
je 0x4a38d3
push dword [esi + 0x20]
mov esi, dword [sym.imp.USER32.dll_GetParent]
call esi
push eax
call fcn.0041f6be
push dword [eax + 0x20]
call esi
push eax
call fcn.0041f6be
push dword [ebx + 0xe4]
mov ecx, dword [ebp - 0x14]
mov esi, eax
call fcn.0044795b
mov edx, dword [esi]
mov ecx, esi
push dword [ebp - 0x14]
call dword [edx + 0x3c0]
mov esi, dword [ebp - 0x14]
jmp 0x4a38f6
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1dc]
test eax, eax
je 0x4a38f6
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 0x4a385e
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x3a4]
test eax, eax
je 0x4a3935
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 0x4a36d1
lea ecx, [ebx + 0x58]
push ecx
lea ecx, [ebx + 0x20]
call fcn.0042cb72
and dword [0x5fc990], 0
mov ecx, ebx
mov eax, dword [ebx]
push 0
call dword [eax + 0x38]
mov eax, dword [ebx + 0xb0]
jmp 0x4a3a99
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 0x5f1b34
call fcn.004183ed
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x4a3a96
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x170]
test eax, eax
mov eax, dword [edi]
jne 0x4a3a1a
mov ecx, edi
call dword [eax + 0x1dc]
test eax, eax
mov ecx, edi
mov eax, dword [edi]
je 0x4a39c9
push 1
push 0
push 0xf000
push 0
call dword [eax + 0x368]
jmp 0x4a3a2e
call dword [eax + 0x16c]
test eax, eax
je 0x4a3a18
push dword [edi + 0x20]
mov esi, dword [sym.imp.USER32.dll_GetParent]
call esi
push eax
call fcn.0041f6be
push dword [eax + 0x20]
call esi
push eax
call fcn.0041f6be
push dword [ebx + 0xe4]
mov ecx, edi
mov esi, eax
call fcn.0044795b
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 0x4a3a96
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 0x4a3969
mov esi, dword [ebx + 0xb0]
jmp 0x4a3ad2
lea edi, [esi]
mov esi, dword [esi]
mov ecx, dword [edi + 0x4c]
test ecx, ecx
je 0x4a3ad2
mov eax, dword [ecx]
call dword [eax + 0x36c]
test eax, eax
je 0x4a3ad2
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 0x4a3aa9
mov eax, dword [ebx + 0x78]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x4a3b10
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x74]
call fcn.0042707a
push dword [eax]
push 0x5a7028
call fcn.004183ed
pop ecx
pop ecx
test eax, eax
je 0x4a3b0a
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx + 0x3d4]
cmp dword [ebp - 0x10], 0
jne 0x4a3ae0
push 0xa
lea ecx, [ebp - 0x64]
call fcn.0042ca7d
lea eax, [ebx + 0x20]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x64]
call fcn.0042cb72
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x4a3ba7
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x64]
call fcn.0042cc47
mov esi, dword [eax]
push esi
push 0x5b3aa0
call fcn.004183ed
pop ecx
pop ecx
test eax, eax
je 0x4a3b5f
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x2a0]
jmp 0x4a3ba1
push esi
push 0x5a7028
call fcn.004183ed
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x4a3ba1
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x3a4]
test eax, eax
jne 0x4a3ba1
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1cc]
test eax, eax
je 0x4a3ba1
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 0x4a3b34
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax + 0x34]
lea ecx, [ebx + 0x58]
call fcn.0042cce5
lea ecx, [ebx + 0x90]
call fcn.0042cce5
lea ecx, [ebx + 0x74]
call fcn.0042cce5
and dword [0x5fc988], 0
lea ecx, [ebp - 0x64]
call fcn.0042caa3
lea ecx, [ebp - 0x48]
call fcn.0042caa3
lea ecx, [ebp - 0x80]
call fcn.0042caa3
lea ecx, [ebp - 0x9c]
call fcn.0042caa3
call fcn.005320ee
ret