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

Disassembly:
push 0xffffffffffffffff
push 0x53792c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc8
mov eax, dword [esp + 0xd8]
push ebx
push ebp
push esi
movsx edx, word [eax + 0x7a]
push edi
mov edi, ecx
movsx ecx, word [eax + 0x78]
movsx eax, word [eax + 0x7c]
mov esi, dword [edi + 0x120]
mov dword [esp + 0x60], eax
mov ax, word [edi + 0x104]
xor ebx, ebx
cmp ax, bx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x14], esi
je 0x456ef8
and eax, 0xffff
lea ebp, [edi + 8]
push ebx
or ah, 0x80
push ebp
push eax
jmp 0x456f0d
mov al, byte [edi + 0x10c]
lea ebp, [edi + 8]
test al, 8
push ebx
push ebp
jne 0x456f0b
push 0x1b
jmp 0x456f0d
push 0x1c
call fcn.00471ea0
add esp, 0xc
push ebx
push 0x2bc
push ebx
push ebp
call fcn.004e6840
mov ecx, ebp
add esp, 0x10
cmp eax, 0xffffffff
mov edx, dword [ecx]
mov dword [esp + 0x90], edx
mov edx, dword [ecx + 4]
mov dword [esp + 0x94], edx
mov ecx, dword [ecx + 8]
mov dword [esp + 0x98], ecx
je 0x456f55
add eax, 0xfffce000
mov dword [esp + 0x94], eax
lea edx, [esp + 0x90]
push 0x7d0
push edx
call fcn.00403250
mov al, byte [edi + 0x10c]
add esp, 8
test al, 0x20
je 0x457135
push ebp
call fcn.0043cf90
mov ecx, dword [0x6a9038]
mov eax, dword [edi + 0xc]
add esp, 4
sub eax, dword [ecx + 0xc]
sar eax, 0xc
cmp eax, 0xfffffed4
jle 0x45702e
cmp eax, 0x12c
jge 0x45702e
add ecx, 8
push ecx
push ebp
call fcn.004e6220
add esp, 8
cmp eax, 0x400
jge 0x45702e
lea eax, [eax + eax*2]
mov ecx, dword [0x6a9038]
mov esi, dword [edi + 0x10]
mov dword [esp + 0x2c], ebx
lea eax, [eax + eax*4]
mov dword [esp + 0x30], ebx
shl eax, 1
cdq
and edx, 0x3ff
mov dword [esp + 0x34], ebx
add eax, edx
mov byte [esp + 0x20], 0xc
sar eax, 0xa
mov word [esp + 0x28], ax
mov eax, dword [ecx + 0x10]
mov ecx, dword [ecx + 8]
sub eax, esi
mov esi, dword [ebp]
mov dword [esp + 0x30], ebx
sub ecx, esi
sar eax, 0xc
sar ecx, 0xc
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], ecx
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x2c]
push eax
push ecx
call fcn.00470430
mov ecx, dword [0x6a9038]
add esp, 8
lea eax, [esp + 0x20]
mov edx, dword [ecx]
push eax
call dword [edx + 0xc]
mov esi, dword [0x56e990]
cmp esi, ebx
je 0x457131
test byte [esi + 0x46], 0x10
je 0x457126
mov eax, dword [edi + 0xc]
mov ecx, dword [esi + 0xc]
sub eax, ecx
sar eax, 0xc
cmp eax, 0xfffffed4
jle 0x457126
cmp eax, 0x12c
jge 0x457126
lea ebx, [esi + 8]
push ebx
push ebp
call fcn.004e6220
add esp, 8
cmp word [esi + 0x38], 0x144
jne 0x457093
cmp eax, 0x400
jg 0x457124
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x48]
jmp 0x457124
cmp eax, 0x400
jge 0x457124
lea eax, [eax + eax*4]
mov ecx, dword [ebx]
mov ebx, dword [ebp]
mov byte [esp + 0x20], 0x1c
lea eax, [eax + eax*4]
sub ecx, ebx
shl eax, 1
cdq
and edx, 0x3ff
mov dword [esp + 0x30], 0
add eax, edx
mov edx, dword [edi + 0x10]
sar eax, 0xa
mov word [esp + 0x28], ax
mov eax, dword [esi + 0x10]
sub eax, edx
sar eax, 0xc
sar ecx, 0xc
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], ecx
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x2c]
push eax
push ecx
call fcn.00470430
mov edx, dword [edi + 0x10c]
mov eax, dword [esi]
and dl, 0x20
add esp, 8
neg dl
sbb edx, edx
lea ecx, [esp + 0x20]
and edx, 0xc8
push ecx
add edx, 0x12c
mov ecx, esi
mov word [esp + 0x3c], dx
mov word [esp + 0x3e], 0xf
call dword [eax + 0xc]
xor ebx, ebx
mov esi, dword [esi + 0x20]
cmp esi, ebx
jne 0x45703c
mov esi, dword [esp + 0x14]
mov edx, dword [esi]
xor eax, eax
add esi, 4
test edx, edx
je 0x457448
mov ecx, dword [esi]
inc eax
add esi, 4
test ecx, ecx
jne 0x457144
cmp eax, ebx
mov dword [esp + 0x14], eax
je 0x457448
cmp dword [esp + 0x5c], 0xfffff448
jge 0x457272
lea edx, [edi + 0x60]
push edx
push 0x60d9d0
call fcn.004e61a0
mov ebx, eax
add esp, 8
shr ebx, 1
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
mov edx, dword [edi + 0x64]
and eax, 0xfff
push 0x100
shl eax, 2
neg edx
movsx ecx, word [eax + 0x610c48]
movsx eax, word [eax + 0x610c4a]
imul ecx, ebx
imul eax, ebx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], eax
call fcn.00455390
mov esi, eax
add esp, 4
mov dword [esp + 0x1c], esi
test esi, esi
mov dword [esp + 0xe0], 0
je 0x457202
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x78]
push ecx
push ebp
push edx
call fcn.004e5da0
mov ecx, dword [edi + 0x120]
add esp, 4
mov edx, dword [ecx + eax*4]
mov ecx, esi
push edx
call fcn.00456450
mov eax, dword [esp + 0x10]
mov dword [esp + 0xe0], 0xffffffff
add eax, 0x2aa
cmp eax, 0xffc
mov dword [esp + 0x10], eax
jl 0x457185
xor eax, eax
mov ecx, 0x1000
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x9c], ecx
push 0x18
lea eax, [esp + 0xa0]
push 0x12c
lea ecx, [esp + 0x8c]
push eax
push ecx
jmp 0x45743f
lea esi, [edi + 0x60]
push esi
push 0x60d9d0
call fcn.004e61a0
shr eax, 1
push esi
push 0x60d9d0
mov dword [esp + 0x64], eax
call fcn.004e6150
shr eax, 1
mov dword [esp + 0x20], eax
lea edx, [esp + 0x4c]
lea eax, [esp + 0x74]
push edx
lea ecx, [esp + 0x6c]
push eax
push ecx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
call fcn.004e5e20
add esp, 0x1c
mov esi, ebx
lea eax, [esp + 0x74]
and esi, 0xfff
lea ecx, [esp + 0x64]
shl esi, 2
push eax
push ecx
movsx edx, word [esi + 0x610c48]
mov dword [esp + 0x20], edx
lea edx, [esp + 0x20]
lea eax, [esp + 0x8c]
push edx
push eax
mov dword [esp + 0x84], 0xc
call fcn.004e77d0
add esp, 0xc
lea ecx, [esp + 0xa0]
push eax
push ecx
call fcn.004e7840
push eax
lea edx, [esp + 0x20]
lea eax, [esp + 0x88]
push edx
push eax
call fcn.004e77d0
mov ecx, dword [eax]
mov dword [esp + 0x60], ecx
lea ecx, [esp + 0x70]
mov edx, dword [eax + 4]
push ecx
mov dword [esp + 0x68], edx
lea edx, [esp + 0x70]
mov eax, dword [eax + 8]
push edx
mov dword [esp + 0x70], eax
lea eax, [esp + 0xec]
push eax
call fcn.004e77d0
add esp, 0x24
lea ecx, [esp + 0x48]
push eax
call fcn.004e7590
movsx ecx, word [esi + 0x610c4a]
lea edx, [esp + 0x70]
mov dword [esp + 0x1c], ecx
lea eax, [esp + 0x3c]
push edx
lea ecx, [esp + 0x20]
push eax
lea edx, [esp + 0xb0]
push ecx
push edx
mov dword [esp + 0x80], 0xc
call fcn.004e77d0
add esp, 0xc
push eax
lea eax, [esp + 0xc8]
push eax
call fcn.004e7840
lea ecx, [esp + 0x1c]
push eax
lea edx, [esp + 0xc4]
push ecx
push edx
call fcn.004e77d0
add esp, 0x18
lea ecx, [esp + 0x48]
push eax
call fcn.004e7590
push 0x100
call fcn.00455390
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
test esi, esi
mov dword [esp + 0xe0], 1
je 0x457411
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x48]
push eax
push ebp
push ecx
call fcn.004e5da0
mov edx, dword [edi + 0x120]
add esp, 4
mov ecx, esi
mov eax, dword [edx + eax*4]
push eax
call fcn.00456450
add ebx, 0x2aa
mov dword [esp + 0xe0], 0xffffffff
cmp ebx, 0xffc
jl 0x4572cf
push 0x18
lea ecx, [esp + 0x40]
push 0x12c
lea edx, [esp + 0x6c]
push ecx
push edx
push ebp
call fcn.0043b2a0
add esp, 0x14
mov al, byte [edi + 0x124]
test al, al
jne 0x457471
xor eax, eax
mov byte [edi + 0x124], 1
mov ax, word [edi + 0xde]
push eax
call fcn.004e3880
push eax
call fcn.004dfd30
add esp, 8
mov ecx, dword [esp + 0xd8]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xd4
ret 8