Function at 0x1008bee0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, edx
push edi
mov dword [ebp - 8], esi
mov edi, ecx
cmp ebx, 0x30000
jg 0x1008bf17
je 0x1008c3b0
lea eax, [ebx - 0x10000]
cmp eax, 0xd
ja case.0x1008bf26.196618
jmp dword [eax*4 + 0x1008cb2c]
lea eax, [ebx - 0x30001]
cmp eax, 0xc
ja case.0x1008bf26.196618
jmp dword [eax*4 + 0x1008cb64]
cmp byte [esi + 0x10], 0
je 0x1008c407
and ebx, 0x20000
or ebx, 0x10001
jmp 0x1008bef3
cmp byte [esi + 0x10], 0
je 0x1008c5bd
and ebx, 0x20000
or ebx, 0x10000
jmp 0x1008bef3
call fcn.1008cd20
mov byte [esi + 0xf], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0xe18]
lea ebx, [esi + 0x18]
cmp ax, 0x63
je 0x1008cb1e
movsx ecx, word [ebx + 0xdfe]
cwde
add eax, eax
shl ecx, 4
add ecx, ebx
mov dword [ebp - 0x18], ecx
movups xmm1, xmmword [ebx + eax*8]
mov dword [ecx + 0xc], 0xffffffff
movaps xmm0, xmm1
movd edx, xmm1
psrldq xmm0, 4
movd eax, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
movd dword [ebp + 8], xmm0
cmp dword [ebp + 8], 0
movups xmmword [ebp - 0x28], xmm1
mov dword [ebp - 0x10], eax
mov dword [ecx + 8], eax
movd dword [ecx + 4], xmm0
mov dword [ebp - 0xc], edx
mov dword [ecx], edx
je 0x1008c05d
mov eax, dword [ebx + 0xe04]
add eax, dword [ebp + 8]
cmp eax, dword [ebx + 0xe08]
jle 0x1008bffa
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
jmp 0x1008c04a
mov eax, dword [ebx + 0xe04]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp + 8]
add dword [ebx + 0xe04], eax
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ecx + 4], eax
jle 0x1008c04a
mov edx, dword [ecx]
add edx, eax
cmp edx, dword [edi + 4]
jge 0x1008cae8
mov eax, dword [edi + 0xc]
mov ecx, dword [ecx + 0xc]
add ecx, dword [ebp - 8]
mov ax, word [eax + edx*2]
mov word [ebx + ecx*2 + 0x630], ax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x18]
inc eax
mov dword [ebp - 8], eax
cmp eax, dword [ecx + 4]
jl 0x1008c016
mov edx, dword [ebp - 0xc]
push dword [ebp + 8]
mov ecx, edi
call fcn.1008b930
mov eax, dword [ebp - 0x10]
add esp, 4
mov edx, dword [ebp - 0xc]
test eax, eax
je 0x1008c081
push eax
mov eax, dword [ebp - 0x1c]
mov ecx, edi
add eax, 0x318
lea eax, [ebx + eax*2]
push eax
call fcn.1008b990
mov eax, dword [ebp - 0x10]
add esp, 8
add dword [ebx + 0xe08], eax
add eax, dword [ebp - 0xc]
mov dword [esi], eax
inc word [ebx + 0xdfe]
inc word [ebx + 0xe00]
mov byte [esi + 0xf], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
cmp eax, ecx
jne 0x1008c127
mov eax, dword [esi]
test eax, eax
jle 0x1008cb1e
dec eax
mov byte [esi + 0xf], 0
mov dword [esi], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 4]
mov ebx, dword [esi + 8]
cmp eax, ebx
je 0x1008c101
jle 0x1008c0d7
mov dword [esi + 8], eax
mov edx, ebx
mov dword [esi + 4], ebx
jmp 0x1008c0db
mov edx, eax
mov eax, ebx
mov ecx, dword [edi + 0x2c]
cmp edx, ecx
jle 0x1008c0e7
mov dword [esi + 4], ecx
mov edx, ecx
cmp eax, ecx
jle 0x1008c0f0
mov dword [esi + 8], ecx
mov eax, ecx
cmp edx, eax
jne 0x1008c0f6
mov dword [esi], edx
mov dword [esi], eax
mov dword [esi + 4], eax
mov byte [esi + 0xf], 0
jmp 0x1008c105
inc dword [esi]
mov eax, dword [esi]
mov ecx, dword [edi + 0x2c]
cmp eax, ecx
jle 0x1008cb1e
mov dword [esi], ecx
mov byte [esi + 0xf], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1008c13e
jle 0x1008c12e
mov eax, ecx
mov dword [esi + 4], eax
mov dword [esi], eax
mov dword [esi + 8], eax
mov byte [esi + 0xf], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [esi]
sub ebx, 1
js 0x1008c157
mov edx, ebx
mov ecx, edi
call fcn.1008b870
test eax, eax
jne 0x1008c157
sub ebx, 1
jns 0x1008c145
mov ecx, dword [esi + 4]
xor eax, eax
mov edx, dword [esi + 8]
test ebx, ebx
cmovs ebx, eax
mov dword [esi], ebx
mov eax, dword [edi + 0x2c]
cmp ecx, edx
je 0x1008c187
cmp ecx, eax
jle 0x1008c176
mov dword [esi + 4], eax
mov ecx, eax
cmp edx, eax
jle 0x1008c17f
mov dword [esi + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x1008c187
mov dword [esi], ecx
mov ebx, ecx
cmp ebx, eax
jle 0x1008cb22
mov dword [esi], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 4]
mov ebx, dword [esi + 8]
cmp eax, ebx
je 0x1008c1d9
jle 0x1008c1ae
mov dword [esi + 8], eax
mov ecx, ebx
mov dword [esi + 4], ebx
jmp 0x1008c1b2
mov ecx, eax
mov eax, ebx
mov edx, dword [edi + 0x2c]
cmp ecx, edx
cmovg ecx, edx
cmp eax, edx
jle 0x1008c1c3
mov dword [esi + 8], edx
mov eax, edx
cmp ecx, eax
jne 0x1008c1c9
mov dword [esi], ecx
mov dword [esi], eax
mov dword [esi + 4], eax
mov byte [esi + 0xf], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [esi]
mov eax, dword [edi + 0x2c]
inc ebx
mov dword [ebp + 8], eax
cmp ebx, eax
jge 0x1008c20a
mov esi, eax
nop dword [eax + eax]
mov edx, ebx
mov ecx, edi
call fcn.1008b870
test eax, eax
jne 0x1008c202
inc ebx
cmp ebx, esi
jl 0x1008c1f0
mov eax, dword [ebp + 8]
cmp ebx, eax
mov esi, dword [ebp - 8]
mov ecx, dword [esi + 4]
cmovg ebx, eax
mov edx, dword [esi + 8]
mov dword [esi], ebx
mov eax, dword [edi + 0x2c]
cmp ecx, edx
je 0x1008c236
cmp ecx, eax
jle 0x1008c225
mov dword [esi + 4], eax
mov ecx, eax
cmp edx, eax
jle 0x1008c22e
mov dword [esi + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x1008c236
mov dword [esi], ecx
mov ebx, ecx
cmp ebx, eax
jle 0x1008cb22
mov dword [esi], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esi + 8], 0
mov dword [esi + 4], 0
mov dword [esi], 0
mov byte [esi + 0xf], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x2c]
mov dword [esi], eax
mov dword [esi + 8], 0
mov dword [esi + 4], 0
mov byte [esi + 0xf], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [esi + 4]
mov edx, dword [esi + 8]
mov eax, dword [edi + 0x2c]
cmp ebx, edx
je 0x1008c2b7
mov ecx, ebx
cmp ebx, eax
jle 0x1008c29c
mov dword [esi + 4], eax
mov ecx, eax
mov dword [ebp + 8], edx
cmp edx, eax
jle 0x1008c2ab
mov edx, eax
mov dword [esi + 8], eax
mov dword [ebp + 8], edx
mov ebx, ecx
cmp ecx, dword [ebp + 8]
jne 0x1008c2b7
mov edx, dword [ebp + 8]
mov dword [esi], ecx
mov ecx, dword [esi]
cmp ecx, eax
jle 0x1008c2c1
mov dword [esi], eax
mov ecx, eax
cmp ebx, edx
je 0x1008c2d7
mov ecx, ebx
jle 0x1008c2ce
mov dword [esi + 4], edx
mov ecx, edx
mov dword [esi], ecx
mov dword [esi + 8], ecx
mov byte [esi + 0xf], 0
cmp byte [esi + 0x10], 0
jne 0x1008c255
test ecx, ecx
jle 0x1008cb1e
nop dword [eax]
dec ecx
cmp ecx, dword [edi + 4]
jge 0x1008cae8
mov eax, dword [edi + 0xc]
cmp word [eax + ecx*2], 0xa
je 0x1008cb1e
mov dword [esi], ecx
test ecx, ecx
jg 0x1008c2f0
mov byte [esi + 0xf], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [esi + 4]
mov eax, dword [esi + 8]
mov edx, dword [edi + 0x2c]
cmp ebx, eax
je 0x1008c34c
mov ecx, ebx
cmp ebx, edx
jle 0x1008c331
mov dword [esi + 4], edx
mov ecx, edx
mov dword [ebp + 8], eax
cmp eax, edx
jle 0x1008c340
mov eax, edx
mov dword [esi + 8], edx
mov dword [ebp + 8], eax
mov ebx, ecx
cmp ecx, dword [ebp + 8]
jne 0x1008c34c
mov eax, dword [ebp + 8]
mov dword [esi], ecx
mov ecx, dword [esi]
cmp ecx, edx
jle 0x1008c356
mov dword [esi], edx
mov ecx, edx
cmp ebx, eax
je 0x1008c36c
mov ecx, ebx
jle 0x1008c363
mov dword [esi + 4], eax
mov ecx, eax
mov dword [esi], ecx
mov dword [esi + 8], ecx
mov byte [esi + 0xf], 0
cmp byte [esi + 0x10], 0
je 0x1008c37f
mov dword [esi], edx
mov byte [esi + 0xf], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ecx, edx
jge 0x1008cb1e
cmp ecx, dword [edi + 4]
jge 0x1008cae8
mov eax, dword [edi + 0xc]
cmp word [eax + ecx*2], 0xa
je 0x1008cb1e
inc ecx
mov dword [esi], ecx
cmp ecx, edx
jl 0x1008c387
mov byte [esi + 0xf], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x2c]
mov edi, dword [esi + 4]
mov edx, dword [esi + 8]
cmp edi, edx
je 0x1008c3dd
mov eax, edi
cmp edi, ecx
jle 0x1008c3c8
mov dword [esi + 4], ecx
mov eax, ecx
mov ebx, edx
cmp edx, ecx
jle 0x1008c3d3
mov dword [esi + 8], ecx
mov ebx, ecx
mov edi, eax
mov edx, ebx
cmp eax, ebx
jne 0x1008c3dd
mov dword [esi], eax
mov eax, dword [esi]
cmp eax, ecx
cmovg eax, ecx
cmp edi, edx
jne 0x1008c3f0
mov dword [esi + 8], eax
mov dword [esi + 4], eax
jmp 0x1008c3f2
mov eax, edx
test eax, eax
jle 0x1008c3fa
dec eax
mov dword [esi + 8], eax
mov dword [esi], eax
mov byte [esi + 0xf], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
test ebx, 0x20000
je 0x1008c47b
cmp eax, ecx
jne 0x1008c477
mov eax, dword [esi]
mov ecx, eax
mov dword [esi + 8], eax
mov dword [esi + 4], eax
mov edx, dword [edi + 0x2c]
cmp eax, ecx
je 0x1008c442
cmp eax, edx
jle 0x1008c433
mov dword [esi + 4], edx
mov eax, edx
cmp ecx, edx
jle 0x1008c43c
mov dword [esi + 8], edx
mov ecx, edx
cmp eax, ecx
jne 0x1008c442
mov dword [esi], eax
mov ecx, dword [esi]
cmp ecx, edx
jle 0x1008c44c
mov dword [esi], edx
mov ecx, edx
movzx eax, byte [esi + 0x10]
mov edx, edi
push eax
push ecx
lea ecx, [ebp - 0x30]
call fcn.1008bc50
mov ecx, dword [ebp - 0x20]
add esp, 8
test ecx, ecx
je 0x1008cb22
cmp byte [esi + 0xf], 0
je 0x1008c4b6
movss xmm6, dword [esi + 0x14]
jmp 0x1008c4bb
mov dword [esi], ecx
jmp 0x1008c423
cmp eax, ecx
je 0x1008c423
jle 0x1008c489
mov dword [esi + 8], eax
mov dword [esi + 4], ecx
jmp 0x1008c491
mov dword [ebp + 8], eax
mov eax, ecx
mov ecx, dword [ebp + 8]
mov edx, dword [edi + 0x2c]
cmp ecx, edx
cmovg ecx, edx
cmp eax, edx
jle 0x1008c4a2
mov dword [esi + 8], edx
mov eax, edx
cmp ecx, eax
jne 0x1008c4a8
mov dword [esi], ecx
mov dword [esi], eax
mov dword [esi + 4], eax
mov byte [esi + 0xf], 0
mov edx, dword [edi + 0x2c]
jmp 0x1008c442
movss xmm6, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
mov edx, edi
add eax, ecx
lea ecx, [ebp - 0x48]
push eax
mov dword [ebp - 0x10], eax
mov dword [esi], eax
call fcn.1008b7b0
movss xmm2, dword [ebp - 0x48]
xor edx, edx
add esp, 4
cmp dword [ebp - 0x34], edx
jle 0x1008c56f
mov eax, dword [ebp - 0x10]
movss xmm3, dword [0x10162a14]
lea ecx, [eax + eax]
mov dword [ebp + 8], ecx
add eax, edx
cmp eax, dword [edi + 4]
jge 0x1008cae8
mov eax, dword [edi + 0xc]
movzx eax, word [ecx + eax]
cmp eax, 0xa
je 0x1008c56f
mov ecx, dword [0x101e0c0c]
mov dword [ebp - 0x18], eax
mov ecx, dword [ecx + 0x18a8]
cmp eax, dword [ecx]
jge 0x1008c52e
mov esi, dword [ebp - 0x18]
mov eax, dword [ecx + 8]
movss xmm1, dword [eax + esi*4]
mov esi, dword [ebp - 8]
jmp 0x1008c533
movss xmm1, dword [ecx + 0xc]
mov eax, dword [0x101e0c0c]
movss xmm0, dword [eax + 0x18ac]
divss xmm0, dword [ecx + 0x10]
mulss xmm0, xmm1
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jnp 0x1008c56f
addss xmm2, xmm0
comiss xmm2, xmm6
ja 0x1008c56f
mov ecx, dword [ebp + 8]
inc edx
inc dword [esi]
add ecx, 2
mov eax, dword [ebp - 0x10]
mov dword [ebp + 8], ecx
cmp edx, dword [ebp - 0x34]
jl 0x1008c4f4
mov edx, dword [esi + 8]
mov ecx, dword [esi + 4]
mov eax, dword [edi + 0x2c]
cmp ecx, edx
je 0x1008c594
cmp ecx, eax
jle 0x1008c585
mov dword [esi + 4], eax
mov ecx, eax
cmp edx, eax
jle 0x1008c58e
mov dword [esi + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x1008c594
mov dword [esi], ecx
mov ecx, dword [esi]
cmp ecx, eax
jle 0x1008c59e
mov dword [esi], eax
mov ecx, eax
mov byte [esi + 0xf], 1
movss dword [esi + 0x14], xmm6
test ebx, 0x20000
je 0x1008cb22
mov dword [esi + 8], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
test ebx, 0x20000
je 0x1008c62f
cmp eax, ecx
jne 0x1008c62b
mov eax, dword [esi]
mov ecx, eax
mov dword [esi + 8], eax
mov dword [esi + 4], eax
mov edx, dword [edi + 0x2c]
cmp eax, ecx
je 0x1008c5f8
cmp eax, edx
jle 0x1008c5e9
mov dword [esi + 4], edx
mov eax, edx
cmp ecx, edx
jle 0x1008c5f2
mov dword [esi + 8], edx
mov ecx, edx
cmp eax, ecx
jne 0x1008c5f8
mov dword [esi], eax
mov eax, dword [esi]
cmp eax, edx
jle 0x1008c602
mov dword [esi], edx
mov eax, edx
push 0
push eax
mov edx, edi
lea ecx, [ebp - 0x30]
call fcn.1008bc50
mov eax, dword [ebp - 0x1c]
add esp, 8
cmp eax, dword [ebp - 0x24]
je 0x1008cb22
cmp byte [esi + 0xf], 0
je 0x1008c648
movss xmm6, dword [esi + 0x14]
jmp 0x1008c64d
mov dword [esi], ecx
jmp 0x1008c5d9
cmp eax, ecx
je 0x1008c5d9
jle 0x1008c63a
mov eax, ecx
mov dword [esi + 4], eax
mov dword [esi], eax
mov dword [esi + 8], eax
mov byte [esi + 0xf], 0
mov edx, dword [edi + 0x2c]
jmp 0x1008c5f8
movss xmm6, dword [ebp - 0x30]
push eax
mov edx, edi
mov dword [esi], eax
lea ecx, [ebp - 0x48]
call fcn.1008b7b0
movss xmm2, dword [ebp - 0x48]
xor ecx, ecx
add esp, 4
cmp dword [ebp - 0x34], ecx
jle 0x1008c56f
mov eax, dword [ebp - 0x1c]
movss xmm3, dword [0x10162a14]
lea edx, [eax + eax]
mov dword [ebp + 8], edx
nop
add eax, ecx
cmp eax, dword [edi + 4]
jge 0x1008cae8
mov eax, dword [edi + 0xc]
movzx eax, word [edx + eax]
cmp eax, 0xa
je 0x1008c56f
mov edx, dword [0x101e0c0c]
mov dword [ebp - 0x18], eax
mov edx, dword [edx + 0x18a8]
cmp eax, dword [edx]
jge 0x1008c6be
mov esi, dword [ebp - 0x18]
mov eax, dword [edx + 8]
movss xmm1, dword [eax + esi*4]
mov esi, dword [ebp - 8]
jmp 0x1008c6c3
movss xmm1, dword [edx + 0xc]
mov eax, dword [0x101e0c0c]
movss xmm0, dword [eax + 0x18ac]
divss xmm0, dword [edx + 0x10]
mulss xmm0, xmm1
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jnp 0x1008c56f
addss xmm2, xmm0
comiss xmm2, xmm6
ja 0x1008c56f
mov edx, dword [ebp + 8]
inc ecx
inc dword [esi]
add edx, 2
mov eax, dword [ebp - 0x1c]
mov dword [ebp + 8], edx
cmp ecx, dword [ebp - 0x34]
jl 0x1008c680
jmp 0x1008c56f
mov eax, dword [esi + 4]
mov ebx, dword [esi]
cmp eax, dword [esi + 8]
jne 0x1008c720
mov dword [esi + 8], ebx
mov dword [esi + 4], ebx
add ebx, 0xffffffff
js 0x1008c737
mov edx, ebx
mov ecx, edi
call fcn.1008b870
test eax, eax
jne 0x1008c737
sub ebx, 1
jns 0x1008c725
mov ecx, dword [esi + 4]
xor eax, eax
test ebx, ebx
cmovs ebx, eax
mov dword [esi], ebx
mov dword [esi + 8], ebx
mov eax, dword [edi + 0x2c]
cmp ecx, ebx
je 0x1008c769
cmp ecx, eax
jle 0x1008c756
mov dword [esi + 4], eax
mov ecx, eax
mov edx, ebx
cmp ebx, eax
jle 0x1008c761
mov dword [esi + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x1008c769
mov dword [esi], ecx
mov ebx, ecx
cmp ebx, eax
jle 0x1008cb22
mov dword [esi], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 4]
mov ebx, dword [esi]
cmp eax, dword [esi + 8]
jne 0x1008c78a
mov dword [esi + 8], ebx
mov dword [esi + 4], ebx
mov eax, dword [edi + 0x2c]
inc ebx
mov dword [ebp + 8], eax
cmp ebx, eax
jge 0x1008c7b1
mov esi, eax
mov edx, ebx
mov ecx, edi
call fcn.1008b870
test eax, eax
jne 0x1008c7a9
inc ebx
cmp ebx, esi
jl 0x1008c797
mov eax, dword [ebp + 8]
cmp ebx, eax
mov esi, dword [ebp - 8]
mov ecx, dword [esi + 4]
cmovg ebx, eax
mov dword [esi], ebx
mov dword [esi + 8], ebx
mov eax, dword [edi + 0x2c]
cmp ecx, ebx
je 0x1008c7df
cmp ecx, eax
jle 0x1008c7cc
mov dword [esi + 4], eax
mov ecx, eax
mov edx, ebx
cmp ebx, eax
jle 0x1008c7d7
mov dword [esi + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x1008c7df
mov dword [esi], ecx
mov ebx, ecx
cmp ebx, eax
jle 0x1008cb22
mov dword [esi], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 4]
mov eax, dword [esi + 8]
cmp edx, eax
jne 0x1008c803
mov eax, dword [esi]
mov edx, eax
mov dword [esi + 4], eax
jmp 0x1008c805
mov dword [esi], eax
inc eax
mov dword [esi + 8], eax
mov ecx, dword [edi + 0x2c]
cmp edx, eax
je 0x1008c82b
cmp edx, ecx
jle 0x1008c819
mov dword [esi + 4], ecx
mov edx, ecx
mov edi, eax
cmp eax, ecx
jle 0x1008c824
mov dword [esi + 8], ecx
mov edi, ecx
cmp edx, edi
mov eax, edi
cmove eax, edi
mov dword [esi], eax
mov byte [esi + 0xf], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
jne 0x1008c869
mov eax, dword [esi]
cmp eax, dword [edi + 0x2c]
jge 0x1008cb1e
push 1
push eax
call fcn.1008bdd0
add esp, 8
mov byte [esi + 0xf], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x1008c879
call fcn.1008be50
mov byte [esi + 0xf], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x2c]
mov eax, dword [esi]
cmp eax, ecx
jle 0x1008c886
mov dword [esi], ecx
mov eax, ecx
test eax, eax
jle 0x1008cb1e
dec eax
mov ecx, edi
push 1
push eax
call fcn.1008bdd0
add esp, 8
mov byte [esi + 0xf], 0
dec dword [esi]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
jne 0x1008c8b6
mov eax, dword [esi]
mov dword [esi + 4], eax
mov dword [esi + 8], 0
mov dword [esi], 0
mov byte [esi + 0xf], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 8]
cmp dword [esi + 4], eax
jne 0x1008c8f1
mov eax, dword [esi]
mov dword [esi + 8], eax
mov dword [esi + 4], eax
mov eax, dword [edi + 0x2c]
mov dword [esi + 8], eax
mov dword [esi], eax
mov byte [esi + 0xf], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esi], eax
mov eax, dword [edi + 0x2c]
mov dword [esi + 8], eax
mov dword [esi], eax
mov byte [esi + 0xf], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [esi + 4]
mov ecx, dword [esi + 8]
mov eax, dword [edi + 0x2c]
cmp ebx, ecx
je 0x1008c939
mov edx, ebx
cmp ebx, eax
jle 0x1008c91e
mov dword [esi + 4], eax
mov edx, eax
mov dword [ebp + 8], ecx
cmp ecx, eax
jle 0x1008c92d
mov ecx, eax
mov dword [esi + 8], eax
mov dword [ebp + 8], ecx
mov ebx, edx
cmp edx, dword [ebp + 8]
jne 0x1008c939
mov ecx, dword [ebp + 8]
mov dword [esi], edx
mov edx, dword [esi]
cmp edx, eax
jle 0x1008c943
mov dword [esi], eax
mov edx, eax
cmp ebx, ecx
jne 0x1008c94f
mov dword [esi + 8], edx
mov dword [esi + 4], edx
jmp 0x1008c953
mov dword [esi], ecx
mov edx, ecx
cmp byte [esi + 0x10], 0
je 0x1008c96e
xor edx, edx
mov dword [esi], 0
mov dword [esi + 8], edx
mov byte [esi + 0xf], dl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test edx, edx
jle 0x1008c990
lea ecx, [edx - 1]
cmp ecx, dword [edi + 4]
jge 0x1008cae8
mov eax, dword [edi + 0xc]
cmp word [eax + ecx*2], 0xa
je 0x1008c990
mov dword [esi], ecx
mov edx, ecx
test ecx, ecx
jg 0x1008c972
mov dword [esi + 8], edx
mov byte [esi + 0xf], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [esi + 4]
mov eax, dword [esi + 8]
mov edx, dword [edi + 0x2c]
cmp ebx, eax
je 0x1008c9d1
mov ecx, ebx
cmp ebx, edx
jle 0x1008c9b6
mov dword [esi + 4], edx
mov ecx, edx
mov dword [ebp + 8], eax
cmp eax, edx
jle 0x1008c9c5
mov eax, edx
mov dword [esi + 8], edx
mov dword [ebp + 8], eax
mov ebx, ecx
cmp ecx, dword [ebp + 8]
jne 0x1008c9d1
mov eax, dword [ebp + 8]
mov dword [esi], ecx
mov ecx, dword [esi]
cmp ecx, edx
jle 0x1008c9db
mov dword [esi], edx
mov ecx, edx
cmp ebx, eax
jne 0x1008c9e7
mov dword [esi + 8], ecx
mov dword [esi + 4], ecx
jmp 0x1008c9eb
mov dword [esi], eax
mov ecx, eax
cmp byte [esi + 0x10], 0
je 0x1008ca03
mov ecx, edx
mov dword [esi], edx
mov dword [esi + 8], ecx
mov byte [esi + 0xf], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ecx, edx
jge 0x1008ca21
cmp ecx, dword [edi + 4]
jge 0x1008cae8
mov eax, dword [edi + 0xc]
cmp word [eax + ecx*2], 0xa
je 0x1008ca21
inc ecx
mov dword [esi], ecx
cmp ecx, edx
jl 0x1008ca07
mov dword [esi + 8], ecx
mov byte [esi + 0xf], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
cmp ebx, 0x10000
cmovge ebx, eax
test ebx, ebx
jle 0x1008cb22
movzx eax, bx
mov dword [ebp + 8], eax
cmp ebx, 0xa
jne 0x1008ca57
cmp byte [esi + 0x10], 0
jne 0x1008cb22
cmp byte [esi + 0xc], 0
je 0x1008caf0
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
jne 0x1008caf0
mov ebx, dword [esi]
cmp ebx, dword [edi + 0x2c]
jge 0x1008caf0
push 1
push 1
lea ecx, [esi + 0x18]
mov edx, ebx
call fcn.1008cc50
add esp, 8
mov dword [ebp - 0x18], eax
test eax, eax
je 0x1008cab7
xor ecx, ecx
lea edx, [ebx + ebx]
lea eax, [ecx + ebx]
cmp eax, dword [edi + 4]
jge 0x1008cae8
mov eax, dword [edi + 0xc]
mov esi, dword [ebp - 0x18]
mov ax, word [edx + eax]
add edx, 2
mov word [esi + ecx*2], ax
inc ecx
mov esi, dword [ebp - 8]
cmp ecx, 1
jl 0x1008ca95
mov edx, dword [esi]
mov ecx, edi
push 1
call fcn.1008b930
mov edx, dword [esi]
lea eax, [ebp + 8]
add esp, 4
mov ecx, edi
push 1
push eax
call fcn.1008b990
add esp, 8
test al, al
je 0x1008cb22
inc dword [esi]
mov byte [esi + 0xf], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
call fcn.1008be50
mov edx, dword [esi]
lea eax, [ebp + 8]
push 1
push eax
mov ecx, edi
call fcn.1008b990
add esp, 8
test al, al
je 0x1008cb22
mov edx, dword [esi]
lea ecx, [esi + 0x18]
push 1
push 0
call fcn.1008cc50
add esp, 8
inc dword [esi]
mov byte [esi + 0xf], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret