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

Disassembly:
push 0x90
mov eax, 0x5516ee
call fcn.005311cf
mov ebx, ecx
mov dword [ebp - 0x18], ebx
xor edi, edi
cmp dword [ebx + 0x15c], edi
jne 0x451fdf
cmp dword [ebx + 0x160], edi
jne 0x451fdf
cmp dword [ebx + 0x64], edi
jne 0x451762
cmp dword [ebx + 0x9c], edi
jne 0x451762
cmp dword [ebx + 0x80], edi
jne 0x451762
cmp dword [ebx + 0xb8], edi
jne 0x451762
cmp dword [ebx + 0x2c], edi
je 0x451fdf
xor eax, eax
lea ecx, [ebp - 0x9c]
inc eax
push 0xa
mov dword [0x5d3b58], eax
mov dword [0x5d3b60], eax
call fcn.0049df0c
mov eax, dword [ebx + 0x40]
mov dword [ebp - 4], edi
mov dword [ebp - 0x10], eax
test eax, eax
je 0x4517e3
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x3c]
call fcn.00407989
push dword [eax]
push 0x5715fc
call fcn.00421946
pop ecx
pop ecx
test eax, eax
je 0x4517dd
mov ecx, eax
call fcn.004bc801
push eax
push 0x5ab60c
call fcn.00421946
pop ecx
pop ecx
test eax, eax
je 0x4517dd
mov ecx, dword [eax + 0x330]
test ecx, ecx
je 0x4517dd
cmp dword [ecx + 0x114], edi
je 0x4517dd
push eax
lea ecx, [ebp - 0x9c]
call fcn.0049dfd4
cmp dword [ebp - 0x10], 0
jne 0x451789
mov esi, dword [ebp - 0x98]
jmp 0x451819
mov eax, esi
test esi, esi
je 0x45187a
push dword [eax + 8]
mov esi, dword [esi]
push 0x5ab60c
call fcn.00421946
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 0x4517eb
mov eax, dword [ebx + 0x5c]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x451858
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x58]
call fcn.00407989
push dword [eax]
push 0x5ab60c
call fcn.00421946
pop ecx
pop ecx
test eax, eax
je 0x451852
push dword [eax + 0x354]
mov ecx, eax
call fcn.0048970b
cmp dword [ebp - 0x10], 0
jne 0x451827
push 0xa
lea ecx, [ebp - 0x80]
call fcn.0049df0c
lea eax, [ebx + 0x90]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x80]
call fcn.0049e000
mov edi, dword [ebp - 0x7c]
jmp 0x4518b3
call fcn.004136db
mov eax, edi
test edi, edi
je 0x45187a
push dword [eax + 8]
mov edi, dword [edi]
push 0x5ab46c
call fcn.00421946
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.00418738
mov edx, dword [esi]
mov ecx, esi
push ebx
call dword [edx + 0x1dc]
test edi, edi
jne 0x45187f
push 0xa
lea ecx, [ebp - 0x48]
call fcn.0049df0c
mov eax, dword [ebx + 0x24]
mov byte [ebp - 4], 2
mov dword [ebp - 0x10], eax
test eax, eax
je 0x4519a7
lea eax, [ebx + 0x20]
mov ebx, eax
lea eax, [ebp - 0x10]
mov ecx, ebx
push eax
call fcn.00407989
push 0x569d18
mov esi, dword [eax]
mov ecx, esi
mov dword [ebp - 0x14], esi
call fcn.004219dc
test eax, eax
je 0x451918
push esi
push 0x569d18
call fcn.00421946
pop ecx
pop ecx
add eax, 0x110
lea ecx, [ebp - 0x48]
push eax
call fcn.0049e000
jmp 0x45199a
push 0x566564
mov ecx, esi
call fcn.004219dc
test eax, eax
je 0x45199a
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1cc]
test eax, eax
je 0x451941
push esi
lea ecx, [ebp - 0x48]
call fcn.0049dfd4
jmp 0x45199a
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1b0]
test eax, eax
je 0x45199a
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 0x4518d8
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebx + 0xcc]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x4519ff
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0xc8]
call fcn.00407989
push dword [eax]
push 0x5ab46c
call fcn.00421946
pop ecx
pop ecx
test eax, eax
je 0x4519f9
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x1a8]
push eax
push 0x566a68
call fcn.00421946
pop ecx
pop ecx
test eax, eax
je 0x4519f9
push eax
lea ecx, [ebp - 0x48]
call fcn.0049dfd4
cmp dword [ebp - 0x10], 0
jne 0x4519b4
mov esi, dword [ebp - 0x44]
test esi, esi
je 0x451aaa
mov edi, esi
test esi, esi
je 0x45187a
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 0x451a5e
push 0x574bac
mov ecx, edi
call fcn.004219dc
test eax, eax
jne 0x451a5e
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 0x451a0a
mov esi, dword [ebp - 0x44]
jmp 0x451aa6
mov edi, esi
test esi, esi
je 0x45187a
mov edi, dword [edi + 8]
mov ecx, edi
mov esi, dword [esi]
mov eax, dword [edi]
call dword [eax + 0x1b0]
test eax, eax
je 0x451aa6
push 0x5ab60c
mov ecx, edi
call fcn.004219dc
test eax, eax
jne 0x451aa6
mov eax, dword [edi]
mov ecx, edi
push ebx
call dword [eax + 0x2b8]
mov ecx, edi
call fcn.0046546e
test esi, esi
jne 0x451a67
mov eax, dword [ebx + 0x5c]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x451d2c
lea eax, [ebx + 0x58]
lea ecx, [ebp - 0x10]
push ecx
mov ecx, eax
call fcn.00407989
mov edi, dword [eax]
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 0x16c]
test eax, eax
je 0x451b33
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.0041b123
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.0041b123
push dword [ebx + 0xe4]
mov ecx, edi
mov esi, eax
call fcn.00431dba
mov edx, dword [esi]
mov ecx, esi
push edi
call dword [edx + 0x3c0]
push 0x5ab60c
mov ecx, edi
call fcn.004219dc
test eax, eax
je 0x451b2a
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0x1f0]
push 5
mov ecx, edi
call fcn.004187b8
mov eax, dword [edi]
xor esi, esi
push esi
mov ecx, edi
call dword [eax + 0x228]
test eax, eax
je 0x451b51
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.00431dba
mov esi, 0x5ab60c
mov ecx, edi
push esi
call fcn.004219dc
test eax, eax
je 0x451d1f
push edi
push esi
call fcn.00421946
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.004187b8
mov ecx, edi
call fcn.00487161
mov esi, eax
mov dword [ebp - 0x14], esi
test esi, esi
je 0x451c04
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 0x574bac
mov ecx, edi
call fcn.004219dc
test eax, eax
je 0x451d1f
and dword [ebp - 0x18], 0
test esi, esi
je 0x451d1f
lea eax, [ebp - 0x18]
mov ecx, esi
push eax
push edi
call fcn.004bc7d6
push edi
mov ecx, eax
call fcn.004d7aa6
test eax, eax
je 0x451cfb
mov ecx, dword [eax + 4]
jmp 0x451cf3
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 0x5ab60c
call fcn.00421946
mov esi, eax
mov dword [ebp - 0x14], esi
pop ecx
pop ecx
test esi, esi
je 0x451cf0
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x16c]
test eax, eax
je 0x451cbd
push dword [esi + 0x20]
mov esi, dword [sym.imp.USER32.dll_GetParent]
call esi
push eax
call fcn.0041b123
push dword [eax + 0x20]
call esi
push eax
call fcn.0041b123
push dword [ebx + 0xe4]
mov ecx, dword [ebp - 0x14]
mov esi, eax
call fcn.00431dba
mov edx, dword [esi]
mov ecx, esi
push dword [ebp - 0x14]
call dword [edx + 0x3c0]
mov esi, dword [ebp - 0x14]
jmp 0x451ce0
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1dc]
test eax, eax
je 0x451ce0
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 0x451c48
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x3a4]
test eax, eax
je 0x451d1f
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 0x451abb
lea ecx, [ebx + 0x58]
push ecx
lea ecx, [ebx + 0x20]
call fcn.0049e000
and dword [0x5d3b60], 0
mov ecx, ebx
mov eax, dword [ebx]
push 0
call dword [eax + 0x38]
mov eax, dword [ebx + 0xb0]
jmp 0x451e83
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 0x5ab60c
call fcn.00421946
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x451e80
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x170]
test eax, eax
mov eax, dword [edi]
jne 0x451e04
mov ecx, edi
call dword [eax + 0x1dc]
test eax, eax
mov ecx, edi
mov eax, dword [edi]
je 0x451db3
push 1
push 0
push 0xf000
push 0
call dword [eax + 0x368]
jmp 0x451e18
call dword [eax + 0x16c]
test eax, eax
je 0x451e02
push dword [edi + 0x20]
mov esi, dword [sym.imp.USER32.dll_GetParent]
call esi
push eax
call fcn.0041b123
push dword [eax + 0x20]
call esi
push eax
call fcn.0041b123
push dword [ebx + 0xe4]
mov ecx, edi
mov esi, eax
call fcn.00431dba
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 0x451e80
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 0x451d53
mov esi, dword [ebx + 0xb0]
jmp 0x451ebc
lea edi, [esi]
mov esi, dword [esi]
mov ecx, dword [edi + 0x4c]
test ecx, ecx
je 0x451ebc
mov eax, dword [ecx]
call dword [eax + 0x36c]
test eax, eax
je 0x451ebc
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 0x451e93
mov eax, dword [ebx + 0x78]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x451efa
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebx + 0x74]
call fcn.00407989
push dword [eax]
push 0x574bac
call fcn.00421946
pop ecx
pop ecx
test eax, eax
je 0x451ef4
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx + 0x3d4]
cmp dword [ebp - 0x10], 0
jne 0x451eca
push 0xa
lea ecx, [ebp - 0x64]
call fcn.0049df0c
lea eax, [ebx + 0x20]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x64]
call fcn.0049e000
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x451f91
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x64]
call fcn.0043b902
mov esi, dword [eax]
push esi
push 0x5715fc
call fcn.00421946
pop ecx
pop ecx
test eax, eax
je 0x451f49
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x2a0]
jmp 0x451f8b
push esi
push 0x574bac
call fcn.00421946
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x451f8b
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x3a4]
test eax, eax
jne 0x451f8b
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1cc]
test eax, eax
je 0x451f8b
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 0x451f1e
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax + 0x34]
lea ecx, [ebx + 0x58]
call fcn.004981d2
lea ecx, [ebx + 0x90]
call fcn.004981d2
lea ecx, [ebx + 0x74]
call fcn.004981d2
and dword [0x5d3b58], 0
lea ecx, [ebp - 0x64]
call fcn.0049df32
lea ecx, [ebp - 0x48]
call fcn.0049df32
lea ecx, [ebp - 0x80]
call fcn.0049df32
lea ecx, [ebp - 0x9c]
call fcn.0049df32
call fcn.00531198
ret