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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5e4a26
sub esp, 0x6c
mov eax, dword [esp + 0x74]
test eax, eax
je 0x5e42e0
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x893554]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
call fcn.0051d680
mov eax, dword [esp + 0x10]
test eax, eax
je 0x5e4274
lea ecx, [eax + 1]
mov edx, dword [esp + 0x74]
cmp edx, ecx
je 0x5e424b
mov dword [esp + 0x58], eax
mov dword [esp + 0x28], ecx
lea eax, [0x67df60]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], edx
call fcn.00447740
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x58]
cmp ecx, 0xffffffff
je 0x5e4240
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
mov ebp, ebx
xor esi, esi
xor edi, edi
jmp 0x5e497e
mov ecx, dword [esp + 0x74]
xor edx, edx
jmp 0x5e430a
mov eax, dword [esp + 0x70]
mov dword [esp + 0x78], eax
lea eax, [edx - 1]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
add esp, 0x6c
ret
lea eax, [0x69cf00]
mov dword [esp], eax
call fcn.0040af90
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x74]
mov dword [edi + 4], eax
mov eax, dword [0xa43e50]
test eax, eax
jne 0x5e429f
mov eax, dword [esp + 0x70]
mov dword [edi], eax
jmp 0x5e42a8
mov eax, dword [esp + 0x70]
call fcn.0045f670
mov dword [edi + 0xc], 2
lea eax, [0x6b6d81]
mov dword [edi + 8], eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
lea eax, [0x89560c]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edi
add esp, 0x6c
ret
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
add esp, 0x6c
ret
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x28]
xor edi, edi
mov edi, 0x48
mov dword [esp + 0x48], edi
mov edi, pe_nt_image_headers32
mov dword [esp + 0x34], edi
xor edi, edi
jmp 0x5e435d
mov ecx, dword [esp + 0x3c]
mov dword [eax + ecx*4], ebx
mov ecx, dword [esp + 0x74]
mov ebp, dword [esp + 0x70]
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x50]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x74]
cmp ebx, esi
jle 0x5e4521
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x64], eax
mov dword [esp + 0x3c], edi
mov dword [esp + 0x5c], eax
mov eax, 1
mov dword [esp + 0x20], eax
mov eax, 0x24
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x5c]
jmp 0x5e458e
mov ecx, dword [esp + 0x2c]
cmp ecx, 0x400
jge 0x5e4730
mov edx, dword [esp + 0x3c]
mov ebx, ebp
sub ebp, edx
test edx, edx
jne 0x5e43c1
mov eax, 0x5d9f7391
imul ebp
sar edx, 8
sar ebp, 0x1f
sub edx, ebp
jmp 0x5e43cc
mov esi, ebp
shr ebp, 0x1f
lea edx, [ebp + esi]
sar edx, 1
inc ecx
test ecx, ecx
je 0x5e4971
mov eax, edx
mov ebp, eax
cmp ecx, 0xffffffff
je 0x5e43e3
cdq
idiv ecx
jmp 0x5e43e5
neg eax
lea edx, [ebp + eax]
xor eax, eax
jmp 0x5e48f3
lea ebp, [edx + edx*8]
cmp edx, 0xffffffda
je 0x5e496c
mov dword [esp + 0x44], edx
mov esi, eax
mov eax, ebx
cmp ecx, 0xffffffff
je 0x5e440e
cdq
idiv ecx
jmp 0x5e4410
neg eax
mov edx, dword [esp + 0x34]
add edx, eax
mov eax, ebx
mov ebx, edx
cmp ecx, 0xffffffff
je 0x5e4424
cdq
idiv ecx
jmp 0x5e4426
xor edx, edx
mov dword [esp + 0x3c], edx
shl ebp, 2
mov edi, dword [esp + 0x44]
add edi, 0x26
mov eax, ebp
cmp edi, 0xffffffff
je 0x5e4440
cdq
idiv edi
jmp 0x5e4442
neg eax
lea edx, [eax + esi]
cmp ebx, 0x10ffff
ja 0x5e4900
mov dword [esp + 0x48], edx
mov dword [esp + 0x54], ebx
mov ebp, dword [esp + 0x30]
cmp ebp, ecx
jb 0x5e4467
mov eax, dword [esp + 0x64]
jmp 0x5e44a3
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x67df60]
mov dword [esp + 0x10], eax
call fcn.00447800
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x54]
mov ebp, edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ebp
mov dword [eax + ecx*4 - 4], 0
mov esi, dword [esp + 0x3c]
mov edi, ebp
sub ebp, esi
dec ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
lea edx, [esi + 1]
mov dword [esp + 0x50], edx
shl edx, 2
sar ebp, 0x1f
and ebp, edx
lea edx, [ebp + eax]
mov ebp, ecx
sub ecx, esi
dec ecx
sub ebp, esi
sub edi, esi
xchg edi, ebx
neg ebx
xchg edi, ebx
shl esi, 2
sar edi, 0x1f
and edi, esi
lea esi, [edi + eax]
cmp ebp, ecx
jl 0x5e44f5
mov ebp, ecx
cmp esi, edx
je 0x5e432e
mov dword [esp + 0x68], eax
mov dword [esp], edx
mov dword [esp + 4], esi
shl ebp, 2
mov dword [esp + 8], ebp
call fcn.0045fe60
mov eax, dword [esp + 0x68]
mov ebx, dword [esp + 0x54]
jmp 0x5e432e
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
call fcn.0044b5f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
add esp, 0x6c
ret
lea ecx, [ebx + 0x24]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x70]
mov edx, dword [esp + 0x48]
mov edi, dword [esp + 0x54]
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x30]
cmp ebx, esi
je 0x5e4874
movzx ecx, byte [ebp + esi]
lea edx, [ecx - 0x30]
cmp dl, 9
ja 0x5e45b0
add ecx, 0xffffffea
movzx ecx, cl
mov edx, 1
jmp 0x5e45d8
lea edx, [ecx - 0x41]
cmp dl, 0x19
ja 0x5e45c2
movzx ecx, dl
mov edx, 1
jmp 0x5e45d8
add ecx, 0xffffff9f
cmp cl, 0x19
ja 0x5e45d4
movzx ecx, cl
mov edx, 1
jmp 0x5e45d8
xor ecx, ecx
xor edx, edx
test dl, dl
je 0x5e4808
mov dword [esp + 0x40], ecx
mov dword [esp + 0x54], edi
mov dword [esp + 0x28], esi
mov eax, ecx
mov edx, dword [esp + 0x20]
mul edx
mov ebp, 0x7fffffff
sub ebp, edi
cmp eax, ebp
xchg ebp, ebx
seta bl
xchg ebp, ebx
sar edi, 0x1f
mov ebx, 0x7fffffff
mov esi, dword [esp + 0x54]
sub ebx, esi
mov ebx, 0
sbb ebx, edi
mov edi, ecx
sar ecx, 0x1f
mov esi, dword [esp + 0x20]
imul ecx, esi
sar esi, 0x1f
imul edi, esi
add ecx, edx
add ecx, edi
cmp ebx, ecx
setl cl
sete dl
and edx, ebp
or edx, ecx
test dl, dl
jne 0x5e479c
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x48]
mov ebx, ecx
sub ecx, edx
mov ebp, dword [esp + 0x54]
add ebp, eax
cmp ebx, edx
jg 0x5e4660
mov ecx, 1
jmp 0x5e466c
lea edi, [edx + 0x1a]
cmp ebx, edi
jl 0x5e466c
mov ecx, 0x1a
mov edi, dword [esp + 0x28]
inc edi
mov dword [esp + 0x28], edi
mov edx, dword [esp + 0x40]
cmp ecx, edx
jg 0x5e4394
mov dword [esp + 0x54], ebp
add ecx, 0xffffffdc
neg ecx
mov eax, ecx
mov edx, dword [esp + 0x20]
mul edx
cmp eax, 0x7fffffff
xchg ebp, ebx
seta bl
xchg ebp, ebx
imul esi, ecx
sar ecx, 0x1f
mov edi, dword [esp + 0x20]
imul edi, ecx
lea ecx, [edx + edi]
add ecx, esi
test ecx, ecx
sete cl
setg dl
and ecx, ebp
or edx, ecx
test dl, dl
je 0x5e4563
lea eax, [0x69cf00]
mov dword [esp], eax
call fcn.0040af90
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x74]
mov dword [edi + 4], eax
mov eax, dword [0xa43e50]
test eax, eax
jne 0x5e46ef
mov eax, dword [esp + 0x70]
mov dword [edi], eax
jmp 0x5e46f8
mov eax, dword [esp + 0x70]
call fcn.0045f670
mov dword [edi + 0xc], 2
lea eax, [0x6b6d81]
mov dword [edi + 8], eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
lea eax, [0x89560c]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edi
add esp, 0x6c
ret
lea eax, [0x69cf00]
mov dword [esp], eax
call fcn.0040af90
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x74]
mov dword [edi + 4], eax
mov eax, dword [0xa43e50]
test eax, eax
jne 0x5e475b
mov eax, dword [esp + 0x70]
mov dword [edi], eax
jmp 0x5e4764
mov eax, dword [esp + 0x70]
call fcn.0045f670
mov dword [edi + 0xc], 2
lea eax, [0x6b6d81]
mov dword [edi + 8], eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
lea eax, [0x89560c]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edi
add esp, 0x6c
ret
lea eax, [0x69cf00]
mov dword [esp], eax
call fcn.0040af90
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x74]
mov dword [edi + 4], eax
mov eax, dword [0xa43e50]
test eax, eax
jne 0x5e47c7
mov eax, dword [esp + 0x70]
mov dword [edi], eax
jmp 0x5e47d0
mov eax, dword [esp + 0x70]
call fcn.0045f670
mov dword [edi + 0xc], 2
lea eax, [0x6b6d81]
mov dword [edi + 8], eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
lea eax, [0x89560c]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edi
add esp, 0x6c
ret
lea eax, [0x69cf00]
mov dword [esp], eax
call fcn.0040af90
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x74]
mov dword [edi + 4], eax
mov eax, dword [0xa43e50]
test eax, eax
jne 0x5e4833
mov eax, dword [esp + 0x70]
mov dword [edi], eax
jmp 0x5e483c
mov eax, dword [esp + 0x70]
call fcn.0045f670
mov dword [edi + 0xc], 2
lea eax, [0x6b6d81]
mov dword [edi + 8], eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
lea eax, [0x89560c]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edi
add esp, 0x6c
ret
lea eax, [0x69cf00]
mov dword [esp], eax
call fcn.0040af90
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x74]
mov dword [edi + 4], eax
mov eax, dword [0xa43e50]
test eax, eax
jne 0x5e489f
mov eax, dword [esp + 0x70]
mov dword [edi], eax
jmp 0x5e48a8
mov eax, dword [esp + 0x70]
call fcn.0045f670
mov dword [edi + 0xc], 2
lea eax, [0x6b6d81]
mov dword [edi + 8], eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
lea eax, [0x89560c]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edi
add esp, 0x6c
ret
mov ebp, eax
mov eax, 0xea0ea0eb
mov esi, edx
imul edx
add edx, esi
sar edx, 5
lea eax, [ebp + 0x24]
cmp edx, 0x1c7
jg 0x5e48e0
jmp 0x5e43f0
lea eax, [0x69cf00]
mov dword [esp], eax
call fcn.0040af90
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x74]
mov dword [edi + 4], eax
mov eax, dword [0xa43e50]
test eax, eax
jne 0x5e492b
mov eax, dword [esp + 0x70]
mov dword [edi], eax
jmp 0x5e4934
mov eax, dword [esp + 0x70]
call fcn.0045f670
mov dword [edi + 0xc], 2
lea eax, [0x6b6d81]
mov dword [edi + 8], eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
lea eax, [0x89560c]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edi
add esp, 0x6c
ret
call fcn.00432570
call fcn.00432570
mov dword [eax + edi*4 - 4], ebp
mov ebp, dword [esp + 0x74]
cmp esi, ecx
jge 0x5e4a1d
movzx ebp, byte [edx + esi]
cmp ebp, 0x80
jge 0x5e4995
inc esi
jmp 0x5e49cd
mov dword [esp + 0x2c], edi
mov dword [esp + 0x64], eax
mov dword [esp + 0x30], ebx
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call fcn.004586c0
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
inc edi
cmp ebx, edi
jae 0x5e4976
mov dword [esp + 0x24], ebp
mov dword [esp + 0x4c], esi
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x67df60]
mov dword [esp + 0x10], eax
call fcn.00447800
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x70]
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x4c]
jmp 0x5e4976
mov ecx, ebx
mov edx, edi
jmp 0x5e430a
call fcn.0045e260
jmp fcn.005e41a0