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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x78
mov eax, dword [0x100a4040]
xor eax, esp
mov dword [esp + 0x74], eax
push esi
mov esi, edx
mov edx, dword [ebp + 8]
push edi
mov dword [esp + 0x34], esi
mov edi, ecx
cmp edx, 0x600000
jg 0x1005b795
je 0x1005bd4a
lea eax, [edx - 0x200000]
cmp eax, 0xf
ja case.0x1005b7a4.6291466
jmp dword [eax*4 + 0x1005c6f8]
lea eax, [edx - 0x600001]
cmp eax, 0xe
ja case.0x1005b7a4.6291466
jmp dword [eax*4 + 0x1005c738]
mov eax, edx
and eax, 0xffbfffff
cmp eax, 0x20000f
je 0x1005bdb5
cmp byte [esi + 0x17], 0
mov dword [esp + 0x28], 1
je 0x1005bdbc
and edx, 0x400000
or edx, 0x200001
mov dword [ebp + 8], edx
jmp 0x1005b771
mov eax, edx
and eax, 0xffbfffff
cmp eax, 0x20000e
je 0x1005bfdb
cmp byte [esi + 0x17], 0
mov dword [esp + 0x28], 1
je 0x1005bfe2
and edx, 0x400000
or edx, 0x200000
mov dword [ebp + 8], edx
jmp 0x1005b771
mov edx, esi
call fcn.1005c900
mov byte [esi + 0x16], 0
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0xe20]
lea ecx, [esi + 0x20]
cmp ax, 0x63
je 0x1005c6e2
movsx edx, word [ecx + 0xdfe]
cwde
add eax, eax
shl edx, 4
add edx, ecx
mov dword [esp + 0x38], edx
movups xmm1, xmmword [ecx + eax*8]
mov dword [edx + 0xc], 0xffffffff
movaps xmm0, xmm1
movaps xmmword [esp + 0x40], xmm1
psrldq xmm0, 4
movd eax, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
movd dword [esp + 0x28], xmm0
cmp dword [esp + 0x28], 0
mov dword [esp + 0x78], eax
mov dword [edx + 8], eax
movd dword [edx + 4], xmm0
movd dword [esp + 0x10], xmm1
movd dword [edx], xmm1
je 0x1005b939
mov eax, dword [ecx + 0xe04]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x28]
add eax, dword [esp + 0x3c]
cmp eax, dword [ecx + 0xe08]
jle 0x1005b8d0
mov dword [edx + 4], 0
mov dword [edx + 8], 0
jmp 0x1005b920
mov eax, dword [esp + 0x3c]
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x28]
add dword [ecx + 0xe04], eax
xor eax, eax
mov dword [esp + 0x34], eax
cmp dword [edx + 4], eax
jle 0x1005b920
nop dword [eax]
mov edx, dword [edx]
mov ecx, dword [esp + 0x38]
add edx, eax
mov eax, dword [edi + 0x14]
mov ecx, dword [ecx + 0xc]
add ecx, dword [esp + 0x34]
mov ax, word [eax + edx*2]
mov edx, dword [esp + 0x38]
mov word [esi + ecx*2 + 0x650], ax
mov eax, dword [esp + 0x34]
inc eax
mov dword [esp + 0x34], eax
cmp eax, dword [edx + 4]
jl 0x1005b8f0
push dword [esp + 0x28]
mov edx, dword [esp + 0x14]
mov ecx, edi
call fcn.1005b110
mov eax, dword [esp + 0x7c]
lea ecx, [esi + 0x20]
add esp, 4
test eax, eax
je 0x1005b969
mov edx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x50]
add eax, 0x318
lea eax, [ecx + eax*2]
mov ecx, edi
push eax
call fcn.1005b170
mov eax, dword [esp + 0x80]
lea ecx, [esi + 0x20]
add esp, 8
add dword [ecx + 0xe08], eax
add eax, dword [esp + 0x10]
mov dword [esi], eax
inc word [ecx + 0xdfe]
inc word [ecx + 0xe00]
mov byte [esi + 0x16], 0
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
cmp eax, ecx
jne 0x1005ba34
mov eax, dword [esi]
test eax, eax
jle 0x1005c6e2
dec eax
mov byte [esi + 0x16], 0
mov dword [esi], eax
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [esp + 0x78], ecx
cmp eax, ecx
je 0x1005ba04
jle 0x1005b9dc
mov dword [esi + 8], eax
mov edx, ecx
mov dword [esi + 4], ecx
jmp 0x1005b9e2
mov edx, eax
mov eax, dword [esp + 0x78]
mov ecx, dword [edi + 4]
cmp edx, ecx
cmovg edx, ecx
cmp eax, ecx
jle 0x1005b9f3
mov dword [esi + 8], ecx
mov eax, ecx
cmp edx, eax
jne 0x1005b9f9
mov dword [esi], edx
mov dword [esi], eax
mov dword [esi + 4], eax
mov byte [esi + 0x16], 0
jmp 0x1005ba08
inc dword [esi]
mov eax, dword [esi]
mov ecx, dword [edi + 4]
cmp eax, ecx
jle 0x1005c6e2
mov dword [esi], ecx
mov byte [esi + 0x16], 0
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1005ba55
jle 0x1005ba3b
mov eax, ecx
mov dword [esi + 4], eax
mov dword [esi], eax
mov dword [esi + 8], eax
mov byte [esi + 0x16], 0
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
mov eax, dword [esi]
sub eax, 1
js 0x1005ba7e
mov esi, eax
nop
mov edx, esi
mov ecx, edi
call fcn.1005b070
test eax, eax
jne 0x1005ba72
sub esi, 1
jns 0x1005ba60
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x10]
mov edx, dword [esi + 4]
xor ecx, ecx
test eax, eax
cmovs eax, ecx
mov dword [esi], eax
mov ecx, dword [edi + 4]
mov edi, dword [esi + 8]
cmp edx, edi
je 0x1005baae
cmp edx, ecx
jle 0x1005ba9d
mov dword [esi + 4], ecx
mov edx, ecx
cmp edi, ecx
jle 0x1005baa6
mov dword [esi + 8], ecx
mov edi, ecx
cmp edx, edi
jne 0x1005baae
mov dword [esi], edx
mov eax, edx
cmp eax, ecx
jle 0x1005c6e6
mov dword [esi], ecx
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [esp + 0x78], ecx
cmp eax, ecx
je 0x1005bb1a
jle 0x1005bae3
mov dword [esi + 8], eax
mov edx, ecx
mov dword [esi + 4], ecx
jmp 0x1005bae9
mov edx, eax
mov eax, dword [esp + 0x78]
mov ecx, dword [edi + 4]
cmp edx, ecx
cmovg edx, ecx
cmp eax, ecx
jle 0x1005bafa
mov dword [esi + 8], ecx
mov eax, ecx
cmp edx, eax
jne 0x1005bb00
mov dword [esi], edx
mov dword [esi], eax
mov dword [esi + 4], eax
mov byte [esi + 0x16], 0
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
mov eax, dword [esi]
mov ecx, dword [edi + 4]
inc eax
cmp eax, ecx
jge 0x1005bb49
mov esi, eax
mov edx, esi
mov ecx, edi
call fcn.1005b070
mov ecx, dword [edi + 4]
test eax, eax
jne 0x1005bb3b
inc esi
cmp esi, ecx
jl 0x1005bb26
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x10]
cmp eax, ecx
mov esi, dword [esp + 0x34]
mov edx, dword [esi + 4]
cmovg eax, ecx
mov dword [esi], eax
mov ecx, dword [edi + 4]
mov edi, dword [esi + 8]
cmp edx, edi
je 0x1005bb75
cmp edx, ecx
jle 0x1005bb64
mov dword [esi + 4], ecx
mov edx, ecx
cmp edi, ecx
jle 0x1005bb6d
mov dword [esi + 8], ecx
mov edi, ecx
cmp edx, edi
jne 0x1005bb75
mov dword [esi], edx
mov eax, edx
cmp eax, ecx
jle 0x1005c6e6
mov dword [esi], ecx
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
mov dword [esi + 8], 0
mov dword [esi + 4], 0
mov dword [esi], 0
mov byte [esi + 0x16], 0
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 4]
mov dword [esi], eax
mov dword [esi + 8], 0
mov dword [esi + 4], 0
mov byte [esi + 0x16], 0
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 4]
mov eax, dword [esi + 8]
mov edx, dword [edi + 4]
mov dword [esp + 0x10], ecx
cmp ecx, eax
je 0x1005bc1c
cmp ecx, edx
jle 0x1005bbfb
mov dword [esi + 4], edx
mov ecx, edx
mov dword [esp + 0x28], eax
cmp eax, edx
jle 0x1005bc0a
mov dword [esi + 8], edx
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], ecx
cmp ecx, eax
jne 0x1005bc1c
mov dword [esi], ecx
mov dword [esp + 0x10], ecx
mov ecx, dword [esi]
cmp ecx, edx
jle 0x1005bc26
mov dword [esi], edx
mov ecx, edx
mov edx, dword [esp + 0x10]
cmp edx, eax
je 0x1005bc40
mov ecx, edx
jle 0x1005bc37
mov dword [esi + 4], eax
mov ecx, eax
mov dword [esi], ecx
mov dword [esi + 8], ecx
mov byte [esi + 0x16], 0
cmp byte [esi + 0x17], 0
jne 0x1005bb9e
test ecx, ecx
jle 0x1005c6e2
nop dword [eax]
nop word [eax + eax]
mov eax, dword [edi + 0x14]
cmp word [eax + ecx*2 - 2], 0xa
je 0x1005c6e2
dec ecx
mov dword [esi], ecx
test ecx, ecx
jg 0x1005bc60
mov byte [esi + 0x16], 0
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 4]
mov eax, dword [esi + 8]
mov edx, dword [edi + 4]
mov dword [esp + 0x34], ecx
cmp ecx, eax
je 0x1005bcca
cmp ecx, edx
jle 0x1005bca5
mov dword [esi + 4], edx
mov ecx, edx
mov dword [esp + 0x28], eax
cmp eax, edx
jle 0x1005bcb6
mov eax, edx
mov dword [esi + 8], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x34], ecx
cmp ecx, dword [esp + 0x28]
jne 0x1005bcca
mov eax, dword [esp + 0x28]
mov dword [esi], ecx
mov dword [esp + 0x34], ecx
mov ecx, dword [esi]
cmp ecx, edx
jle 0x1005bcd4
mov dword [esi], edx
mov ecx, edx
cmp dword [esp + 0x34], eax
je 0x1005bcee
mov ecx, dword [esp + 0x34]
jle 0x1005bce5
mov dword [esi + 4], eax
mov ecx, eax
mov dword [esi], ecx
mov dword [esi + 8], ecx
mov byte [esi + 0x16], 0
cmp byte [esi + 0x17], 0
je 0x1005bd0b
mov dword [esi], edx
mov byte [esi + 0x16], 0
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
cmp ecx, edx
jge 0x1005c6e2
nop dword [eax]
nop word [eax + eax]
mov eax, dword [edi + 0x14]
cmp word [eax + ecx*2], 0xa
je 0x1005c6e2
inc ecx
mov dword [esi], ecx
cmp ecx, edx
jl 0x1005bd20
mov byte [esi + 0x16], 0
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 4]
mov edi, dword [esi + 4]
mov edx, dword [esi + 8]
cmp edi, edx
je 0x1005bd81
mov eax, edi
cmp edi, ecx
jle 0x1005bd62
mov dword [esi + 4], ecx
mov eax, ecx
mov dword [esp + 0x28], edx
cmp edx, ecx
jle 0x1005bd73
mov edx, ecx
mov dword [esi + 8], ecx
mov dword [esp + 0x28], edx
mov edi, eax
cmp eax, dword [esp + 0x28]
jne 0x1005bd81
mov edx, dword [esp + 0x28]
mov dword [esi], eax
mov eax, dword [esi]
cmp eax, ecx
cmovg eax, ecx
cmp edi, edx
jne 0x1005bd94
mov dword [esi + 8], eax
mov dword [esi + 4], eax
jmp 0x1005bd96
mov eax, edx
test eax, eax
jle 0x1005bd9e
dec eax
mov dword [esi + 8], eax
mov dword [esi], eax
mov byte [esi + 0x16], 0
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x10]
mov dword [esp + 0x28], eax
mov ecx, dword [esi + 4]
mov eax, dword [esi + 8]
test edx, 0x400000
je 0x1005be51
cmp ecx, eax
jne 0x1005be4d
mov ecx, dword [esi]
mov eax, ecx
mov dword [esi + 8], ecx
mov dword [esi + 4], ecx
mov edx, dword [edi + 4]
cmp ecx, eax
je 0x1005bdfb
cmp ecx, edx
jle 0x1005bdec
mov dword [esi + 4], edx
mov ecx, edx
cmp eax, edx
jle 0x1005bdf5
mov dword [esi + 8], edx
mov eax, edx
cmp ecx, eax
jne 0x1005bdfb
mov dword [esi], ecx
mov ecx, dword [esi]
cmp ecx, edx
jle 0x1005be05
mov dword [esi], edx
mov ecx, edx
movzx eax, byte [esi + 0x17]
mov edx, edi
push eax
push ecx
lea ecx, [esp + 0x68]
call fcn.1005b4e0
add esp, 8
mov dword [esp + 0x34], 0
cmp dword [esp + 0x28], 0
jle 0x1005c6e6
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], edx
nop dword [eax]
cmp byte [esi + 0x16], 0
je 0x1005be8b
movss xmm7, dword [esi + 0x1c]
jmp 0x1005be91
mov dword [esi], eax
jmp 0x1005bddc
cmp ecx, eax
je 0x1005bddc
mov edx, ecx
jle 0x1005be63
mov edx, eax
mov dword [esi + 8], ecx
mov dword [esi + 4], edx
mov eax, ecx
mov ecx, dword [edi + 4]
cmp edx, ecx
cmovg edx, ecx
cmp eax, ecx
jle 0x1005be74
mov dword [esi + 8], ecx
mov eax, ecx
cmp edx, eax
jne 0x1005be7a
mov dword [esi], edx
mov dword [esi], eax
mov dword [esi + 4], eax
mov byte [esi + 0x16], 0
mov edx, dword [edi + 4]
jmp 0x1005bdfb
movss xmm7, dword [esp + 0x60]
add edx, eax
test eax, eax
je 0x1005c6e6
mov eax, dword [edi + 0x14]
lea ecx, [edx + edx]
mov dword [esp + 0x10], ecx
cmp word [eax + ecx - 2], 0xa
jne 0x1005c6e6
mov dword [esi], edx
lea ecx, [esp + 0x40]
push edx
mov edx, edi
call fcn.1005af90
movss xmm2, dword [esp + 0x44]
xor edx, edx
add esp, 4
mov dword [esp + 0x78], edx
cmp dword [esp + 0x54], edx
jle 0x1005bf5f
mov ecx, dword [esp + 0x10]
nop dword [eax]
mov eax, dword [edi + 0x14]
movzx eax, word [ecx + eax]
cmp eax, 0xa
jne 0x1005bef6
movss xmm0, dword [0x1009a38c]
jmp 0x1005bf35
mov ecx, dword [0x100be9bc]
mov edx, eax
mov ecx, dword [ecx + 0x192c]
cmp edx, dword [ecx]
jge 0x1005bf12
mov eax, dword [ecx + 8]
movss xmm1, dword [eax + edx*4]
jmp 0x1005bf17
movss xmm1, dword [ecx + 0xc]
mov eax, dword [0x100be9bc]
mov edx, dword [esp + 0x78]
movss xmm0, dword [eax + 0x1930]
divss xmm0, dword [ecx + 0x10]
mov ecx, dword [esp + 0x10]
mulss xmm0, xmm1
ucomiss xmm0, dword [0x1009a38c]
lahf
test ah, 0x44
jnp 0x1005bf5f
addss xmm2, xmm0
comiss xmm2, xmm7
ja 0x1005bf5f
inc dword [esi]
inc edx
add ecx, 2
mov dword [esp + 0x78], edx
mov dword [esp + 0x10], ecx
cmp edx, dword [esp + 0x54]
jl 0x1005bee0
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
mov eax, dword [edi + 4]
cmp ecx, edx
je 0x1005bf84
cmp ecx, eax
jle 0x1005bf75
mov dword [esi + 4], eax
mov ecx, eax
cmp edx, eax
jle 0x1005bf7e
mov dword [esi + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x1005bf84
mov dword [esi], ecx
mov ecx, dword [esi]
cmp ecx, eax
jle 0x1005bf8e
mov dword [esi], eax
mov ecx, eax
test dword [ebp + 8], 0x400000
mov byte [esi + 0x16], 1
movss dword [esi + 0x1c], xmm7
je 0x1005bfa3
mov dword [esi + 8], ecx
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
inc ecx
add edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x34], ecx
cmp ecx, dword [esp + 0x28]
jl 0x1005be40
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x10]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
test edx, 0x400000
je 0x1005c071
cmp eax, ecx
jne 0x1005c06d
mov eax, dword [esi]
mov ecx, eax
mov dword [esi + 8], eax
mov dword [esi + 4], eax
mov edx, dword [edi + 4]
cmp eax, ecx
je 0x1005c021
cmp eax, edx
jle 0x1005c012
mov dword [esi + 4], edx
mov eax, edx
cmp ecx, edx
jle 0x1005c01b
mov dword [esi + 8], edx
mov ecx, edx
cmp eax, ecx
jne 0x1005c021
mov dword [esi], eax
mov ecx, dword [esi]
cmp ecx, edx
jle 0x1005c02b
mov dword [esi], edx
mov ecx, edx
movzx eax, byte [esi + 0x17]
mov edx, edi
push eax
push ecx
lea ecx, [esp + 0x68]
call fcn.1005b4e0
add esp, 8
mov dword [esp + 0x3c], 0
cmp dword [esp + 0x28], 0
jle 0x1005c6e6
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x10], ecx
nop
cmp byte [esi + 0x16], 0
je 0x1005c08a
movss xmm7, dword [esi + 0x1c]
jmp 0x1005c090
mov dword [esi], ecx
jmp 0x1005c002
cmp eax, ecx
je 0x1005c002
jle 0x1005c07c
mov eax, ecx
mov dword [esi + 4], eax
mov dword [esi], eax
mov dword [esi + 8], eax
mov byte [esi + 0x16], 0
mov edx, dword [edi + 4]
jmp 0x1005c021
movss xmm7, dword [esp + 0x60]
cmp ecx, eax
je 0x1005c6e6
mov dword [esi], ecx
mov edx, edi
push ecx
lea ecx, [esp + 0x44]
call fcn.1005af90
movss xmm2, dword [esp + 0x44]
xor edx, edx
add esp, 4
mov dword [esp + 0x78], edx
cmp dword [esp + 0x54], edx
jle 0x1005c14f
mov ecx, dword [esp + 0x10]
add ecx, ecx
mov dword [esp + 0x38], ecx
nop dword [eax]
mov eax, dword [edi + 0x14]
movzx eax, word [ecx + eax]
cmp eax, 0xa
jne 0x1005c0e6
movss xmm0, dword [0x1009a38c]
jmp 0x1005c125
mov ecx, dword [0x100be9bc]
mov edx, eax
mov ecx, dword [ecx + 0x192c]
cmp edx, dword [ecx]
jge 0x1005c102
mov eax, dword [ecx + 8]
movss xmm1, dword [eax + edx*4]
jmp 0x1005c107
movss xmm1, dword [ecx + 0xc]
mov eax, dword [0x100be9bc]
mov edx, dword [esp + 0x78]
movss xmm0, dword [eax + 0x1930]
divss xmm0, dword [ecx + 0x10]
mov ecx, dword [esp + 0x38]
mulss xmm0, xmm1
ucomiss xmm0, dword [0x1009a38c]
lahf
test ah, 0x44
jnp 0x1005c14f
addss xmm2, xmm0
comiss xmm2, xmm7
ja 0x1005c14f
inc dword [esi]
inc edx
add ecx, 2
mov dword [esp + 0x78], edx
mov dword [esp + 0x38], ecx
cmp edx, dword [esp + 0x54]
jl 0x1005c0d0
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
mov eax, dword [edi + 4]
cmp ecx, edx
je 0x1005c174
cmp ecx, eax
jle 0x1005c165
mov dword [esi + 4], eax
mov ecx, eax
cmp edx, eax
jle 0x1005c16e
mov dword [esi + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x1005c174
mov dword [esi], ecx
mov ecx, dword [esi]
cmp ecx, eax
jle 0x1005c17e
mov dword [esi], eax
mov ecx, eax
test dword [ebp + 8], 0x400000
mov byte [esi + 0x16], 1
movss dword [esi + 0x1c], xmm7
je 0x1005c193
mov dword [esi + 8], ecx
mov edx, dword [esp + 0x10]
test edx, edx
jle 0x1005c1c0
lea ecx, [edx - 1]
test ecx, ecx
jle 0x1005c1c2
mov eax, dword [edi + 0x14]
lea eax, [eax + ecx*2]
add eax, 0xfffffffe
nop dword [eax + eax]
cmp word [eax], 0xa
je 0x1005c1c2
dec ecx
sub eax, 2
test ecx, ecx
jg 0x1005c1b0
jmp 0x1005c1c2
xor ecx, ecx
mov eax, edx
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x3c]
inc edx
mov dword [esp + 0x3c], edx
cmp edx, dword [esp + 0x28]
jl 0x1005c060
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
jne 0x1005c1fc
mov eax, dword [esi]
mov dword [esi + 8], eax
mov dword [esi + 4], eax
mov eax, dword [esi]
sub eax, 1
js 0x1005c223
mov esi, eax
mov edx, esi
mov ecx, edi
call fcn.1005b070
test eax, eax
jne 0x1005c217
sub esi, 1
jns 0x1005c205
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x10]
mov edx, dword [esi + 4]
xor ecx, ecx
test eax, eax
cmovs eax, ecx
mov dword [esi], eax
mov dword [esi + 8], eax
mov ecx, dword [edi + 4]
cmp edx, eax
je 0x1005c255
cmp edx, ecx
jle 0x1005c242
mov dword [esi + 4], ecx
mov edx, ecx
mov edi, eax
cmp eax, ecx
jle 0x1005c24d
mov dword [esi + 8], ecx
mov edi, ecx
cmp edx, edi
jne 0x1005c255
mov dword [esi], edx
mov eax, edx
cmp eax, ecx
jle 0x1005c6e6
mov dword [esi], ecx
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
jne 0x1005c280
mov eax, dword [esi]
mov dword [esi + 8], eax
mov dword [esi + 4], eax
mov eax, dword [esi]
mov ecx, dword [edi + 4]
inc eax
cmp eax, ecx
jge 0x1005c2b3
mov esi, eax
nop dword [eax]
mov edx, esi
mov ecx, edi
call fcn.1005b070
mov ecx, dword [edi + 4]
test eax, eax
jne 0x1005c2a5
inc esi
cmp esi, ecx
jl 0x1005c290
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x10]
cmp eax, ecx
mov esi, dword [esp + 0x34]
mov edx, dword [esi + 4]
cmovg eax, ecx
mov dword [esi], eax
mov dword [esi + 8], eax
mov ecx, dword [edi + 4]
cmp edx, eax
je 0x1005c2e1
cmp edx, ecx
jle 0x1005c2ce
mov dword [esi + 4], ecx
mov edx, ecx
mov edi, eax
cmp eax, ecx
jle 0x1005c2d9
mov dword [esi + 8], ecx
mov edi, ecx
cmp edx, edi
jne 0x1005c2e1
mov dword [esi], edx
mov eax, edx
cmp eax, ecx
jle 0x1005c6e6
mov dword [esi], ecx
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 4]
mov eax, dword [esi + 8]
cmp edx, eax
jne 0x1005c30f
mov eax, dword [esi]
mov edx, eax
mov dword [esi + 4], eax
jmp 0x1005c311
mov dword [esi], eax
inc eax
mov dword [esi + 8], eax
mov ecx, dword [edi + 4]
cmp edx, eax
je 0x1005c337
cmp edx, ecx
jle 0x1005c325
mov dword [esi + 4], ecx
mov edx, ecx
mov edi, eax
cmp eax, ecx
jle 0x1005c330
mov dword [esi + 8], ecx
mov edi, ecx
cmp edx, edi
mov eax, edi
cmove eax, edi
mov dword [esi], eax
mov byte [esi + 0x16], 0
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
jne 0x1005c3b4
mov eax, dword [esi]
mov dword [esp + 0x78], eax
cmp eax, dword [edi + 4]
jge 0x1005c6e2
push 0
push 1
lea ecx, [esi + 0x20]
mov edx, eax
call fcn.1005c830
mov edx, dword [esp + 0x80]
add esp, 8
test eax, eax
je 0x1005c38b
mov ecx, dword [edi + 0x14]
mov cx, word [ecx + edx*2]
mov word [eax], cx
push 1
mov ecx, edi
call fcn.1005b110
add esp, 4
mov byte [esi + 0x16], 0
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x1005c3d0
mov edx, esi
call fcn.1005b6c0
mov byte [esi + 0x16], 0
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 4]
mov eax, dword [esi]
cmp eax, ecx
jle 0x1005c3dd
mov dword [esi], ecx
mov eax, ecx
test eax, eax
jle 0x1005c6e2
dec eax
lea ecx, [esi + 0x20]
push 0
push 1
mov edx, eax
mov dword [esp + 0x80], eax
call fcn.1005c830
mov edx, dword [esp + 0x80]
add esp, 8
test eax, eax
je 0x1005c413
mov ecx, dword [edi + 0x14]
mov cx, word [ecx + edx*2]
mov word [eax], cx
push 1
mov ecx, edi
call fcn.1005b110
add esp, 4
mov byte [esi + 0x16], 0
dec dword [esi]
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
jne 0x1005c443
mov eax, dword [esi]
mov dword [esi + 4], eax
mov dword [esi + 8], 0
mov dword [esi], 0
mov byte [esi + 0x16], 0
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 8]
cmp dword [esi + 4], eax
jne 0x1005c492
mov eax, dword [esi]
mov dword [esi + 8], eax
mov dword [esi + 4], eax
mov eax, dword [edi + 4]
mov dword [esi + 8], eax
mov dword [esi], eax
mov byte [esi + 0x16], 0
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
mov dword [esi], eax
mov eax, dword [edi + 4]
mov dword [esi + 8], eax
mov dword [esi], eax
mov byte [esi + 0x16], 0
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
mov eax, dword [edi + 4]
mov dword [esp + 0x10], ecx
cmp ecx, edx
je 0x1005c4f0
cmp ecx, eax
jle 0x1005c4cb
mov dword [esi + 4], eax
mov ecx, eax
mov dword [esp + 0x28], edx
cmp edx, eax
jle 0x1005c4dc
mov edx, eax
mov dword [esi + 8], eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jne 0x1005c4f0
mov edx, dword [esp + 0x28]
mov dword [esi], ecx
mov dword [esp + 0x10], ecx
mov ecx, dword [esi]
cmp ecx, eax
jle 0x1005c4fa
mov dword [esi], eax
mov ecx, eax
cmp dword [esp + 0x10], edx
jne 0x1005c508
mov dword [esi + 8], ecx
mov dword [esi + 4], ecx
jmp 0x1005c50c
mov dword [esi], edx
mov ecx, edx
cmp byte [esi + 0x17], 0
je 0x1005c531
xor ecx, ecx
mov dword [esi], 0
mov dword [esi + 8], ecx
mov byte [esi + 0x16], cl
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
test ecx, ecx
jle 0x1005c558
mov edx, ecx
nop word [eax + eax]
mov eax, dword [edi + 0x14]
mov ecx, edx
cmp word [eax + edx*2 - 2], 0xa
je 0x1005c558
lea ecx, [edx - 1]
mov dword [esi], ecx
mov edx, ecx
test ecx, ecx
jg 0x1005c540
mov dword [esi + 8], ecx
mov byte [esi + 0x16], 0
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
mov eax, dword [edi + 4]
mov dword [esp + 0x38], eax
mov dword [esp + 0x10], ecx
cmp ecx, edx
je 0x1005c5b3
cmp ecx, eax
jle 0x1005c58e
mov dword [esi + 4], eax
mov ecx, eax
mov dword [esp + 0x28], edx
cmp edx, eax
jle 0x1005c59f
mov edx, eax
mov dword [esi + 8], eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jne 0x1005c5b3
mov edx, dword [esp + 0x28]
mov dword [esi], ecx
mov dword [esp + 0x10], ecx
mov ecx, dword [esi]
cmp ecx, eax
jle 0x1005c5bd
mov dword [esi], eax
mov ecx, eax
cmp dword [esp + 0x10], edx
jne 0x1005c5cb
mov dword [esi + 8], ecx
mov dword [esi + 4], ecx
jmp 0x1005c5cf
mov dword [esi], edx
mov ecx, edx
cmp byte [esi + 0x17], 0
je 0x1005c5de
mov dword [esi], eax
mov ecx, eax
jmp 0x1005c558
cmp ecx, eax
jge 0x1005c558
mov edx, ecx
nop dword [eax + eax]
mov eax, dword [edi + 0x14]
mov ecx, edx
cmp word [eax + edx*2], 0xa
je 0x1005c558
lea ecx, [edx + 1]
mov edx, ecx
mov dword [esi], ecx
cmp ecx, dword [esp + 0x38]
jl 0x1005c5f0
mov dword [esi + 8], ecx
mov byte [esi + 0x16], 0
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
xor eax, eax
cmp edx, 0x200000
cmovge edx, eax
test edx, edx
jle 0x1005c6e6
movzx eax, dx
mov dword [esp + 0x78], eax
cmp edx, 0xa
jne 0x1005c64e
cmp byte [esi + 0x17], 0
jne 0x1005c6e6
cmp byte [esi + 0xc], 0
je 0x1005c6b1
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
jne 0x1005c6b1
mov eax, dword [esi]
mov dword [esp + 0x38], eax
cmp eax, dword [edi + 4]
jge 0x1005c6b1
push 1
push 1
lea ecx, [esi + 0x20]
mov edx, eax
call fcn.1005c830
add esp, 8
test eax, eax
je 0x1005c68a
mov ecx, dword [edi + 0x14]
mov edx, dword [esp + 0x38]
mov cx, word [ecx + edx*2]
mov word [eax], cx
mov edx, dword [esi]
mov ecx, edi
push 1
call fcn.1005b110
mov edx, dword [esi]
lea eax, [esp + 0x7c]
add esp, 4
mov ecx, edi
push 1
push eax
call fcn.1005b170
add esp, 8
test al, al
je 0x1005c6e6
jmp 0x1005c6e0
mov edx, esi
call fcn.1005b6c0
mov edx, dword [esi]
lea eax, [esp + 0x78]
push 1
push eax
mov ecx, edi
call fcn.1005b170
add esp, 8
test al, al
je 0x1005c6e6
mov edx, dword [esi]
lea ecx, [esi + 0x20]
push 1
push 0
call fcn.1005c830
add esp, 8
inc dword [esi]
mov byte [esi + 0x16], 0
mov ecx, dword [esp + 0x7c]
pop edi
pop esi
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret