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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x34]
cmp eax, dword [ecx + 8]
jbe 0x5eb063
sub esp, 0xb4
mov edx, dword [esp + 0xb8]
mov ebx, dword [edx + 0x10]
mov ebp, dword [esp + 0xc0]
cmp ebp, 0x18
jl 0x5eafef
mov dword [esp + 0x64], ebx
lea esi, [esp + 4]
mov dword [esp + 0x7c], esi
mov edi, dword [esp + 0xbc]
mov eax, dword [esp + 0xc4]
xor ecx, ecx
xor ecx, ecx
mov dword [esp + 0x58], ecx
xor ecx, ecx
mov dword [esp + 0x54], ecx
xor ecx, ecx
mov dword [esp + 0x60], ecx
xor ecx, ecx
jmp 0x5eaa03
sub edx, edi
mov eax, dword [esp + 0x74]
sub eax, edi
mov dword [esp + 0xc4], eax
neg eax
sar eax, 0x1f
and eax, edi
mov edi, dword [esp + 0x78]
add edi, eax
mov eax, dword [esp + 0xb8]
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x58], esi
mov dword [esp + 0x54], ebp
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x64]
mov esi, dword [esp + 0x7c]
mov ebp, edx
mov edx, dword [esp + 0xb8]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x68], 0
mov word [esp + 0x3e], 0
mov byte [esp + 0x3d], 0
mov byte [esp + 0x3c], 0
cmp ebp, 0x18
jl 0x5eaec6
nop
mov ebx, dword [edi]
mov dword [esp + 0x68], ebx
cmp dword [edx], ebx
jne 0x5eaeb4
nop
lea ebx, [ebp - 4]
test ebx, ebx
jbe 0x5eb059
movzx ebx, byte [edi + 4]
mov byte [esp + 0x3d], bl
nop
lea ebx, [eax - 5]
neg ebx
sar ebx, 0x1f
and ebx, 1
lea esi, [edi + ebx + 4]
lea edx, [ebp - 5]
test edx, edx
jbe 0x5eb050
movzx edx, byte [edi + ebx + 4]
mov byte [esp + 0x3c], dl
nop
lea edx, [eax - 6]
neg edx
sar edx, 0x1f
and edx, 1
lea ebx, [esi + edx]
lea edi, [ebp - 6]
cmp edi, 1
jbe 0x5eb044
movzx edx, word [esi + edx]
mov word [esp + 0x3e], dx
nop
lea edx, [eax - 8]
neg edx
sar edx, 0x1f
and edx, 2
lea esi, [edx + ebx]
lea edi, [ebp - 8]
cmp edi, 3
jbe 0x5eb038
mov edx, dword [edx + ebx]
mov dword [esp + 0x48], edx
nop
lea edx, [eax - 0xc]
neg edx
sar edx, 0x1f
and edx, 4
lea ebx, [esi + edx]
lea edi, [ebp - 0xc]
cmp edi, 3
jbe 0x5eb02c
mov edx, dword [esi + edx]
mov dword [esp + 0x4c], edx
nop
lea edx, [eax - 0x10]
neg edx
sar edx, 0x1f
and edx, 4
lea esi, [ebx + edx]
lea edi, [ebp - 0x10]
cmp edi, 3
jbe 0x5eb020
mov edx, dword [ebx + edx]
mov dword [esp + 0x44], edx
nop
lea edx, [eax - 0x14]
neg edx
sar edx, 0x1f
and edx, 4
lea ebx, [esi + edx]
lea edi, [ebp - 0x14]
cmp edi, 3
jbe 0x5eb014
mov edx, dword [esi + edx]
mov dword [esp + 0x50], edx
add eax, 0xffffffe8
mov esi, eax
neg eax
sar eax, 0x1f
and eax, 4
add eax, ebx
lea ebx, [ebp - 0x18]
cmp ebx, edx
jl 0x5eaea2
movzx edx, byte [esp + 0x3d]
cmp dl, 0x51
je 0x5eab73
cmp dl, 0x52
je 0x5eab73
cmp dl, 0x53
je 0x5eab73
cmp dl, 0x54
jne 0x5eae90
mov dword [esp + 0x40], ebx
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], eax
movzx edx, byte [esp + 0xc8]
test dl, dl
je 0x5eae84
movzx ebp, word [esp + 0x3e]
mov edi, dword [esp + 0xb8]
mov dword [edi + 0x38], ebp
mov dword [esp], edi
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
call fcn.005ea0b0
nop
mov eax, dword [esp + 0xb8]
mov ecx, dword [eax + 0x8c]
mov edx, dword [eax + 0x88]
test ecx, ecx
jle 0x5eae79
mov ebx, dword [edx + 0xc]
mov dword [eax + 0x10], ebx
movzx ebx, byte [esp + 0x3d]
cmp bl, 0x52
je 0x5eae2b
cmp bl, 0x51
jne 0x5eadfe
mov ebx, dword [esp + 0x4c]
mov ebp, dword [eax + 0x34]
add ebp, dword [eax + 0x18]
mov ecx, ebx
sub ebx, ebp
test ebx, ebx
jge 0x5eadea
mov ebx, dword [esp + 0x48]
mov ebp, dword [eax + 0xa4]
mov edx, ebx
mov ebx, dword [eax + 0xa0]
mov esi, ebx
lea ebx, [ebp + 1]
mov edi, ebp
mov ebp, dword [eax + 0xa8]
cmp ebx, ebp
ja 0x5ead7b
lea ebx, [edi + 1]
mov dword [eax + 0xa4], ebx
lea ebx, [esi + edi*8]
mov dword [ebx], ecx
lea ebx, [esi + edi*8]
mov dword [ebx + 4], edx
mov ebx, dword [esp + 0x4c]
sub ebx, dword [eax + 0x18]
test ebx, ebx
jge 0x5eacb9
movzx edx, byte [esp + 0xc8]
test dl, dl
mov ecx, 1
je 0x5eac58
test cl, cl
jne 0x5eac83
mov ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x54]
add ebp, 1
mov esi, dword [esp + 0x58]
adc esi, 0
mov edi, dword [esp + 0x50]
mov edx, dword [esp + 0x40]
cmp edi, edx
jbe 0x5ea9bc
jmp 0x5eb006
mov eax, dword [0xe79a50]
test byte [eax], al
add eax, 0x98
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 0
call fcn.0045d5d0
mov eax, dword [esp + 0xb8]
movzx edx, byte [esp + 0xc8]
jmp 0x5eac58
lea edi, [esp + 0x80]
xor eax, eax
call fcn.00456d73
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x80], ecx
movzx ecx, byte [esp + 0x3d]
mov byte [esp + 0x84], cl
movzx ecx, byte [esp + 0x3c]
mov byte [esp + 0x85], cl
movzx ecx, word [esp + 0x3e]
mov word [esp + 0x86], cx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x74]
cmp ecx, edx
ja 0x5eb00f
mov eax, dword [esp + 0x78]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], edx
mov ecx, dword [esp + 0xb8]
mov dword [esp], ecx
mov edi, dword [esp + 0x7c]
lea esi, [esp + 0x80]
call fcn.0045720e
call fcn.005ea2c0
movzx ecx, byte [esp + 0x38]
movzx edx, byte [esp + 0xc8]
test dl, dl
mov eax, dword [esp + 0xb8]
jmp 0x5eac52
mov dword [esp + 0x70], ecx
mov dword [esp + 0x6c], edx
lea eax, [0x958980]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.004402d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xb8]
mov dword [ebx + 0xa8], edx
mov edx, dword [0xe8ff30]
test edx, edx
jne 0x5eaddd
mov dword [ebx + 0xa0], eax
mov edx, dword [esp + 0x6c]
mov edi, ecx
mov esi, eax
mov eax, ebx
mov ecx, dword [esp + 0x70]
jmp 0x5eac24
lea edi, [ebx + 0xa0]
call fcn.00456ab0
jmp 0x5eadca
movzx edx, byte [esp + 0xc8]
test dl, dl
mov ecx, 1
jmp 0x5eac52
cmp bl, 0x53
jne 0x5eae14
or dword [eax + 0x40], 2
movzx edx, byte [esp + 0xc8]
jmp 0x5eac58
cmp bl, 0x54
je 0x5eae07
mov dword [esp + 0xcc], 0xfffffffd
add esp, 0xb4
ret
mov dword [esp], eax
mov ecx, dword [esp + 0x4c]
mov dword [esp + 4], ecx
call fcn.005e9ee0
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov ecx, dword [esp + 0x4c]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 8], ecx
call fcn.005ea000
mov ecx, dword [esp + 0x5c]
or ecx, 1
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0xb8]
movzx edx, byte [esp + 0xc8]
jmp 0x5eac60
mov ebx, dword [eax + 0x14]
mov dword [eax + 0x10], ebx
jmp 0x5eabd0
mov edi, dword [esp + 0xb8]
jmp 0x5eab9e
mov dword [esp + 0xcc], 0xfffffffd
add esp, 0xb4
ret
mov dword [esp + 0xcc], 0xfffffffe
add esp, 0xb4
ret
mov dword [esp + 0xcc], 0xffffffff
add esp, 0xb4
ret
mov eax, dword [0xe79a50]
test byte [eax], al
add eax, 0x58
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 8], eax
call fcn.0045d5d0
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x5eaf01
movzx ecx, byte [esp + 0xc8]
test cl, cl
jne 0x5eafc1
mov ecx, dword [esp + 0xb8]
mov edx, dword [ecx + 0x68]
test edx, edx
jne 0x5eaf47
mov edx, dword [ecx + 0x10]
mov ebx, dword [esp + 0x64]
sub edx, ebx
test edx, edx
jle 0x5eaf47
mov edx, dword [ecx + 0x3c]
cmp dword [ecx + 0x38], edx
jbe 0x5eaf47
mov eax, dword [ecx + 8]
cmp dword [ecx + 0x1c], edx
jbe 0x5eaf7e
inc edx
mov dword [ecx + 0x3c], edx
add dword [ecx + 0x60], eax
mov edx, dword [ecx + 0x38]
cmp dword [ecx + 0x3c], edx
jbe 0x5eaf47
mov dword [ecx + 0x3c], edx
mov edx, dword [ecx + 0x38]
imul eax, edx
mov dword [ecx + 0x60], eax
movzx eax, byte [esp + 0xc9]
test al, al
je 0x5eaf5d
mov eax, dword [ecx + 0xa4]
test eax, eax
jg 0x5eaf6f
mov dword [esp + 0xcc], 0
add esp, 0xb4
ret
mov dword [esp], ecx
mov byte [esp + 4], 1
call fcn.005eb070
jmp 0x5eaf5d
cmp dword [ecx + 0x60], eax
jae 0x5eaf86
mov dword [ecx + 0x60], eax
mov edx, eax
imul eax, eax
mov ebx, dword [ecx + 0x60]
test ebx, ebx
je 0x5eb001
mov dword [esp + 0x70], edx
xor edx, edx
div ebx
mov edx, dword [esp + 0x70]
mov ebp, edx
shr edx, 4
add edx, eax
add edx, ebx
mov dword [ecx + 0x60], edx
mov ebx, dword [ecx + 0x3c]
inc ebx
mov esi, ebp
imul ebp, ebx
cmp ebp, edx
ja 0x5eafba
mov dword [ecx + 0x3c], ebx
mov eax, esi
jmp 0x5eaf33
call fcn.005e9040
mov eax, dword [esp]
mov ecx, dword [esp + 0x60]
sub eax, ecx
test eax, eax
jl 0x5eaf01
mov ecx, dword [esp + 0xb8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.005e9e30
jmp 0x5eaf01
mov dword [esp + 0xcc], 0xffffffff
add esp, 0xb4
ret
call fcn.0042c070
mov eax, edi
mov ecx, edx
call fcn.00456ba0
call fcn.00456b80
mov eax, 3
mov ecx, edi
call fcn.00456b30
mov eax, 3
mov ecx, edi
call fcn.00456b30
mov eax, 3
mov ecx, edi
call fcn.00456b30
mov eax, 3
mov ecx, edi
call fcn.00456b30
mov eax, 1
mov ecx, edi
call fcn.00456b30
xor eax, eax
mov ecx, edx
call fcn.00456b30
xor eax, eax
mov ecx, ebx
call fcn.00456b30
nop
call fcn.00455270
jmp fcn.005ea950