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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5e2010
sub esp, 0x6c
mov eax, dword [esp + 0x70]
mov edx, dword [eax + 8]
movzx ebx, byte [eax + 0x4a]
nop
mov ebp, dword [edx]
mov ecx, ebx
mov ebx, dword [esp + 0x80]
cmp dword [edx + 4], ebx
jbe 0x5e2009
mov byte [esp + 0x23], cl
lea edx, [ebx + ebx*2]
shl edx, 3
movzx edx, byte [ebp + edx]
cmp dl, 5
je 0x5e1f6d
nop
mov edx, dword [esp + 0x74]
mov ebp, dword [edx]
inc ebp
imul ebp, ebx
mov esi, eax
mov eax, dword [esp + 0x84]
add ebp, eax
mov dword [esp + 0x44], ebp
mov edi, eax
mov eax, dword [edx + 0x28]
shr ebp, 5
cmp dword [edx + 0x2c], ebp
jbe 0x5e2002
mov ebx, dword [eax + ebp*4]
mov ecx, dword [esp + 0x44]
mov edx, 1
shl edx, cl
test ebx, edx
je 0x5e1f5e
xor eax, eax
test al, al
je 0x5e1f55
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x24]
mov edx, dword [eax + 0x20]
mov ebx, dword [eax + 0x1c]
lea ebp, [edx + 1]
cmp ebp, ecx
ja 0x5e1ef5
lea ecx, [edx + 1]
mov dword [eax + 0x20], ecx
lea ecx, [edx + edx*2]
mov edx, dword [esp + 0x80]
mov dword [ebx + ecx*4], edx
lea edx, [ebx + ecx*4]
mov byte [edx + 4], 0
mov dword [ebx + ecx*4 + 8], edi
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
jmp 0x5e1781
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x2c]
movzx edi, byte [esp + 0x22]
mov edx, dword [esp + 0x50]
mov ebp, ecx
mov edi, dword [esp + 0x7c]
mov dword [esp + 0x34], esi
movzx ebx, byte [esp + 0x22]
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x70]
mov edx, dword [esi + 8]
mov ebp, dword [edx]
mov eax, dword [esp + 0x34]
cmp dword [edx + 4], eax
jbe 0x5e1ff4
mov dword [esp + 0x28], ecx
mov byte [esp + 0x22], bl
lea edx, [eax + eax*2]
lea ebp, [ebp + edx*8]
lea edi, [esp + 0x54]
mov esi, ebp
call fcn.0044ce94
movzx ecx, byte [esp + 0x54]
cmp cl, 4
ja 0x5e1d67
shl edx, 3
cmp cl, 1
ja 0x5e1b17
test cl, cl
jne 0x5e18b1
test bl, bl
je 0x5e17e5
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x28]
xor edx, edx
nop
mov ebx, dword [esp + 0x74]
mov ebp, dword [ebx]
inc ebp
imul ebp, eax
add ebp, ecx
mov esi, eax
mov eax, dword [ebx + 0x28]
mov edi, ebp
shr ebp, 5
cmp dword [ebx + 0x2c], ebp
jbe 0x5e1ffb
mov dword [esp + 0x2c], ecx
mov byte [esp + 0x22], dl
mov ebx, dword [eax + ebp*4]
mov ecx, edi
mov edx, 1
shl edx, cl
test ebx, edx
je 0x5e17d6
xor eax, eax
test al, al
jne 0x5e168f
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x70]
mov eax, ebx
mov ecx, ebp
mov edx, dword [esp + 0x7c]
mov esi, dword [esp + 0x70]
mov ebx, dword [eax + 0x20]
mov ebp, dword [eax + 0x1c]
test ebx, ebx
jle 0x5e1ec8
mov edi, edx
lea edx, [ebx - 1]
lea ebx, [ebx + ebx*2]
mov dword [esp + 0x44], ebx
mov ecx, dword [ebp + ebx*4 - 0xc]
mov dword [esp + 0x38], ecx
shl ebx, 2
mov ecx, dword [esp + 0x44]
mov ecx, dword [ebp + ecx*4 - 4]
movzx ebx, byte [ebx + ebp - 8]
mov dword [eax + 0x20], edx
lea edx, [eax + 0x1c]
mov dword [esp + 0x50], edx
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x48]
jmp 0x5e16c3
or edx, ebx
mov dword [eax + ebp*4], edx
mov eax, 1
jmp 0x5e175d
mov ebp, dword [esp + 0x70]
mov ecx, ebp
mov ebp, dword [ebp + 8]
nop
mov esi, ebx
mov ebx, dword [ebp]
cmp dword [ebp + 4], eax
jbe 0x5e1fb9
movzx edx, byte [edx + ebx]
cmp dl, 5
je 0x5e18a7
mov edx, dword [esp + 0x74]
mov ebx, dword [edx + 0x24]
mov ebp, dword [edx + 0x20]
mov edi, eax
mov eax, dword [edx + 0x1c]
lea edx, [ebp + 1]
cmp edx, ebx
ja 0x5e184d
lea edx, [ebp + 1]
mov ebx, dword [esp + 0x74]
mov dword [ebx + 0x20], edx
lea edx, [ebp + ebp*2]
mov dword [eax + edx*4], edi
lea ebp, [eax + edx*4]
mov byte [ebp + 4], 1
mov ebp, dword [esp + 0x28]
mov dword [eax + edx*4 + 8], ebp
mov eax, dword [esp + 0x58]
mov ecx, ebp
mov edx, esi
jmp 0x5e1723
lea ecx, [0x6476c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00438b20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x74]
mov dword [ebx + 0x24], edx
mov edx, dword [0x9ec0a0]
test edx, edx
jne 0x5e189c
mov dword [ebx + 0x1c], eax
movzx esi, byte [esp + 0x22]
mov edi, dword [esp + 0x34]
mov ebp, ecx
mov ecx, dword [esp + 0x70]
jmp 0x5e1820
mov edi, dword [esp + 0x50]
call fcn.0044c8c0
jmp 0x5e188b
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x28]
jmp 0x5e1840
mov eax, dword [esp + 0x70]
mov edx, dword [eax + 8]
mov ebp, dword [edx + 4]
mov edx, dword [edx]
mov eax, dword [esp + 0x58]
cmp eax, ebp
jae 0x5e1fb2
mov esi, ebx
lea ebx, [eax + eax*2]
shl ebx, 3
movzx ebx, byte [ebx + edx]
mov edi, eax
lea eax, [ebx - 7]
cmp al, 3
ja 0x5e1a09
nop
mov eax, dword [esp + 0x5c]
cmp eax, ebp
jae 0x5e1fab
lea ebx, [eax + eax*2]
shl ebx, 3
movzx edx, byte [ebx + edx]
cmp dl, 5
je 0x5e1a00
nop
mov edx, dword [esp + 0x74]
mov ebx, dword [edx]
inc ebx
imul ebx, eax
mov ebp, dword [esp + 0x28]
add ebx, ebp
mov dword [esp + 0x44], ebx
mov edi, ebp
mov ebp, dword [edx + 0x28]
shr ebx, 5
cmp dword [edx + 0x2c], ebx
jbe 0x5e1fa4
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + ebx*4]
mov ecx, dword [esp + 0x44]
mov edx, 1
shl edx, cl
test eax, edx
je 0x5e19f0
xor eax, eax
test al, al
je 0x5e19ea
mov eax, dword [esp + 0x74]
mov edx, dword [eax + 0x20]
mov ebx, dword [eax + 0x1c]
mov ebp, dword [eax + 0x24]
mov ecx, eax
lea eax, [edx + 1]
cmp eax, ebp
ja 0x5e198e
lea eax, [edx + 1]
mov dword [ecx + 0x20], eax
lea eax, [edx + edx*2]
mov edx, dword [esp + 0x3c]
mov dword [ebx + eax*4], edx
lea edx, [ebx + eax*4]
mov byte [edx + 4], 0
mov dword [ebx + eax*4 + 8], edi
mov eax, dword [esp + 0x5c]
mov ebx, dword [ecx]
mov ecx, ebx
mov edx, esi
jmp 0x5e1723
lea ecx, [0x6476c0]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
call fcn.00438b20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x74]
mov dword [ebx + 0x24], edx
mov edx, dword [0x9ec0a0]
test edx, edx
jne 0x5e19df
mov dword [ebx + 0x1c], eax
movzx esi, byte [esp + 0x22]
mov edi, dword [esp + 0x28]
mov edx, ecx
mov ebx, eax
mov ecx, dword [esp + 0x74]
jmp 0x5e1964
mov edi, dword [esp + 0x50]
call fcn.0044c8c0
jmp 0x5e19cc
mov ecx, dword [esp + 0x74]
jmp 0x5e197f
or edx, eax
mov dword [ebp + ebx*4], edx
mov eax, 1
jmp 0x5e1946
mov ecx, dword [esp + 0x74]
jmp 0x5e197f
nop
mov eax, dword [esp + 0x74]
mov edx, dword [eax]
cmp bl, 5
je 0x5e1b10
nop
lea ebx, [edx + 1]
imul ebx, edi
add ebx, edx
mov dword [esp + 0x44], ebx
mov ebp, dword [eax + 0x28]
shr ebx, 5
cmp dword [eax + 0x2c], ebx
jbe 0x5e1f9d
mov dword [esp + 0x30], edx
mov edx, dword [ebp + ebx*4]
mov ecx, dword [esp + 0x44]
mov eax, 1
shl eax, cl
test edx, eax
je 0x5e1b00
xor eax, eax
test al, al
je 0x5e1afa
mov eax, dword [esp + 0x74]
mov edx, dword [eax + 0x20]
mov ebx, dword [eax + 0x24]
mov ebp, dword [eax + 0x1c]
mov ecx, eax
lea eax, [edx + 1]
cmp eax, ebx
ja 0x5e1a9c
lea eax, [edx + 1]
mov dword [ecx + 0x20], eax
lea eax, [edx + edx*2]
mov dword [ebp + eax*4], edi
lea edx, [ebp + eax*4]
mov byte [edx + 4], 0
mov edx, dword [esp + 0x30]
mov dword [ebp + eax*4 + 8], edx
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x28]
mov edx, esi
jmp 0x5e1723
mov dword [esp + 0x40], edi
lea ecx, [0x6476c0]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
call fcn.00438b20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x74]
mov dword [ebx + 0x24], edx
mov edx, dword [0x9ec0a0]
test edx, edx
jne 0x5e1aef
mov dword [ebx + 0x1c], eax
movzx esi, byte [esp + 0x22]
mov edi, dword [esp + 0x40]
mov edx, ecx
mov ebp, eax
mov ecx, ebx
jmp 0x5e1a70
mov edi, dword [esp + 0x50]
call fcn.0044c8c0
jmp 0x5e1ade
mov ecx, dword [esp + 0x74]
jmp 0x5e1a8d
or eax, edx
mov dword [ebp + ebx*4], eax
mov eax, 1
jmp 0x5e1a52
mov ecx, eax
jmp 0x5e1a8d
cmp cl, 2
jne 0x5e1c52
test bl, bl
jne 0x5e1c32
mov ebp, dword [esp + 0x5c]
test ebp, ebp
jb 0x5e1c2a
mov ecx, ebx
mov ebx, dword [esp + 0x74]
mov esi, edx
mov edx, dword [ebx + 4]
cmp dword [ebx + 8], ebp
jbe 0x5e1c20
mov edi, ebx
mov ebx, dword [esp + 0x70]
mov ebx, dword [ebx + 8]
nop
mov edx, dword [edx + ebp*4]
mov ebp, dword [ebx]
cmp dword [ebx + 4], eax
jbe 0x5e1f88
movzx ebx, byte [esi + ebp]
cmp bl, 5
je 0x5e1b98
mov ebx, dword [edi + 0x20]
mov ebp, dword [edi + 0x1c]
mov esi, edx
lea edx, [ebx + 1]
mov eax, dword [edi + 0x24]
cmp edx, eax
ja 0x5e1bbf
lea eax, [ebx + 1]
mov dword [edi + 0x20], eax
lea eax, [ebx + ebx*2]
mov edx, dword [esp + 0x34]
mov dword [ebp + eax*4], edx
lea edx, [ebp + eax*4]
mov byte [edx + 4], 1
mov dword [ebp + eax*4 + 8], esi
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x5c]
cmp dword [edi + 8], edx
jbe 0x5e1f81
mov ebx, dword [esp + 0x28]
mov dword [eax + edx*4], ebx
mov eax, dword [esp + 0x58]
mov ecx, ebx
movzx edx, byte [esp + 0x22]
jmp 0x5e1723
mov dword [esp + 0x44], esi
lea ecx, [0x6476c0]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
call fcn.00438b20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x74]
mov dword [ebx + 0x24], edx
mov edx, dword [0x9ec0a0]
test edx, edx
jne 0x5e1c15
mov dword [ebx + 0x1c], eax
mov esi, dword [esp + 0x44]
mov edi, ebx
mov ebx, ecx
mov ebp, eax
movzx ecx, byte [esp + 0x22]
jmp 0x5e1b7b
mov edi, dword [esp + 0x50]
call fcn.0044c8c0
jmp 0x5e1c01
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x74]
jmp 0x5e1baf
mov ecx, ebx
mov ebx, dword [esp + 0x74]
jmp 0x5e1c20
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x5c]
cmp dword [eax + 8], edx
jbe 0x5e1f8f
mov ebx, dword [esp + 0x28]
mov dword [ecx + edx*4], ebx
jmp 0x5e1765
cmp cl, 3
jne 0x5e1caa
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
mov ebx, dword [esp + 0x28]
mov dword [esp + 4], ebx
call ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x5c]
mov byte [esp + 8], al
call fcn.005e2480
movzx eax, byte [esp + 0xc]
test al, al
je 0x5e1765
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x28]
movzx edx, byte [esp + 0x22]
jmp 0x5e1723
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
test edx, edx
je 0x5e1d5b
cmp edx, 1
jle 0x5e1d52
mov edx, dword [esp + 0x28]
mov dword [ecx + 4], edx
mov ecx, dword [eax + 0x14]
mov ebx, dword [eax + 0x10]
cmp ecx, 1
jbe 0x5e1f7a
mov ebp, dword [ebx + 4]
cmp ebp, 0xffffffff
jne 0x5e1d3b
mov ebp, dword [eax + 8]
mov esi, eax
mov eax, dword [eax + 4]
cmp ecx, ebp
jle 0x5e1d37
cmp ebx, eax
je 0x5e1d06
mov dword [esp], ebx
mov dword [esp + 4], eax
shl ebp, 2
mov dword [esp + 8], ebp
call fcn.0044d0c0
movzx eax, byte [esp + 0x23]
test al, al
je 0x5e1d2b
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x74]
cmp dword [edx], ecx
jne 0x5e1765
mov byte [esp + 0x88], 1
add esp, 0x6c
ret
mov byte [esp + 0x88], 1
add esp, 0x6c
ret
mov ebp, ecx
jmp 0x5e1cef
mov esi, ebx
movzx ebx, byte [esp + 0x23]
test bl, bl
je 0x5e1d06
test edx, edx
jle 0x5e1d06
cmp edx, ebp
jle 0x5e1d06
mov ebx, esi
jmp 0x5e1ce3
mov edx, dword [esp + 0x28]
jmp 0x5e1ccc
mov byte [esp + 0x88], 1
add esp, 0x6c
ret
cmp cl, 7
ja 0x5e1de3
cmp cl, 5
je 0x5e1fda
cmp cl, 6
jne 0x5e1d89
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x28]
mov edx, ebx
jmp 0x5e1723
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
mov ebx, dword [esp + 0x28]
mov dword [esp + 4], ebx
call ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x24], ecx
nop
lea edx, [esp + 0x54]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.005dafb0
cmp dword [esp + 8], 0xffffffff
je 0x5e1765
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x28]
lea ecx, [ebp + ebx]
mov eax, dword [esp + 0x58]
movzx edx, byte [esp + 0x22]
jmp 0x5e1723
cmp cl, 8
je 0x5e1e7c
cmp cl, 9
je 0x5e1e40
cmp cl, 0xa
jne 0x5e1fc0
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
mov ebx, dword [esp + 0x28]
mov dword [esp + 4], ebx
call ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
cmp eax, 0xa
je 0x5e1765
cmp eax, 0xffffffff
je 0x5e1765
mov ebx, dword [esp + 0x28]
add ecx, ebx
mov eax, dword [esp + 0x58]
movzx edx, byte [esp + 0x22]
jmp 0x5e1723
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
mov ebx, dword [esp + 0x28]
mov dword [esp + 4], ebx
call ecx
mov eax, dword [esp + 0xc]
cmp dword [esp + 8], 0xffffffff
je 0x5e1765
mov ebx, dword [esp + 0x28]
lea ecx, [ebx + eax]
mov eax, dword [esp + 0x58]
movzx edx, byte [esp + 0x22]
jmp 0x5e1723
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
mov ebx, dword [esp + 0x28]
mov dword [esp + 4], ebx
call ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x64]
test ebx, ebx
jbe 0x5e1f96
cmp dword [edx], eax
jne 0x5e1765
mov ebx, dword [esp + 0x28]
add ecx, ebx
mov eax, dword [esp + 0x58]
movzx edx, byte [esp + 0x22]
jmp 0x5e1723
movzx ecx, byte [esp + 0x23]
test cl, cl
je 0x5e1ef1
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0x14], 1
jle 0x5e1eed
mov eax, dword [ecx + 4]
test eax, eax
setge al
mov byte [esp + 0x88], al
add esp, 0x6c
ret
xor eax, eax
jmp 0x5e1ee2
xor eax, eax
jmp 0x5e1ee2
lea eax, [0x6476c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00438b20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x74]
mov dword [ebx + 0x24], edx
mov edx, dword [0x9ec0a0]
test edx, edx
jne 0x5e1f4b
mov dword [ebx + 0x1c], eax
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x84]
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x74]
jmp 0x5e1664
lea edi, [ebx + 0x1c]
call fcn.0044c8c0
jmp 0x5e1f33
mov eax, dword [esp + 0x74]
jmp 0x5e1682
or edx, ebx
mov dword [eax + ebp*4], edx
mov eax, 1
jmp 0x5e1644
mov eax, dword [esp + 0x74]
mov esi, dword [esp + 0x70]
jmp 0x5e1682
call fcn.00426ef0
ud2
call fcn.00426ef0
ud2
call fcn.00426ef0
ud2
call fcn.00426ef0
ud2
call fcn.00426ef0
ud2
call fcn.00426ef0
ud2
call fcn.00426ef0
ud2
call fcn.00426ef0
ud2
call fcn.00426ef0
ud2
call fcn.00426ef0
ud2
lea eax, [0x62b9a0]
mov dword [esp], eax
lea eax, [0x6d8c40]
mov dword [esp + 4], eax
call fcn.00427cb0
ud2
lea eax, [0x62b9a0]
mov dword [esp], eax
lea eax, [0x6d8c48]
mov dword [esp + 4], eax
call fcn.00427cb0
ud2
call fcn.00426ef0
ud2
call fcn.00426ef0
ud2
call fcn.00426ef0
ud2
call fcn.00426ef0
ud2
call fcn.0044b170
jmp fcn.005e15b0