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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x2e8]
cmp eax, dword [ecx + 8]
jbe 0x5e8aff
sub esp, 0x368
lea edi, [esp + 0x300]
xor eax, eax
call fcn.00463d49
lea edi, [esp + 0x31c]
call fcn.00463d3d
lea ecx, [esp + 0x31c]
mov dword [esp + 0x30c], ecx
call fcn.0044fa80
mov ecx, dword [esp]
mov dword [esp + 0x308], ecx
lea edi, [esp + 0x2e4]
xor eax, eax
call fcn.00463d49
lea edi, [esp + 0x84]
call fcn.00463d3b
lea ecx, [esp + 0x84]
mov dword [esp + 0x2f0], ecx
call fcn.0044fa80
mov ecx, dword [esp]
mov dword [esp + 0x2ec], ecx
mov ecx, dword [esp + 0x370]
test ecx, ecx
je 0x5e7fd1
mov edx, dword [esp + 0x374]
mov ebx, dword [esp + 0x36c]
mov eax, ecx
xor ebp, ebp
xor esi, esi
xor edi, edi
xor eax, eax
mov dword [esp + 0x40], eax
mov ecx, 0xffffffff
mov dword [esp + 0x38], ecx
mov eax, 0xffffffff
mov dword [esp + 0x3c], eax
xor eax, eax
mov dword [esp + 0x28], eax
lea eax, [0x8ef150]
mov dword [esp + 0x2b8], eax
xor eax, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x370]
mov ecx, eax
jmp 0x5e8063
mov dword [esp + 0x37c], 0
mov dword [esp + 0x380], 0
mov dword [esp + 0x384], 0
mov dword [esp + 0x388], 0
mov dword [esp + 0x38c], 0
add esp, 0x368
ret
lea esi, [ebx + ebx*2]
mov dword [eax + esi*4 - 0xc], edx
mov dword [eax + esi*4 - 8], ecx
mov ecx, dword [esp + 0x20]
mov dword [eax + esi*4 - 4], ecx
add ecx, 8
mov edx, dword [esp + 0x374]
mov esi, dword [esp + 0x36c]
mov edi, dword [esp + 0x370]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x44]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2b8], eax
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x370]
mov ebx, dword [esp + 0x36c]
mov ebp, dword [esp + 0x30]
add edx, eax
cmp ecx, edx
jae 0x5e84de
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], ebp
mov dword [esp + 0x44], edi
mov dword [esp + 0x20], ecx
cmp esi, 0xf
setae dl
test ebp, ebp
xchg ebp, ebx
sete bl
xchg ebp, ebx
seta cl
and ebp, edx
or ecx, ebp
test cl, cl
je 0x5e80d8
mov ecx, dword [0x8c3110]
mov dword [esp + 0x2d0], ecx
mov edx, dword [0x8c3114]
mov dword [esp + 0x5c], edx
mov ebp, dword [ebx + 0x274]
mov dword [esp + 0x50], ebp
mov ebx, dword [ebx + 0x270]
mov dword [esp + 0x2c4], ebx
mov dword [esp + 0x6c], eax
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x6c]
jmp 0x5e89a9
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x38]
sub ecx, edx
mov edx, dword [esp + 0x3c]
sbb edi, edx
cmp ecx, 0x8000000
seta cl
test edi, edi
mov edi, edx
sete dl
xchg ebp, ebx
seta bl
xchg ebp, ebx
and edx, ecx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5e814a
mov ecx, dword [0x8c3108]
mov dword [esp + 0x2cc], ecx
mov edx, dword [0x8c310c]
mov dword [esp + 0x58], edx
mov ebp, dword [ebx + 0x274]
mov dword [esp + 0x4c], ebp
mov ebx, dword [ebx + 0x270]
mov dword [esp + 0x2c0], ebx
mov dword [esp + 0x74], eax
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x74]
jmp 0x5e883c
movzx ecx, byte [esp + 0x378]
test cl, cl
je 0x5e81c0
lea edi, [esp + 0x1c8]
xor eax, eax
call fcn.00463d14
mov ecx, dword [ebx + 0x78]
mov edx, dword [ebx + 0x7c]
lea ebp, [0x69e4a0]
cmp ecx, ebp
jne 0x5e880f
lea edi, [esp + 0x1c8]
mov esi, edx
call fcn.00464008
lea edi, [esp + 0xd8]
lea esi, [esp + 0x1c8]
call fcn.00464008
mov eax, dword [esp + 0xf0]
mov dword [esp], ebx
mov ecx, dword [esp + 0x20]
sub ecx, eax
mov dword [esp + 4], ecx
call fcn.005e5c90
mov eax, dword [esp + 8]
cmp eax, 0xffffffff
jne 0x5e81dd
jmp 0x5e8557
mov dword [esp], ebx
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
call fcn.005e5c90
mov eax, dword [esp + 8]
cmp eax, 0xffffffff
je 0x5e8650
mov dword [esp + 0x34], eax
lea ecx, [0x676d00]
mov dword [esp], ecx
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [esp + 0x2d8], eax
mov ecx, dword [esp + 0x36c]
mov dword [esp], ecx
lea edx, [0x65aca0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov ebx, dword [esp + 0x34]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 8
call fcn.005e6980
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x5e8612
mov ecx, dword [esp + 0x2d8]
mov edx, dword [ecx + 4]
test edx, edx
sete bl
mov ebp, dword [ecx]
test ebp, ebp
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
jne 0x5e8516
mov esi, dword [esp + 0x370]
cmp esi, ebp
mov eax, esi
xchg esi, ebx
setbe bl
xchg esi, ebx
test edx, edx
mov edi, ecx
seta cl
and esi, ebx
or esi, ecx
xchg esi, eax
test al, al
xchg esi, eax
je 0x5e8296
mov ecx, dword [esp + 0x20]
cmp ecx, ebp
xchg esi, ebx
setae bl
xchg esi, ebx
and esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
je 0x5e829a
jmp 0x5e8595
mov ecx, dword [esp + 0x20]
mov ebx, edx
and edx, 0x80000000
test edx, edx
jbe 0x5e8308
and ebp, 0x7fffffff
cmp ebp, 0xffff
seta dl
and edx, 1
test dl, dl
je 0x5e868e
mov edx, dword [0x8c30e0]
mov dword [esp + 0x2c8], edx
mov ebx, dword [0x8c30e4]
mov dword [esp + 0x54], ebx
mov ebp, dword [esp + 0x36c]
mov esi, dword [ebp + 0x274]
mov dword [esp + 0x48], esi
mov ecx, dword [ebp + 0x270]
mov dword [esp + 0x2bc], ecx
mov dword [esp + 0x7c], eax
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x7c]
jmp 0x5e86ce
lea eax, [0x66f2a0]
mov dword [esp], eax
lea ecx, [esp + 0x2e4]
mov dword [esp + 4], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ebp
call fcn.0040f6d0
movzx eax, byte [esp + 0x14]
test al, al
je 0x5e8342
mov esi, dword [esp + 0x2c]
add esi, 1
mov ebp, dword [esp + 0x30]
adc ebp, 0
jmp 0x5e837e
mov eax, dword [esp + 0x2d8]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
lea ebx, [0x66f2a0]
mov dword [esp], ebx
lea ebp, [esp + 0x2e4]
mov dword [esp + 4], ebp
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
call fcn.0040f840
mov eax, dword [esp + 0x10]
mov byte [eax], 1
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], esi
mov eax, dword [esp + 0x2d8]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x44]
cmp edx, ecx
setb bl
mov edi, dword [eax]
mov eax, dword [esp + 0x40]
cmp eax, edi
xchg ebp, ebx
setb bl
xchg ebp, ebx
cmp edx, ecx
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, ebp
or esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
je 0x5e83c1
mov eax, ecx
mov edx, edi
jmp 0x5e83cd
mov eax, ecx
mov edx, edi
mov ecx, dword [esp + 0x44]
mov edi, dword [esp + 0x40]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], edi
mov ebx, dword [esp + 0x3c]
cmp ebx, eax
xchg ebp, ebx
seta bl
xchg ebp, ebx
mov esi, dword [esp + 0x38]
cmp esi, edx
seta cl
cmp ebx, eax
xchg edi, ebx
sete bl
xchg edi, ebx
and ecx, edi
or ebp, ecx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5e8402
mov eax, ebx
mov edx, esi
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], esi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x30], ebx
lea edi, [0x66f120]
mov dword [esp], edi
lea edi, [esp + 0x300]
mov dword [esp + 4], edi
mov edi, dword [esp + 0x20]
mov dword [esp + 8], edi
call fcn.0040ea30
mov edi, dword [esp + 0xc]
test byte [edi], al
mov eax, dword [0x8ef4b0]
test eax, eax
jne 0x5e8466
mov ecx, dword [esp + 0x2d8]
mov dword [edi], ecx
jmp 0x5e8474
mov eax, dword [esp + 0x2d8]
call fcn.00463ab0
mov ecx, eax
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov ebx, dword [esp + 0x24]
inc ebx
mov ebp, dword [esp + 0x28]
cmp ebp, ebx
jb 0x5e8492
mov eax, dword [esp + 0x2b8]
jmp 0x5e800f
mov dword [esp + 0x68], edx
mov dword [esp + 0x64], ecx
mov eax, dword [esp + 0x2b8]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x67d120]
mov dword [esp + 0x10], eax
call fcn.0044acd0
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x68]
mov ebp, ecx
mov ecx, dword [esp + 0x64]
jmp 0x5e800f
mov eax, dword [ebx + 0x2c0]
mov dword [esp], eax
lea eax, [0x6bc4de]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x39
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call fcn.00523a50
mov eax, dword [esp + 0x2b8]
mov dword [esp + 0x37c], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x384], eax
mov dword [esp + 0x388], 0
mov dword [esp + 0x38c], 0
add esp, 0x368
ret
mov dword [esp + 0x37c], 0
mov dword [esp + 0x380], 0
mov dword [esp + 0x384], 0
mov dword [esp + 0x388], 0
mov dword [esp + 0x38c], 0
add esp, 0x368
ret
mov dword [esp + 0x2dc], 0
mov dword [esp + 0x2e0], 0
mov dword [esp], ecx
call fcn.004094f0
mov eax, dword [esp + 4]
lea ecx, [0x66c3c0]
mov dword [esp + 0x2dc], ecx
mov dword [esp + 0x2e0], eax
mov eax, dword [esp + 0x36c]
mov eax, dword [eax + 0x2c0]
mov dword [esp], eax
lea eax, [0x6be5f5]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x5d
lea eax, [esp + 0x2dc]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
call fcn.00523a50
jmp 0x5e8516
mov dword [esp + 0x37c], 0
mov dword [esp + 0x380], 0
mov dword [esp + 0x384], 0
mov dword [esp + 0x388], 0
mov dword [esp + 0x38c], 0
add esp, 0x368
ret
mov dword [esp + 0x37c], 0
mov dword [esp + 0x380], 0
mov dword [esp + 0x384], 0
mov dword [esp + 0x388], 0
mov dword [esp + 0x38c], 0
add esp, 0x368
ret
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
jmp 0x5e8412
lea ecx, [ebp + 1]
mov edx, dword [esp + 0x2bc]
mov edx, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x36c]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2bc]
mov ebp, dword [esp + 0x60]
cmp ebp, esi
jge 0x5e8736
lea edx, [ecx + ebp*8]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
cmp ecx, ebx
jne 0x5e86ab
mov dword [esp], edx
mov eax, dword [esp + 0x2c8]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00402a70
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5e871e
mov eax, dword [esp + 0x370]
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x2d8]
jmp 0x5e86ab
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x48]
cmp ecx, edx
mov eax, dword [esp + 0x370]
mov edi, dword [esp + 0x2d8]
jl 0x5e8806
mov ecx, dword [esp + 0x36c]
mov edx, dword [ecx + 0x274]
inc edx
mov ebx, dword [ecx + 0x270]
mov ebp, dword [ecx + 0x278]
cmp ebp, edx
jae 0x5e87cb
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x66c280]
mov dword [esp + 0x10], eax
call fcn.0044acd0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x36c]
mov dword [ebx + 0x278], edx
mov edx, dword [0x8ef4b0]
test edx, edx
jne 0x5e87a7
mov dword [ebx + 0x270], eax
jmp 0x5e87b2
lea edi, [ebx + 0x270]
call fcn.00463ab0
mov edi, dword [esp + 0x2d8]
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x370]
mov ecx, dword [esp + 0x36c]
mov dword [ecx + 0x274], edx
mov ebp, dword [0x8c30e0]
lea esi, [ebx + edx*8 - 4]
mov ecx, dword [0x8c30e4]
mov dword [esi], ecx
lea ecx, [ebx + edx*8 - 8]
mov edx, dword [0x8ef4b0]
test edx, edx
jne 0x5e87f5
mov dword [ecx], ebp
jmp 0x5e8806
mov edx, edi
mov edi, ecx
mov ebx, eax
mov eax, ebp
call fcn.00463ab0
mov eax, ebx
mov edi, edx
mov ecx, dword [esp + 0x20]
jmp 0x5e868e
mov dword [esp], ecx
mov dword [esp + 4], ebp
lea eax, [0x66bb80]
mov dword [esp + 8], eax
call fcn.00409250
inc ecx
mov ebx, dword [esp + 0x2c0]
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2cc]
mov ecx, dword [esp + 0x60]
cmp ecx, ebp
jge 0x5e88a2
lea ebx, [ebx + ecx*8]
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx]
cmp ebp, edx
jne 0x5e8825
mov dword [esp], ebx
mov eax, dword [esp + 0x2cc]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00402a70
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5e8889
mov eax, dword [esp + 0x370]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x58]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x3c]
jmp 0x5e8825
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x4c]
cmp ecx, edx
mov eax, dword [esp + 0x370]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x3c]
jl 0x5e8986
mov ecx, dword [esp + 0x36c]
mov edx, dword [ecx + 0x274]
inc edx
mov ebx, dword [ecx + 0x270]
mov ebp, dword [ecx + 0x278]
cmp ebp, edx
jae 0x5e8938
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x66c280]
mov dword [esp + 0x10], eax
call fcn.0044acd0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x36c]
mov dword [ebx + 0x278], edx
mov edx, dword [0x8ef4b0]
test edx, edx
jne 0x5e8913
mov dword [ebx + 0x270], eax
jmp 0x5e891e
lea edi, [ebx + 0x270]
call fcn.00463ab0
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x3c]
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x370]
mov ecx, dword [esp + 0x36c]
mov dword [ecx + 0x274], edx
mov ebp, dword [0x8c3108]
mov dword [esp + 0x2d4], ebp
lea ecx, [ebx + edx*8 - 4]
mov ebp, dword [0x8c310c]
mov dword [ecx], ebp
lea ecx, [ebx + edx*8 - 8]
mov edx, dword [0x8ef4b0]
test edx, edx
jne 0x5e8970
mov edx, dword [esp + 0x2d4]
mov dword [ecx], edx
jmp 0x5e8986
mov edx, edi
mov edi, ecx
mov ebx, eax
mov eax, dword [esp + 0x2d4]
call fcn.00463ab0
mov eax, ebx
mov edi, edx
mov ebx, dword [esp + 0x36c]
jmp 0x5e814a
inc ecx
mov ebx, dword [esp + 0x2c4]
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2d0]
mov ecx, dword [esp + 0x60]
cmp ecx, ebp
jge 0x5e8a0f
lea ebx, [ebx + ecx*8]
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx]
cmp ebp, edx
jne 0x5e8992
mov dword [esp], ebx
mov eax, dword [esp + 0x2d0]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00402a70
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5e89f6
mov eax, dword [esp + 0x370]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x44]
jmp 0x5e8992
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x50]
cmp ecx, edx
mov eax, dword [esp + 0x370]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x44]
jl 0x5e8af3
mov ecx, dword [esp + 0x36c]
mov edx, dword [ecx + 0x274]
inc edx
mov ebx, dword [ecx + 0x270]
mov ebp, dword [ecx + 0x278]
cmp ebp, edx
jae 0x5e8aa5
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x66c280]
mov dword [esp + 0x10], eax
call fcn.0044acd0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x36c]
mov dword [ebx + 0x278], edx
mov edx, dword [0x8ef4b0]
test edx, edx
jne 0x5e8a80
mov dword [ebx + 0x270], eax
jmp 0x5e8a8b
lea edi, [ebx + 0x270]
call fcn.00463ab0
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x44]
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x370]
mov ecx, dword [esp + 0x36c]
mov dword [ecx + 0x274], edx
mov ebp, dword [0x8c3110]
mov dword [esp + 0x2d4], ebp
lea ecx, [ebx + edx*8 - 4]
mov ebp, dword [0x8c3114]
mov dword [ecx], ebp
lea ecx, [ebx + edx*8 - 8]
mov edx, dword [0x8ef4b0]
test edx, edx
jne 0x5e8add
mov edx, dword [esp + 0x2d4]
mov dword [ecx], edx
jmp 0x5e8af3
mov edx, edi
mov edi, ecx
mov ebx, eax
mov eax, dword [esp + 0x2d4]
call fcn.00463ab0
mov eax, ebx
mov edi, edx
mov ebx, dword [esp + 0x36c]
jmp 0x5e80d8
call fcn.004626a0
jmp fcn.005e7ee0