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

Disassembly:
sub esp, 0x28
push ebx
push ebp
push esi
mov esi, dword [esp + 0x38]
xor ebp, ebp
xor ebx, ebx
mov eax, dword [esi + 0x14]
push edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x10], ebx
mov eax, dword [eax + 0xe8]
cmp eax, ebp
je 0x456f1d
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x14], eax
jmp 0x456f21
mov dword [esp + 0x14], ebp
test dword [esi + 0x250], 0x10000
je 0x457070
mov edi, dword [esi + 0xe4]
cmp edi, ebp
je 0x456f80
mov eax, dword [edi + 0xe8]
cmp eax, ebp
je 0x456f51
mov ecx, dword [edi + 0xec]
mov dword [eax + 0xec], ecx
mov edx, dword [edi + 0xec]
mov eax, dword [edi + 0xe8]
push edi
mov dword [edx], eax
call fcn.00457710
add esp, 4
cmp eax, ebp
je 0x456f72
cmp ebx, ebp
jne 0x456f72
mov ebx, eax
mov edi, dword [edi + 0xe8]
cmp edi, ebp
jne 0x456f3b
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x44]
and eax, 0x17
mov dword [esp + 0x44], eax
jne 0x456fb0
test dword [esi + 0x250], 0x400080
jne 0x456fb0
push esi
call fcn.004624d0
add esp, 4
cmp eax, ebp
je 0x456fb0
cmp ebx, ebp
jne 0x456fb0
mov ebx, eax
mov dword [esp + 0x10], ebx
mov eax, dword [esi + 0xd4]
xor ecx, ecx
cmp eax, ebp
setne cl
cmp eax, ebp
mov edi, ecx
je 0x456fe6
push eax
call fcn.0045f1b0
add esp, 4
cmp eax, ebp
jne 0x456fdc
mov eax, dword [esi + 0xd4]
cmp eax, ebp
jne 0x456fc3
jmp 0x456fe6
cmp ebx, ebp
jne 0x456fe6
mov ebx, eax
mov dword [esp + 0x10], ebx
mov eax, dword [esi + 0xcc]
cmp eax, ebp
je 0x457013
push eax
call fcn.0045f390
add esp, 4
cmp eax, ebp
jne 0x457009
mov eax, dword [esi + 0xcc]
cmp eax, ebp
jne 0x456ff0
jmp 0x457013
cmp ebx, ebp
jne 0x457013
mov ebx, eax
mov dword [esp + 0x10], ebx
mov eax, dword [esi + 0xdc]
cmp eax, ebp
je 0x457040
push eax
call fcn.00466bc0
add esp, 4
cmp eax, ebp
jne 0x457036
mov eax, dword [esi + 0xdc]
cmp eax, ebp
jne 0x45701d
jmp 0x457040
cmp ebx, ebp
jne 0x457040
mov ebx, eax
mov dword [esp + 0x10], ebx
cmp edi, ebp
je 0x457070
cmp dword [esp + 0x44], ebp
jne 0x457070
test dword [esi + 0x250], 0x400080
jne 0x457070
mov edx, dword [esi + 0x1c]
push edx
call fcn.0042f390
add esp, 4
cmp eax, ebp
je 0x457070
cmp ebx, ebp
jne 0x457070
mov ebx, eax
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x4c], ebp
jne 0x45714f
mov eax, dword [esi + 0x14]
cmp dword [eax + 0x158], ebp
je 0x45714f
test dword [esi + 0x250], 0x400000
jne 0x457120
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 0x168]
cmp eax, ebp
je 0x4570b7
mov eax, dword [eax + 4]
cmp eax, ebp
je 0x4570b7
test byte [eax + 0x1a8], 1
jne 0x457120
mov eax, dword [esp + 0x14]
mov edx, dword [esi + 0x70]
cmp edx, dword [eax + 0x40]
jne 0x457120
mov ecx, dword [esp + 0x40]
push 2
push ecx
push esi
call fcn.004738b0
mov edi, eax
add esp, 0xc
cmp edi, ebp
je 0x45712e
mov eax, dword [esp + 0x40]
cmp eax, ebp
je 0x45712e
push esi
mov esi, dword [esp + 0x40]
mov edx, eax
push edx
push esi
call fcn.004577c0
add esp, 0xc
cmp eax, ebp
je 0x457108
push eax
push esi
call fcn.00415d60
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
mov eax, dword [esp + 0x48]
cmp eax, ebp
je 0x457116
mov dword [eax], 1
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
push 0xffffffffffffffff
push ebp
push esi
call fcn.00473790
add esp, 0xc
mov edi, eax
cmp ebx, ebp
jne 0x457138
mov ebx, edi
mov dword [esp + 0x10], ebx
push esi
call fcn.00473350
add esp, 4
cmp eax, ebp
je 0x45714f
cmp ebx, ebp
jne 0x45714f
mov ebx, eax
mov dword [esp + 0x10], ebx
mov eax, dword [esi + 0xc0]
cmp eax, ebp
je 0x457177
mov edi, dword [esp + 0x3c]
push eax
push edi
call fcn.00451b10
add esp, 8
cmp eax, ebp
je 0x45717b
cmp ebx, ebp
jne 0x45717b
mov ebx, eax
mov dword [esp + 0x10], ebx
jmp 0x45717b
mov edi, dword [esp + 0x3c]
mov eax, dword [edi + 0x11c]
cmp eax, ebp
je 0x4571a0
push eax
push edi
call fcn.004151f0
add esp, 8
test eax, eax
je 0x4571a0
pop edi
pop esi
pop ebp
mov eax, 0xffff8702
pop ebx
add esp, 0x28
ret
cmp dword [esp + 0x4c], ebp
jne 0x4571d4
mov ecx, dword [esi + 0xc8]
cmp ecx, ebp
je 0x4571d4
mov eax, dword [esi + 0xc4]
cmp eax, ebp
je 0x4571c0
mov dword [eax + 0xc8], ecx
mov eax, dword [esi + 0xc8]
mov ecx, dword [esi + 0xc4]
mov dword [eax], ecx
mov dword [esi + 0xc8], ebp
mov eax, dword [esi + 0x1c]
lea edi, [esi + 0x1c]
cmp eax, ebp
mov dword [esp + 0x44], edi
je 0x45722c
mov edx, dword [esi + 0x250]
shr edx, 5
and edx, 4
push edx
push eax
call fcn.00414250
add esp, 8
cmp eax, ebp
je 0x457206
cmp ebx, ebp
jne 0x457206
mov ebx, eax
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x4c]
mov dword [edi], ebp
cmp eax, ebp
je 0x45722c
mov eax, dword [esp + 0x3c]
push edi
push eax
call fcn.004149f0
add esp, 8
cmp eax, ebp
je 0x45722c
cmp ebx, ebp
jne 0x45722c
mov ebx, eax
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 0x11c]
cmp eax, ebp
je 0x457257
mov edx, ecx
push eax
push edx
call fcn.00415420
add esp, 8
test eax, eax
je 0x457257
pop edi
pop esi
pop ebp
mov eax, 0xffff8702
pop ebx
add esp, 0x28
ret
push esi
call fcn.00417010
add esp, 4
cmp eax, ebp
je 0x45726e
cmp ebx, ebp
jne 0x45726e
mov ebx, eax
mov dword [esp + 0x10], ebx
push esi
call fcn.00416db0
add esp, 4
cmp eax, ebp
je 0x457285
cmp ebx, ebp
jne 0x457285
mov ebx, eax
mov dword [esp + 0x10], ebx
mov eax, dword [esi + 0x250]
push eax
push esi
call fcn.004168d0
add esp, 8
cmp eax, ebp
je 0x4572a3
cmp ebx, ebp
jne 0x4572a3
mov ebx, eax
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x4c]
mov edi, 5
cmp eax, ebp
jne 0x457327
mov eax, dword [esi + 0x50]
cmp eax, ebp
je 0x457327
cmp dword [esp + 0x40], ebp
je 0x4572d4
mov edx, dword [esp + 0x40]
lea ecx, [esi + 0x5c]
push eax
mov eax, dword [esp + 0x40]
push ecx
push edx
push eax
call fcn.00457a60
add esp, 0x10
mov edx, dword [esi + 0x50]
mov eax, dword [esp + 0x3c]
push ebp
lea ecx, [esp + 0x1c]
push 1
push ecx
push ebp
push edx
push eax
mov dword [esp + 0x30], edi
mov dword [esp + 0x3c], ebp
call fcn.00436860
add esp, 0x18
cmp eax, ebp
je 0x457304
cmp ebx, ebp
jne 0x457304
mov ebx, eax
mov dword [esp + 0x10], ebx
mov ecx, dword [esi + 0x50]
mov edx, dword [esp + 0x3c]
push ecx
push edx
call fcn.00439e40
add esp, 8
cmp eax, ebp
je 0x457321
cmp ebx, ebp
jne 0x457321
mov dword [esp + 0x10], eax
mov dword [esi + 0x50], ebp
mov dword [esi + 0x5c], ebp
mov eax, dword [esp + 0x3c]
mov ebx, 0x1000
cmp dword [eax + 0x15c], ebp
je 0x45736b
test dword [esi + 0x250], ebx
je 0x45736b
cmp dword [esi + 0x248], ebp
jne 0x45736b
mov eax, dword [esi + 0x30]
cmp eax, ebp
je 0x45736b
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.00439e40
add esp, 8
cmp eax, ebp
je 0x45736b
cmp dword [esp + 0x10], ebp
jne 0x45736b
mov dword [esp + 0x10], eax
cmp dword [esp + 0x4c], ebp
je 0x45740a
mov edi, dword [esi + 0x250]
push esi
and edi, 0x20001000
call fcn.00416f20
add esp, 4
cmp eax, ebp
jne 0x457508
push esi
call fcn.00416d40
add esp, 4
cmp eax, ebp
jne 0x457508
push esi
call fcn.00416880
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x4573ba
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
mov edx, dword [esi + 0x24c]
or edx, edi
test ebx, edi
mov dword [esi + 0x250], edx
je 0x457400
lea ecx, [esi + 0x30]
xor eax, eax
mov edx, dword [esp + 0x44]
push 1
mov dword [ecx], eax
push 1
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
mov edi, dword [esi + 0x250]
mov eax, dword [edx]
or edi, ebx
push eax
mov dword [esi + 0x250], edi
call fcn.00414c60
add esp, 0xc
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
mov edx, dword [esp + 0x3c]
lea ecx, [esi + 0x20]
push ecx
push edx
mov dword [esi + 0x18], edi
call fcn.004419b0
add esp, 8
cmp eax, ebp
je 0x45742c
cmp dword [esp + 0x10], ebp
jne 0x45742c
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x24]
cmp eax, ebp
je 0x457443
push eax
mov eax, dword [esi + 0x14]
push eax
call fcn.00410cc0
add esp, 8
mov dword [esi + 0x24], ebp
mov eax, dword [esi + 0x28]
cmp eax, ebp
je 0x45745a
mov ecx, dword [esi + 0x14]
push eax
push ecx
call fcn.00410cc0
add esp, 8
mov dword [esi + 0x28], ebp
mov eax, dword [esi + 0x78]
lea edi, [esi + 0x78]
cmp eax, ebp
je 0x457471
mov edx, dword [esi + 0x14]
push eax
push edx
call fcn.00410cc0
add esp, 8
mov eax, dword [esi + 0x90]
lea ebp, [esi + 0x90]
test eax, eax
je 0x45748e
push eax
mov eax, dword [esi + 0x14]
push eax
call fcn.00410cc0
add esp, 8
mov eax, dword [esi + 0xa8]
lea ebx, [esi + 0xa8]
test eax, eax
je 0x4574ab
mov ecx, dword [esi + 0x14]
push eax
push ecx
call fcn.00410cc0
add esp, 8
mov ecx, 6
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, 6
mov edi, ebp
rep stosd dword es:[edi], eax
mov ecx, 6
mov edi, ebx
rep stosd dword es:[edi], eax
lea eax, [esi + 0x30]
xor edx, edx
mov ecx, dword [esp + 0x40]
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
xor eax, eax
cmp ecx, eax
mov dword [esi + 0x44], eax
mov dword [esi + 0x4c], eax
mov dword [esi + 0x54], eax
mov dword [esi + 0x58], eax
mov dword [esi + 0x6c], eax
mov dword [esi + 0x2c], eax
je 0x4574f8
mov dword [esi + 0x5c], eax
mov ecx, dword [esi + 0x24c]
mov eax, dword [esp + 0x10]
mov dword [esi + 0x250], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret