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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x2d4]
cmp eax, dword [ecx + 8]
jbe 0x5e3b7a
sub esp, 0x354
mov ecx, dword [esp + 0x358]
mov edx, dword [ecx + 0x138]
mov eax, dword [ecx + 0x13c]
test edx, edx
je 0x5e30c3
nop
movzx ebx, byte [0x86e3e0]
test bl, bl
je 0x5e3089
mov dword [0x86e3e4], edx
mov ebx, dword [0x893c80]
test ebx, ebx
jne 0x5e307e
mov dword [0x86e3e8], eax
jmp 0x5e3089
lea edi, [0x86e3e8]
call fcn.00463680
mov dword [esp + 0x274], edx
mov dword [esp + 0x278], eax
mov edx, dword [esp + 0x274]
test edx, edx
je 0x5e30bb
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x5e30c9
or ebx, 0x80
jmp 0x5e30c9
xor ebx, ebx
xor edx, edx
xor eax, eax
jmp 0x5e30c9
xor ebx, ebx
xor edx, edx
xor eax, eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x258], eax
mov dword [esp + 0x254], edx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0x18
call fcn.004b7aa0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
and eax, 0x1f
mov dword [esp + 0x78], eax
cmp eax, 9
ja 0x5e3128
cmp eax, 7
jne 0x5e3110
mov eax, dword [ecx]
jmp 0x5e3145
cmp eax, 8
jne 0x5e311a
movzx eax, byte [ecx]
jmp 0x5e3145
cmp eax, 9
jne 0x5e3b3f
movzx eax, word [ecx]
jmp 0x5e3145
cmp eax, 0xa
jne 0x5e3131
mov eax, dword [ecx]
jmp 0x5e3145
cmp eax, 0xb
jne 0x5e313a
mov eax, dword [ecx]
jmp 0x5e3145
cmp eax, 0xc
jne 0x5e3b3f
mov eax, dword [ecx]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x254]
mov dword [esp], ecx
mov edx, dword [esp + 0x258]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x24]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0x17
call fcn.004b7aa0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
and eax, 0x1f
mov dword [esp + 0x78], eax
cmp eax, 9
ja 0x5e31ae
cmp eax, 7
jne 0x5e3192
mov eax, dword [ecx]
xor ecx, ecx
jmp 0x5e31d2
cmp eax, 8
jne 0x5e319e
movzx eax, byte [ecx]
xor ecx, ecx
jmp 0x5e31d2
cmp eax, 9
jne 0x5e3b05
movzx eax, word [ecx]
xor ecx, ecx
jmp 0x5e31d2
cmp eax, 0xa
jne 0x5e31b9
mov eax, dword [ecx]
xor ecx, ecx
jmp 0x5e31d2
cmp eax, 0xb
jne 0x5e31c5
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x5e31d2
cmp eax, 0xc
jne 0x5e3b05
mov eax, dword [ecx]
xor ecx, ecx
test ecx, ecx
seta dl
sete bl
test eax, eax
xchg ebp, ebx
seta bl
xchg ebp, ebx
and ebx, ebp
or ebx, edx
test bl, bl
je 0x5e33ef
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x34]
and edx, 0xf0000000
shr edx, 0x1c
mov dword [esp + 0x74], edx
mov ebx, dword [esp + 0x358]
movzx ebp, byte [ebx + 0x294]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5e3303
mov eax, dword [esp + 0x254]
mov dword [esp], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x16
call fcn.004b7aa0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
and eax, 0x1f
mov dword [esp + 0x78], eax
cmp eax, 9
ja 0x5e327b
cmp eax, 7
jne 0x5e3263
mov ecx, dword [ecx]
jmp 0x5e3298
cmp eax, 8
jne 0x5e326d
movzx ecx, byte [ecx]
jmp 0x5e3298
cmp eax, 9
jne 0x5e3acb
movzx ecx, word [ecx]
jmp 0x5e3298
cmp eax, 0xa
jne 0x5e3284
mov ecx, dword [ecx]
jmp 0x5e3298
cmp eax, 0xb
jne 0x5e328d
mov ecx, dword [ecx]
jmp 0x5e3298
cmp eax, 0xc
jne 0x5e3acb
mov ecx, dword [ecx]
mov dword [esp + 0x2c], ecx
lea edi, [esp + 0x84]
xor eax, eax
call fcn.004638e8
mov ecx, dword [esp + 0x358]
mov edx, dword [ecx + 0x78]
mov esi, dword [ecx + 0x7c]
lea ebx, [0x665460]
cmp edx, ebx
jne 0x5e3ab5
lea edi, [esp + 0x84]
call fcn.00463c00
mov eax, dword [esp + 0x2c]
sub eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x358]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.005de420
mov eax, dword [esp + 8]
mov ecx, 1
xor edx, edx
xor ebx, ebx
xor ebp, ebp
jmp 0x5e379e
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0x254]
mov dword [esp], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x16
call fcn.004b7aa0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
and eax, 0x1f
mov dword [esp + 0x78], eax
cmp eax, 9
ja 0x5e3366
cmp eax, 7
jne 0x5e334e
mov ecx, dword [ecx]
jmp 0x5e3383
cmp eax, 8
jne 0x5e3358
movzx ecx, byte [ecx]
jmp 0x5e3383
cmp eax, 9
jne 0x5e374c
movzx ecx, word [ecx]
jmp 0x5e3383
cmp eax, 0xa
jne 0x5e336f
mov ecx, dword [ecx]
jmp 0x5e3383
cmp eax, 0xb
jne 0x5e3378
mov ecx, dword [ecx]
jmp 0x5e3383
cmp eax, 0xc
jne 0x5e374c
mov ecx, dword [ecx]
mov dword [esp + 0x28], ecx
lea edi, [esp + 0x164]
xor eax, eax
call fcn.004638e4
mov ecx, dword [esp + 0x358]
mov edx, dword [ecx + 0x78]
mov esi, dword [ecx + 0x7c]
lea ebx, [0x664f20]
cmp edx, ebx
jne 0x5e3736
lea edi, [esp + 0x164]
call fcn.00463bd8
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x28]
sub ecx, eax
mov eax, dword [esp + 0x358]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.005de420
mov eax, dword [esp + 8]
xor ecx, ecx
mov edx, 1
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x5e342a
xor eax, eax
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x35c], edx
mov dword [esp + 0x360], ecx
mov dword [esp + 0x364], eax
add esp, 0x354
ret
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x48]
mov eax, ebx
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x264]
mov esi, dword [esp + 0x70]
mov dword [esp + 0x64], ebx
mov dword [esp + 0x264], ebp
mov edi, dword [esp + 0x38]
cmp ecx, edi
setb bl
mov ebp, dword [esp + 0x30]
cmp edx, ebp
xchg ebp, ebx
setbe bl
xchg ebp, ebx
cmp ecx, edi
xchg edi, ebx
sete bl
xchg edi, ebx
and ebp, edi
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5e3691
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x60], esi
mov dword [esp + 0x48], edx
mov dword [esp + 0x40], eax
lea eax, [0x638820]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x358]
mov edx, dword [ecx + 0x2ac]
add edx, 0xfffffffc
mov ebx, dword [esp + 0x40]
cmp ebx, edx
jbe 0x5e34a6
mov edx, dword [0x86dc50]
xor ebp, ebp
jmp 0x5e34dd
mov edx, dword [ecx + 0x28c]
mov ebp, dword [ecx + 0x288]
mov esi, dword [ecx + 0x290]
cmp ebx, edx
ja 0x5e372d
sub edx, ebx
sub esi, ebx
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, ebx
cmp edx, 3
jbe 0x5e3721
mov ebp, dword [esi + ebp]
xor edx, edx
test edx, edx
jne 0x5e3666
mov dword [esp + 0x54], ebp
mov edx, dword [esp + 0x74]
test edx, edx
xchg esi, ebx
seta bl
xchg esi, ebx
and esi, 1
xchg esi, eax
test al, al
xchg esi, eax
jne 0x5e350a
xor eax, eax
xor esi, esi
xor edi, edi
jmp 0x5e3593
mov dword [esp + 0x26c], eax
mov dword [esp], ecx
lea ebp, [0x62cb60]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
lea esi, [ebx + 4]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edx
call fcn.005df110
mov eax, dword [esp + 0x26c]
movzx eax, byte [eax]
cmp al, 1
je 0x5e3546
cmp al, 2
jne 0x5e3576
mov byte [esp + 0x23], al
lea edi, [esp + 0x27c]
xor eax, eax
call fcn.00463917
mov ecx, dword [esp + 0x358]
mov edx, dword [ecx + 0xb8]
mov ebx, dword [ecx + 0xbc]
mov ebp, dword [esp + 0x54]
xor esi, esi
jmp 0x5e36b6
xor ecx, ecx
xor edx, edx
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x54]
mov esi, eax
mov edi, ecx
mov ecx, dword [esp + 0x358]
mov eax, edx
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x60]
inc ecx
mov edx, dword [esp + 0x64]
cmp edx, ecx
jae 0x5e3607
mov dword [esp + 0x58], edi
mov dword [esp + 0x25c], eax
xchg esi, eax
mov byte [esp + 0x21], al
xchg esi, eax
mov eax, dword [esp + 0x264]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x64e1e0]
mov dword [esp + 0x10], eax
call fcn.0044aa20
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x25c]
movzx esi, byte [esp + 0x21]
mov edi, dword [esp + 0x58]
mov dword [esp + 0x264], ebp
mov edx, ebx
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x48]
add edx, 1
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x4c]
adc edx, 0
mov dword [esp + 0x6c], edx
dec ecx
shl ecx, 4
mov edx, dword [esp + 0x264]
mov dword [edx + ecx], ebp
xchg esi, eax
mov byte [edx + ecx + 4], al
xchg esi, eax
mov dword [edx + ecx + 0xc], edi
mov ebp, dword [0x893c80]
lea edi, [edx + ecx + 8]
mov esi, dword [esp + 0x74]
lea ebx, [ebx + esi + 4]
test ebp, ebp
jne 0x5e365c
mov dword [edx + ecx + 8], eax
jmp 0x5e3411
call fcn.00463680
jmp 0x5e3411
mov eax, dword [esp + 0x264]
mov dword [esp + 0x35c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x360], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x364], eax
add esp, 0x354
ret
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x264]
mov edx, ecx
mov ecx, esi
jmp 0x5e33f5
add edx, 0x24
mov ecx, dword [esp + 0x70]
lea esi, [ecx + 1]
mov ecx, dword [esp + 0x358]
cmp esi, ebx
jge 0x5e36ea
mov dword [esp + 0x70], esi
lea edi, [esp + 0x30c]
mov esi, edx
call fcn.00463dd6
cmp dword [esp + 0x310], ebp
jne 0x5e36a5
lea edi, [esp + 0x27c]
lea esi, [esp + 0x30c]
call fcn.00463dd6
jmp 0x5e36f6
lea edi, [esp + 0x27c]
call fcn.00463917
lea edi, [esp + 0x2c4]
lea esi, [esp + 0x27c]
call fcn.00463dd6
mov edx, dword [esp + 0x2d4]
mov ecx, dword [esp + 0x2d8]
movzx eax, byte [esp + 0x23]
jmp 0x5e357a
mov eax, 3
mov ecx, edx
call fcn.00463700
mov eax, ebx
mov ecx, edx
call fcn.00463770
mov dword [esp], edx
mov dword [esp + 4], ebx
lea eax, [0x638020]
mov dword [esp + 8], eax
call fcn.00409250
lea eax, [0x6483a0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x672470]
mov dword [eax], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 8], ecx
lea ecx, [0x63f6c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00435bb0
mov edi, dword [esp + 0x50]
lea ecx, [edi + 1]
mov eax, ebx
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x268]
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x30]
cmp ecx, esi
ja 0x5e3a17
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], ebp
mov dword [esp + 0x264], ebx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x44], eax
lea eax, [0x638820]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x358]
mov edx, dword [ecx + 0x2ac]
add edx, 0xfffffffc
mov ebx, dword [esp + 0x44]
cmp ebx, edx
jbe 0x5e37f5
mov edx, dword [0x86dc50]
xor ebp, ebp
jmp 0x5e382c
mov edx, dword [ecx + 0x28c]
mov ebp, dword [ecx + 0x288]
mov esi, dword [ecx + 0x290]
cmp ebx, edx
ja 0x5e3aac
sub edx, ebx
sub esi, ebx
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, ebx
cmp edx, 3
jbe 0x5e3aa0
mov ebp, dword [esi + ebp]
xor edx, edx
test edx, edx
jne 0x5e39ec
mov dword [esp + 0x3c], ebp
mov edx, dword [esp + 0x74]
test edx, edx
xchg esi, ebx
seta bl
xchg esi, ebx
and esi, 1
xchg esi, eax
test al, al
xchg esi, eax
jne 0x5e3859
xor eax, eax
xor esi, esi
xor edi, edi
jmp 0x5e38ee
mov dword [esp + 0x270], eax
mov dword [esp], ecx
lea ebp, [0x62cb60]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
lea esi, [ebx + 4]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edx
call fcn.005df110
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x5e39c1
mov ecx, dword [esp + 0x270]
movzx ecx, byte [ecx]
cmp cl, 1
je 0x5e38a1
cmp cl, 2
jne 0x5e38d1
mov byte [esp + 0x23], cl
lea edi, [esp + 0x2a0]
xor eax, eax
call fcn.00463917
mov ecx, dword [esp + 0x358]
mov edx, dword [ecx + 0xb8]
mov ebx, dword [ecx + 0xbc]
mov ebp, dword [esp + 0x3c]
xor esi, esi
jmp 0x5e3a33
xor eax, eax
xor edx, edx
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x3c]
mov esi, ecx
mov edi, eax
mov ecx, dword [esp + 0x358]
mov eax, edx
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x60]
inc ecx
mov edx, dword [esp + 0x64]
cmp edx, ecx
jb 0x5e3913
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x264]
mov dword [esp + 0x268], eax
mov eax, dword [esp + 0x7c]
jmp 0x5e3978
mov dword [esp + 0x5c], edi
mov dword [esp + 0x260], eax
xchg esi, eax
mov byte [esp + 0x22], al
xchg esi, eax
mov eax, dword [esp + 0x264]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x64e1e0]
mov dword [esp + 0x10], eax
call fcn.0044aa20
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x260]
mov ebp, dword [esp + 0x3c]
movzx esi, byte [esp + 0x22]
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x268], ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x68], edx
dec ecx
shl ecx, 4
mov edx, dword [esp + 0x268]
mov dword [edx + ecx], ebp
xchg esi, eax
mov byte [edx + ecx + 4], al
xchg esi, eax
mov dword [edx + ecx + 0xc], edi
mov ebp, dword [0x893c80]
lea edi, [edx + ecx + 8]
mov esi, dword [esp + 0x74]
lea ebx, [ebx + esi + 4]
test ebp, ebp
jne 0x5e39b7
mov dword [edx + ecx + 8], eax
jmp 0x5e3786
call fcn.00463680
jmp 0x5e3786
mov eax, dword [esp + 0x264]
mov dword [esp + 0x35c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x360], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x364], eax
add esp, 0x354
ret
mov eax, dword [esp + 0x264]
mov dword [esp + 0x35c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x360], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x364], eax
add esp, 0x354
ret
mov eax, edx
mov esi, ebp
mov ecx, ebx
jmp 0x5e369c
add edx, 0x24
mov ecx, dword [esp + 0x70]
lea esi, [ecx + 1]
mov ecx, dword [esp + 0x358]
cmp esi, ebx
jge 0x5e3a67
mov dword [esp + 0x70], esi
lea edi, [esp + 0x330]
mov esi, edx
call fcn.00463dd6
cmp dword [esp + 0x334], ebp
jne 0x5e3a22
lea edi, [esp + 0x2a0]
lea esi, [esp + 0x330]
call fcn.00463dd6
jmp 0x5e3a73
lea edi, [esp + 0x2a0]
call fcn.00463917
lea edi, [esp + 0x2e8]
lea esi, [esp + 0x2a0]
call fcn.00463dd6
mov edx, dword [esp + 0x2f8]
mov ecx, dword [esp + 0x2fc]
mov eax, ecx
movzx ecx, byte [esp + 0x23]
jmp 0x5e38d5
mov eax, 3
mov ecx, edx
call fcn.00463700
mov eax, ebx
mov ecx, edx
call fcn.00463770
mov dword [esp], edx
mov dword [esp + 4], ebx
lea eax, [0x638020]
mov dword [esp + 8], eax
call fcn.00409250
lea eax, [0x6483a0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x672470]
mov dword [eax], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 8], ecx
lea ecx, [0x63f6c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00435bb0
lea eax, [0x6483a0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x672470]
mov dword [eax], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 8], ecx
lea ecx, [0x63f6c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00435bb0
lea eax, [0x6483a0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x672470]
mov dword [eax], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 8], ecx
lea ecx, [0x63f6c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00435bb0
nop
call fcn.00462270
jmp fcn.005e3020