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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x118
mov eax, dword [0x10039040]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
push edi
mov edi, dword [0x10039098]
mov esi, ecx
mov ecx, edi
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x110], esi
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x5c], ecx
mov eax, dword [ecx + 0x1730]
mov byte [eax + 0x86], 1
mov ebx, dword [ecx + 0x1730]
mov dword [ebp - 0x4c], ebx
cmp byte [ebx + 0x88], 0
jne 0x10010244
mov edx, dword [ebp + 0x10]
mov ecx, edx
shr ecx, 0xe
mov eax, edx
not cl
shr eax, 0x14
and ecx, 0xffffff01
and eax, 0xffffff01
mov dword [ebp - 0x90], ecx
mov ecx, edx
shr ecx, 0xf
and ecx, 0xffffff01
mov dword [ebp - 0x98], eax
mov dword [ebp - 0xf8], ecx
test al, al
je 0x1000fefe
call fcn.10014fe0
mov edi, dword [0x10039098]
mov dword [ebp - 0x70], edi
mov ecx, dword [ebx + 0x1c0]
xor edx, edx
mov eax, dword [ebx + 0x1c8]
push dword [eax + ecx*4 - 4]
mov ecx, esi
call fcn.100029a0
add esp, 4
mov dword [ebp - 0x88], eax
cmp dword [edi + 0x1758], eax
jne 0x1000ff2f
mov byte [edi + 0x1760], 1
mov dword [ebp - 0x78], eax
mov ecx, esi
cmp esi, 0xffffffff
jae 0x1000ff56
nop dword [eax]
mov dl, byte [ecx]
test dl, dl
je 0x1000ff56
cmp dl, 0x23
jne 0x1000ff50
cmp byte [ecx + 1], dl
je 0x1000ff56
inc ecx
cmp ecx, 0xffffffff
jb 0x1000ff40
movss xmm0, dword [edi + 0x16f8]
mov eax, dword [ebp - 0x110]
movss xmm1, dword [0x10034a28]
mov esi, dword [edi + 0x16f4]
movss dword [ebp - 0x80], xmm0
movss dword [ebp - 0xfc], xmm1
cmp eax, ecx
jne 0x1000ff90
xorps xmm6, xmm6
movss dword [ebp - 0x10c], xmm6
jmp 0x1000fff0
movss xmm3, dword [0x10034a18]
movaps xmm2, xmm0
push ecx
push ecx
push eax
push ecx
lea eax, [ebp - 0x6c]
mov dword [esp], 0xbf800000
push eax
mov ecx, esi
call fcn.1001f770
movss xmm1, dword [ebp - 0x6c]
xorps xmm6, xmm6
comiss xmm1, xmm6
jbe 0x1000ffcb
movss xmm0, dword [ebp - 0x80]
divss xmm0, dword [esi]
subss xmm1, xmm0
addss xmm1, dword [0x100348f0]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x10c], xmm0
movss xmm0, dword [ebp - 0x68]
movss dword [ebp - 0x80], xmm0
cmp byte [ebp - 0x98], 0
je 0x1001000e
movss xmm0, dword [edi + 0x16f8]
mulss xmm0, dword [0x1003496c]
movss dword [ebp - 0x80], xmm0
mov esi, dword [edi + 0x1730]
movss xmm3, dword [esi + 0x120]
comiss xmm6, xmm3
jbe 0x10010069
cmp dword [esi + 0x194], 1
movss xmm4, dword [esi + 0xb8]
subss xmm4, dword [esi + 0x18]
movss xmm1, dword [esi + 0x48]
je 0x10010055
mov ecx, dword [esi + 0x190]
inc ecx
call fcn.10015280
movaps xmm1, xmm0
movss xmm0, dword [ebp - 0x80]
subss xmm1, dword [esi + 0x50]
subss xmm1, xmm4
addss xmm1, xmm3
movss xmm3, dword [0x100348f4]
maxss xmm3, xmm1
cvttss2si eax, xmm3
xorps xmm3, xmm3
movd xmm5, eax
mov eax, dword [ebp - 0x5c]
cvtdq2ps xmm5, xmm5
movss xmm4, dword [eax + 0x13ec]
mov eax, dword [ebp + 0xc]
addss xmm4, xmm4
movss xmm7, dword [eax]
comiss xmm6, xmm7
movss xmm2, dword [eax + 4]
addss xmm4, xmm0
movss dword [ebp - 0xb8], xmm7
xorps xmm0, xmm0
movss dword [ebp - 0xe8], xmm2
ja 0x100100b3
comiss xmm6, xmm2
jbe 0x100100ec
cmp dword [esi + 0x194], 1
movss xmm0, dword [esi + 0x48]
movss xmm3, dword [esi + 0x4c]
je 0x100100df
mov ecx, dword [esi + 0x190]
inc ecx
call fcn.10015280
subss xmm0, dword [esi + 0x50]
movss xmm2, dword [ebp - 0xe8]
addss xmm0, dword [esi + 0x18]
addss xmm3, dword [esi + 0x1c]
lea eax, [esi + 0x18]
comiss xmm6, xmm7
movss xmm1, dword [0x10034950]
jb 0x1001012c
ucomiss xmm7, xmm6
lahf
test ah, 0x44
jp 0x1001010f
movaps xmm7, xmm5
movss dword [ebp - 0xb8], xmm7
jmp 0x1001012c
mov eax, esi
subss xmm0, dword [eax + 0xb8]
maxss xmm0, xmm1
addss xmm0, xmm7
movaps xmm7, xmm0
movss dword [ebp - 0xb8], xmm0
comiss xmm6, xmm2
jb 0x10010164
ucomiss xmm2, xmm6
lahf
test ah, 0x44
jp 0x10010147
movaps xmm2, xmm4
movss dword [ebp - 0xe8], xmm2
jmp 0x10010164
mov eax, esi
subss xmm3, dword [eax + 0xbc]
maxss xmm3, xmm1
addss xmm3, xmm2
movaps xmm2, xmm3
movss dword [ebp - 0xe8], xmm3
movss xmm4, dword [ebx + 0xb8]
movaps xmm5, xmm7
movss xmm3, dword [ebx + 0xbc]
addss xmm5, xmm4
movss xmm0, dword [ebp - 0x10c]
movaps xmm1, xmm2
comiss xmm0, xmm6
mov esi, dword [ebp - 0x5c]
addss xmm1, xmm3
movss dword [ebp - 0xe4], xmm4
movss dword [ebp - 0x118], xmm5
movss dword [ebp - 0xcc], xmm3
movss dword [ebp - 0x18], xmm4
movss dword [ebp - 0x14], xmm3
movss dword [ebp - 0x10], xmm5
movss dword [ebp - 0xc], xmm1
jbe 0x100101cb
movaps xmm2, xmm0
addss xmm2, dword [esi + 0x13fc]
jmp 0x100101ce
xorps xmm2, xmm2
cmp byte [ebp - 0x98], 0
movaps xmm0, xmm5
addss xmm0, xmm2
movss dword [ebp - 0xdc], xmm4
movaps xmm2, xmm1
movss dword [ebp - 0xd8], xmm3
addss xmm2, xmm6
mov dword [ebp - 0xa4], ebx
movss dword [ebp - 0xd4], xmm0
movss dword [ebp - 0xd0], xmm2
je 0x10010290
movaps xmm0, xmm5
subss xmm1, xmm3
subss xmm0, xmm4
push ecx
mov ecx, dword [ebp - 0x88]
lea edx, [ebp - 0x6c]
movss dword [ebp - 0x68], xmm1
movss dword [ebp - 0x6c], xmm0
call fcn.10006e30
add esp, 4
test al, al
jne 0x10010257
call fcn.10006f20
call fcn.100150f0
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.1002cce0
mov esp, ebp
pop ebp
ret
mov edi, dword [0x10039098]
movss xmm7, dword [ebp - 0xb8]
mov dword [ebp - 0x70], edi
mov eax, dword [edi + 0x1730]
mov byte [eax + 0x86], 1
mov eax, dword [edi + 0x1730]
mov dword [ebp - 0xa4], eax
subss xmm7, dword [eax + 0x78]
movss dword [ebp - 0xb8], xmm7
jmp 0x100102c4
movss xmm1, dword [esi + 0x13ec]
subss xmm0, xmm4
subss xmm2, xmm3
lea ecx, [ebp - 0x6c]
movss dword [ebp - 0x6c], xmm0
movss dword [ebp - 0x68], xmm2
call fcn.10003c10
lea edx, [ebp - 0x78]
lea ecx, [ebp - 0xdc]
call fcn.10003d10
test al, al
je 0x10010244
cmp byte [ebp - 0xf8], 0
je 0x10010361
mov esi, dword [esi + 0x16f4]
cmp dword [esi + 0x28], 0x2a
jle 0x100102f9
mov eax, dword [esi + 0x30]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
je 0x100102f9
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x18]
lea edi, [eax + ecx*8]
jmp 0x100102fc
mov edi, dword [esi + 0x34]
mov eax, dword [esi]
mov edx, dword [ebp - 0x5c]
add edx, 0x26fc
mov dword [edx], eax
mov eax, dword [esi + 4]
mov esi, dword [ebp - 0x5c]
mov dword [edx + 4], eax
mov eax, dword [esi + 0x16f4]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [edx + 8], ecx
mov ecx, edx
mov dword [edx + 0xc], eax
mov eax, dword [esi + 0x16f4]
mov eax, dword [eax + 0x48]
mov dword [edx + 0x48], eax
mov eax, dword [esi + 0x16f4]
mov eax, dword [eax + 0x4c]
mov dword [edx + 0x4c], eax
mov eax, dword [esi + 0x16f4]
mov eax, dword [eax + 0x44]
mov dword [edx + 0x44], eax
mov dword [edx + 0x34], edi
mov eax, dword [edi + 4]
mov dword [edx + 0x38], eax
call fcn.1000b4d0
mov edi, dword [0x10039098]
mov dword [ebp - 0x70], edi
mov ecx, dword [ebp - 0x88]
add esi, 0x1a28
test dword [ebp + 0x10], 0x440
mov dword [ebp - 0x9c], esi
sete al
movzx eax, al
push eax
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 0x1758], ecx
mov ecx, ebx
sete dl
call fcn.10003ef0
mov bl, al
add esp, 4
test bl, bl
je 0x10010403
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax + 0x264]
cmp ecx, dword [eax + 0x26c]
jne 0x10010403
mov byte [ebp - 0x5d], 1
mov byte [ebp - 0x81], 0
mov edx, dword [ebp - 0x88]
lea ecx, [ebp - 0x18]
push 0
call fcn.10003e30
mov edx, dword [ebp - 0x5c]
add esp, 4
mov byte [ebp - 0x91], al
test al, al
mov eax, dword [ebp - 0x88]
je 0x10010418
mov dword [edi + 0x174c], eax
mov byte [edi + 0x1750], 0
mov dword [edx + 0x18b8], 1
cmp byte [edx + 0x334], 0
je 0x10010418
mov bh, 1
jmp 0x1001041a
mov byte [ebp - 0x5d], 0
test bl, bl
je 0x100103b2
mov byte [ebp - 0x81], 1
mov byte [ebp - 0x5d], 0
jmp 0x100103b9
xor bh, bh
cmp byte [ebp - 0x98], 0
mov byte [ebp - 0x55], bh
je 0x10010467
cmp dword [edx + 0x1758], 0
jne 0x10010467
cmp dword [esi], eax
jne 0x10010467
mov eax, dword [ebp - 0xa4]
xor edx, edx
mov ecx, dword [eax + 0x1c0]
mov eax, dword [eax + 0x1c8]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.100029a0
mov edx, dword [ebp - 0x5c]
add esp, 4
cmp dword [edx + 0x175c], eax
jne 0x10010467
mov cl, 1
jmp 0x10010469
xor cl, cl
mov eax, dword [edx + 0x1758]
cmp eax, dword [ebp - 0x88]
je 0x10010484
test byte [ebp + 0x10], 0x10
mov byte [ebp - 0xa8], 1
jne 0x1001048b
mov byte [ebp - 0xa8], 0
test bl, bl
jne 0x100104d1
test bh, bh
jne 0x100104d1
test cl, cl
jne 0x100104d1
cmp byte [edx + 0x334], cl
je 0x100106e2
cmp eax, dword [ebp - 0x88]
jne 0x100106e2
mov dword [edi + 0x1758], 0
mov word [edi + 0x1761], 1
mov dword [edi + 0x176c], 0
jmp 0x100106e2
cmp eax, dword [ebp - 0x88]
je 0x100106a6
mov edi, dword [ebp + 8]
lea ecx, [esi + 4]
mov eax, dword [esi + 0x2c]
inc edi
push edi
mov dword [ebp - 0xec], eax
call fcn.10015e40
mov ebx, dword [esi + 0x14]
lea eax, [esi + 0x10]
cmp edi, ebx
jle 0x10010526
test ebx, ebx
je 0x1001050e
mov eax, ebx
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, ebx
jmp 0x10010513
mov ecx, 8
cmp ecx, edi
mov eax, edi
cmovg eax, ecx
lea ecx, [esi + 0x10]
push eax
call fcn.10016090
lea eax, [esi + 0x10]
mov dword [eax], edi
mov ebx, dword [esi + 0x18]
cmp edi, 1
jl 0x10010546
push edi
push dword [ebp - 0x8c]
push ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
add esp, 0xc
mov byte [ebx + edi - 1], 0
mov ecx, dword [esi + 0xc]
mov edi, ecx
mov eax, dword [esi + 4]
mov edx, dword [ebp - 0x8c]
dec eax
mov ebx, edx
mov dword [ebp - 0xc0], ecx
lea eax, [ecx + eax*2]
mov dword [ebp - 0xac], eax
cmp ecx, eax
jae 0x100105ae
nop word [eax + eax]
cmp byte [ebx], 0
je 0x100105a2
push 0
mov edx, ebx
lea ecx, [ebp - 0x78]
call fcn.10002ac0
add ebx, eax
add esp, 4
mov eax, dword [ebp - 0x78]
test eax, eax
je 0x100105a2
cmp eax, 0x10000
jae 0x1001059a
mov word [edi], ax
add edi, 2
cmp edi, dword [ebp - 0xac]
jb 0x10010570
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0x8c]
xor eax, eax
sub ebx, edx
mov word [edi], ax
sub edi, ecx
mov eax, dword [ebp - 0x88]
sar edi, 1
mov dword [esi + 0x2c], edi
mov dword [esi + 0x28], ebx
mov dword [esi + 0xccc], 0xbe99999a
cmp dword [esi], eax
jne 0x10010605
cmp dword [ebp - 0xec], edi
jne 0x10010605
cmp dword [esi + 0x38], edi
mov ecx, edi
cmovl ecx, dword [esi + 0x38]
cmp dword [esi + 0x3c], edi
mov dword [esi + 0x38], ecx
mov ecx, edi
cmovl ecx, dword [esi + 0x3c]
cmp dword [esi + 0x40], edi
mov dword [esi + 0x3c], ecx
cmovl edi, dword [esi + 0x40]
mov ecx, dword [ebp - 0x98]
mov dword [esi + 0x40], edi
jmp 0x10010670
mov ecx, dword [ebp - 0x98]
mov dword [esi], eax
mov al, cl
mov dword [esi + 0x34], 0
xor al, 1
mov dword [esi + 0xcc2], 0x630000
mov dword [esi + 0xcc6], 0x3e70000
mov dword [esi + 0x3c], 0
mov dword [esi + 0x40], 0
mov dword [esi + 0x38], 0
mov dword [esi + 0x44], 0x10000
mov dword [esi + 0x4c], 0
mov byte [esi + 0x48], al
test cl, cl
jne 0x10010670
mov edx, dword [ebp - 0xa8]
mov eax, 1
cmp byte [ebp - 0x5d], cl
movzx edx, dl
cmovne edx, eax
mov dword [ebp - 0xa8], edx
test dword [ebp + 0x10], 0x2000
je 0x1001067d
mov byte [esi + 0x44], 1
test cl, cl
jne 0x100106a0
cmp byte [ebp - 0x81], cl
jne 0x10010699
cmp byte [ebp - 0x55], cl
je 0x100106a0
mov eax, dword [ebp - 0x5c]
cmp byte [eax + 0xe1], cl
je 0x100106a0
mov byte [ebp - 0xa8], 1
mov edi, dword [0x10039098]
mov eax, dword [ebp - 0x88]
mov dword [edi + 0x1758], eax
mov word [edi + 0x1761], 1
test eax, eax
je 0x100106c6
mov byte [edi + 0x1760], 1
mov eax, dword [ebp - 0x4c]
mov ecx, eax
mov dword [edi + 0x176c], eax
call fcn.1000b320
mov edi, dword [0x10039098]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x70], edi
mov eax, dword [ebp - 0x88]
mov byte [ebp - 0x81], 0
mov byte [ebp - 0xb1], 0
cmp dword [edx + 0x1758], eax
jne 0x10011610
cmp byte [ebp - 0x90], 0
jne 0x100107cf
cmp byte [edx + 0x1761], 0
jne 0x100107cf
mov eax, dword [ebp + 8]
lea ecx, [esi + 4]
inc eax
push eax
call fcn.10015e40
mov ebx, dword [ebp - 0x9c]
mov esi, dword [esi + 4]
mov edx, dword [ebp - 0x8c]
dec esi
mov ecx, edx
mov dword [ebp - 0x4c], edx
mov ebx, dword [ebx + 0xc]
mov edi, ebx
lea esi, [ebx + esi*2]
cmp ebx, esi
jae 0x1001078a
nop word [eax + eax]
cmp byte [ecx], 0
je 0x10010784
mov edx, ecx
lea ecx, [ebp - 0x78]
push 0
call fcn.10002ac0
mov ecx, dword [ebp - 0x4c]
add esp, 4
add ecx, eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x4c], ecx
test eax, eax
je 0x10010784
cmp eax, 0x10000
jae 0x10010780
mov word [edi], ax
add edi, 2
cmp edi, esi
jb 0x10010750
mov edx, dword [ebp - 0x8c]
mov esi, dword [ebp - 0x9c]
xor eax, eax
mov word [edi], ax
sub ecx, edx
mov edx, dword [ebp - 0x5c]
sub edi, ebx
sar edi, 1
cmp dword [esi + 0x38], edi
mov dword [esi + 0x28], ecx
mov ecx, edi
cmovl ecx, dword [esi + 0x38]
cmp dword [esi + 0x3c], edi
mov dword [esi + 0x38], ecx
mov ecx, edi
cmovl ecx, dword [esi + 0x3c]
cmp dword [esi + 0x40], edi
mov dword [esi + 0x2c], edi
cmovl edi, dword [esi + 0x40]
mov dword [esi + 0x40], edi
mov edi, dword [0x10039098]
mov dword [esi + 0x3c], ecx
mov dword [ebp - 0x70], edi
mov eax, dword [ebp + 8]
mov dword [esi + 0x30], eax
cmp byte [edx + 0xd4], 0
sete al
cmp byte [ebp - 0x98], 0
mov byte [edx + 0x1762], al
movss xmm1, dword [edx + 0xcc]
subss xmm1, dword [ebp - 0xe4]
subss xmm1, dword [edx + 0x13e8]
addss xmm1, dword [esi + 0x34]
je 0x1001082b
mov eax, dword [ebp - 0xa4]
movss xmm2, dword [edx + 0xd0]
subss xmm2, dword [eax + 0xbc]
subss xmm2, dword [edx + 0x13ec]
jmp 0x1001083b
movss xmm2, dword [edx + 0x16f8]
mulss xmm2, dword [0x100348cc]
cmp byte [ebp - 0xa8], 0
mov al, byte [edx + 0xa8]
jne 0x10010977
cmp byte [ebp - 0x91], 0
je 0x10010867
test al, al
jne 0x100108a7
cmp byte [edx + 0x378], al
jne 0x10010977
cmp byte [edx + 0x334], 0
je 0x1001090f
cmp byte [esi + 0xcd1], 0
jne 0x1001090f
mov ecx, esi
call fcn.1000e850
mov edx, dword [ebp - 0x5c]
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], eax
mov byte [esi + 0x47], 0
mov dword [esi + 0xccc], 0xbe99999a
jmp 0x10010992
cmp byte [edx + 0x378], 0
je 0x10010867
mov ebx, dword [ebp - 0x9c]
lea edx, [esi + 0x38]
push 0x1000c
mov ecx, ebx
call fcn.1000ec40
add esp, 4
mov byte [ebx + 0xcd0], 1
lea edx, [esi + 0x38]
mov dword [ebx + 0xccc], 0xbe99999a
mov esi, ebx
mov ecx, esi
push 0x3000d
call fcn.1000ec40
mov edi, dword [0x10039098]
add esp, 4
mov edx, dword [ebp - 0x5c]
mov byte [esi + 0xcd0], 1
mov dword [esi + 0xccc], 0xbe99999a
mov dword [ebp - 0x70], edi
jmp 0x10010992
cmp byte [edx + 0xd4], 0
je 0x10010992
cmp byte [esi + 0xcd1], 0
jne 0x1001099b
movss xmm0, dword [edx + 0x32c]
xorps xmm3, xmm3
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x10010946
movss xmm0, dword [edx + 0x330]
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jnp 0x10010992
mov ecx, esi
call fcn.1000e850
mov ecx, dword [esi + 0x3c]
cmp ecx, dword [esi + 0x40]
jne 0x1001095b
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [ebp - 0x5c]
mov dword [esi + 0x40], eax
mov dword [esi + 0x38], eax
mov dword [esi + 0xccc], 0xbe99999a
mov byte [esi + 0xcd0], 1
jmp 0x10010992
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x3c], 0
mov dword [esi + 0x40], eax
mov dword [esi + 0x38], eax
mov byte [esi + 0x47], 0
mov byte [esi + 0xcd1], 1
cmp byte [esi + 0xcd1], 0
je 0x100109ab
cmp byte [edx + 0xd4], 0
jne 0x100109ab
mov byte [esi + 0xcd1], 0
cmp word [edx + 0x2e6], 0
lea ebx, [edx + 0x2e6]
je 0x10010a50
cmp byte [edx + 0xe1], 0
je 0x100109d1
cmp byte [edx + 0xe3], 0
je 0x10010a36
cmp byte [ebp - 0x90], 0
je 0x10010a36
xor edi, edi
nop dword [eax]
movzx eax, word [ebx]
test ax, ax
je 0x10010a2a
mov edx, dword [ebp + 0x10]
lea ecx, [ebp - 0x4c]
sub esp, 8
mov dword [ebp - 0x4c], eax
call fcn.1000fce0
add esp, 8
test al, al
je 0x10010a21
push dword [ebp - 0x4c]
lea edx, [esi + 0x38]
mov ecx, esi
call fcn.1000ec40
add esp, 4
mov byte [esi + 0xcd0], 1
mov dword [esi + 0xccc], 0xbe99999a
inc edi
add ebx, 2
cmp edi, 0x11
jl 0x100109e0
mov edi, dword [0x10039098]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x70], edi
xorps xmm0, xmm0
movups xmmword [edx + 0x2e6], xmm0
movups xmmword [edx + 0x2f6], xmm0
mov word [edx + 0x306], 0
mov dl, byte [edx + 0xe2]
xor ecx, ecx
test dl, dl
mov eax, 0x20000
cmovne ecx, eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0xa0], ecx
mov bl, byte [eax + 0xa8]
test bl, bl
je 0x10010a99
cmp byte [eax + 0xe4], 0
je 0x10010a8e
cmp byte [eax + 0xe1], 0
jne 0x10010a8e
mov eax, 1
jmp 0x10010a90
xor eax, eax
test eax, eax
mov eax, dword [ebp - 0x5c]
je 0x10010abf
jmp 0x10010aab
cmp byte [eax + 0xe1], 0
je 0x10010abf
cmp byte [eax + 0xe4], 0
jne 0x10010abf
cmp byte [eax + 0xe3], 0
jne 0x10010abf
mov byte [ebp - 0x91], 1
test dl, dl
je 0x10010ac6
mov byte [ebp - 0x91], 0
test bl, bl
je 0x10010b02
mov ebx, dword [ebp - 0x5c]
mov al, byte [eax + 0xe3]
mov dl, al
mov byte [ebp - 0x55], dl
cmp byte [ebx + 0xe4], 0
je 0x10010b0b
cmp byte [ebx + 0xe1], 0
mov byte [ebp - 0x55], dl
jne 0x10010b0b
cmp byte [ebx + 0xe3], 0
mov byte [ebp - 0x55], dl
jne 0x10010b0b
mov byte [ebp - 0x5d], 1
mov byte [ebp - 0x55], dl
jmp 0x10010b0f
mov dl, byte [eax + 0xe1]
mov byte [ebp - 0x55], dl
mov byte [ebp - 0x5d], 0
mov eax, dword [edi + 0x2c]
test eax, eax
js 0x10010bca
movss xmm2, dword [edi + eax*4 + 0x3c4]
ucomiss xmm2, dword [0x1003486c]
lahf
test ah, 0x44
jnp 0x10011f7a
movss xmm0, dword [edi + 0x74]
comiss xmm2, xmm0
jbe 0x10010bca
movss xmm1, dword [edi + 0x78]
subss xmm2, xmm0
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x100348cc]
movsd qword [ebp - 0x6c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [edi + 0xc]
movss dword [ebp - 0x78], xmm2
movss dword [ebp - 0x4c], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
movss xmm0, dword [ebp - 0x78]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
seta al
cmp eax, ebx
jne 0x10011f71
mov eax, dword [edi + 0x30]
xorps xmm3, xmm3
test eax, eax
js 0x10010cb5
movss xmm2, dword [edi + eax*4 + 0x3c4]
ucomiss xmm2, xmm3
lahf
test ah, 0x44
jnp 0x10010c80
movss xmm0, dword [edi + 0x74]
comiss xmm2, xmm0
jbe 0x10010cb5
movss xmm1, dword [edi + 0x78]
subss xmm2, xmm0
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x100348cc]
movsd qword [ebp - 0x6c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [edi + 0xc]
movss dword [ebp - 0x78], xmm2
movss dword [ebp - 0x4c], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
movss xmm0, dword [ebp - 0x78]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
seta al
cmp eax, ebx
je 0x10010cb2
cmp byte [ebp - 0x5d], 0
je 0x10010c96
mov eax, 0x10005
or eax, dword [ebp - 0xa0]
jmp 0x10011f98
cmp byte [ebp - 0x55], 0
mov eax, 0x10001
mov ecx, 0x1000d
cmovne eax, ecx
or eax, dword [ebp - 0xa0]
jmp 0x10011f98
xorps xmm3, xmm3
mov eax, dword [edi + 0x34]
test eax, eax
js 0x10010dce
movss xmm2, dword [edi + eax*4 + 0x3c4]
ucomiss xmm2, xmm3
lahf
test ah, 0x44
jnp 0x10010d6b
movss xmm0, dword [edi + 0x74]
comiss xmm2, xmm0
jbe 0x10010dce
movss xmm1, dword [edi + 0x78]
subss xmm2, xmm0
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x100348cc]
movsd qword [ebp - 0x6c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [edi + 0xc]
movss dword [ebp - 0x78], xmm2
movss dword [ebp - 0x4c], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
movss xmm0, dword [ebp - 0x78]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
seta al
cmp eax, ebx
je 0x10010dce
xorps xmm3, xmm3
cmp byte [ebp - 0x98], 0
je 0x10010dce
mov eax, dword [ebp - 0x5c]
cmp byte [eax + 0xe1], 0
je 0x10010db8
mov edx, dword [ebp - 0xa4]
movss xmm1, dword [edx + 0x60]
movaps xmm0, xmm1
subss xmm0, dword [eax + 0x16f8]
addss xmm1, dword [edx + 0xd4]
maxss xmm0, xmm3
subss xmm1, xmm0
movss dword [edx + 0x60], xmm0
movss dword [edx + 0xd4], xmm1
jmp 0x10011fc0
movzx eax, byte [ebp - 0x5d]
lea eax, [eax*4 + 0x10002]
or eax, dword [ebp - 0xa0]
jmp 0x10011f98
mov eax, dword [edi + 0x38]
test eax, eax
js 0x10010efd
movss xmm2, dword [edi + eax*4 + 0x3c4]
ucomiss xmm2, dword [0x1003486c]
lahf
test ah, 0x44
jnp 0x10010e85
movss xmm0, dword [edi + 0x74]
comiss xmm2, xmm0
jbe 0x10010efd
movss xmm1, dword [edi + 0x78]
subss xmm2, xmm0
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x100348cc]
movsd qword [ebp - 0x6c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [edi + 0xc]
movss dword [ebp - 0x78], xmm2
movss dword [ebp - 0x4c], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
movss xmm0, dword [ebp - 0x78]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
seta al
cmp eax, ebx
je 0x10010efd
cmp byte [ebp - 0x98], 0
je 0x10010efd
mov ecx, dword [ebp - 0x5c]
cmp byte [ecx + 0xe1], 0
je 0x10010ee7
mov eax, dword [edi + 0x1730]
mov edx, dword [ebp - 0xa4]
movss xmm0, dword [eax + 0x34]
subss xmm0, dword [eax + 0x2c]
movss xmm2, dword [edx + 0x60]
movaps xmm1, xmm2
addss xmm1, dword [ecx + 0x16f8]
addss xmm2, dword [edx + 0xd4]
subss xmm0, dword [eax + 0x7c]
minss xmm1, xmm0
subss xmm2, xmm1
movss dword [edx + 0x60], xmm1
movss dword [edx + 0xd4], xmm2
jmp 0x10011fc0
movzx eax, byte [ebp - 0x5d]
lea eax, [eax*4 + 0x10003]
or eax, dword [ebp - 0xa0]
jmp 0x10011f98
mov eax, dword [edi + 0x44]
test eax, eax
js 0x10010fb8
movss xmm2, dword [edi + eax*4 + 0x3c4]
ucomiss xmm2, dword [0x1003486c]
lahf
test ah, 0x44
jnp 0x10011f4e
movss xmm0, dword [edi + 0x74]
comiss xmm2, xmm0
jbe 0x10010fb8
movss xmm1, dword [edi + 0x78]
subss xmm2, xmm0
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x100348cc]
movsd qword [ebp - 0x6c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [edi + 0xc]
movss dword [ebp - 0x78], xmm2
movss dword [ebp - 0x4c], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
movss xmm0, dword [ebp - 0x78]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
seta al
cmp eax, ebx
jne 0x10011f4e
mov eax, dword [edi + 0x48]
xorps xmm1, xmm1
test eax, eax
js 0x10011097
movss xmm2, dword [edi + eax*4 + 0x3c4]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x1001106e
movss xmm0, dword [edi + 0x74]
comiss xmm2, xmm0
jbe 0x10011097
movss xmm1, dword [edi + 0x78]
subss xmm2, xmm0
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x100348cc]
movsd qword [ebp - 0x6c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [edi + 0xc]
movss dword [ebp - 0x78], xmm2
movss dword [ebp - 0x4c], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
movss xmm0, dword [ebp - 0x78]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
seta al
cmp eax, ebx
je 0x10011094
mov ecx, dword [ebp - 0xa0]
mov eax, ecx
mov edx, dword [ebp - 0x5c]
or eax, 0x10007
or ecx, 0x10005
cmp byte [edx + 0xe1], 0
cmovne ecx, eax
push ecx
jmp 0x10011f99
xorps xmm1, xmm1
mov eax, dword [edi + 0x4c]
test eax, eax
js 0x1001118c
movss xmm2, dword [edi + eax*4 + 0x3c4]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x1001114a
movss xmm0, dword [edi + 0x74]
comiss xmm2, xmm0
jbe 0x1001118c
movss xmm1, dword [edi + 0x78]
subss xmm2, xmm0
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x100348cc]
movsd qword [ebp - 0x6c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [edi + 0xc]
movss dword [ebp - 0x78], xmm2
movss dword [ebp - 0x4c], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
movss xmm0, dword [ebp - 0x78]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
seta al
cmp eax, ebx
je 0x1001118c
cmp byte [ebp - 0x90], 0
je 0x1001118c
mov ecx, dword [ebp - 0xa0]
or ecx, 0x10008
push ecx
lea edx, [esi + 0x38]
mov ecx, esi
call fcn.1000ec40
mov byte [esi + 0xcd0], 1
add esp, 4
mov dword [esi + 0xccc], 0xbe99999a
mov edi, dword [0x10039098]
mov dword [ebp - 0x70], edi
jmp 0x10011fc9
mov eax, dword [edi + 0x50]
test eax, eax
js 0x100112bc
movss xmm2, dword [edi + eax*4 + 0x3c4]
ucomiss xmm2, dword [0x1003486c]
lahf
test ah, 0x44
jnp 0x10011243
movss xmm0, dword [edi + 0x74]
comiss xmm2, xmm0
jbe 0x100112bc
movss xmm1, dword [edi + 0x78]
subss xmm2, xmm0
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x100348cc]
movsd qword [ebp - 0x6c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [edi + 0xc]
movss dword [ebp - 0x78], xmm2
movss dword [ebp - 0x4c], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
movss xmm0, dword [ebp - 0x78]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
seta al
cmp eax, ebx
je 0x100112bc
cmp byte [ebp - 0x90], 0
je 0x100112bc
mov eax, dword [esi + 0x3c]
cmp eax, dword [esi + 0x40]
jne 0x100112ab
cmp byte [ebp - 0x55], 0
je 0x10011261
push 0x3000c
jmp 0x1001128d
mov eax, dword [ebp - 0x5c]
cmp byte [eax + 0xa8], 0
je 0x100112ab
cmp byte [eax + 0xe4], 0
je 0x100112ab
cmp byte [eax + 0xe3], 0
jne 0x100112ab
cmp byte [eax + 0xe1], 0
jne 0x100112ab
push 0x30004
lea edx, [esi + 0x38]
mov ecx, esi
call fcn.1000ec40
mov dword [esi + 0xccc], 0xbe99999a
add esp, 4
mov byte [esi + 0xcd0], 1
mov ecx, dword [ebp - 0xa0]
or ecx, 0x10009
jmp 0x1001115f
mov eax, dword [edi + 0x54]
xorps xmm3, xmm3
test eax, eax
js 0x100113fc
movss xmm2, dword [edi + eax*4 + 0x3c4]
ucomiss xmm2, xmm3
lahf
test ah, 0x44
jnp 0x10011376
movss xmm0, dword [edi + 0x74]
comiss xmm2, xmm0
jbe 0x100113fc
movss xmm1, dword [edi + 0x78]
subss xmm2, xmm0
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x100348cc]
movsd qword [ebp - 0x6c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [edi + 0xc]
movss dword [ebp - 0x78], xmm2
movss dword [ebp - 0x4c], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
movss xmm0, dword [ebp - 0x78]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
seta al
cmp eax, ebx
je 0x100113f9
mov edx, dword [ebp + 0x10]
mov eax, edx
shr eax, 0xb
and al, 1
cmp byte [ebp - 0x98], 0
je 0x1001139a
mov ecx, dword [ebp - 0x5c]
mov cl, byte [ecx + 0xe1]
test al, al
je 0x100113c3
test cl, cl
jne 0x100113c7
mov dword [edi + 0x1758], 0
mov word [edi + 0x1761], 1
mov dword [edi + 0x176c], 0
mov byte [ebp - 0xb1], 1
jmp 0x10011fc0
test cl, cl
jne 0x1001139a
cmp byte [ebp - 0x90], 0
je 0x1001201e
mov dword [ebp - 0x4c], 0xa
sub esp, 8
lea ecx, [ebp - 0x4c]
call fcn.1000fce0
add esp, 8
test al, al
je 0x1001117e
push dword [ebp - 0x4c]
jmp 0x10011160
xorps xmm3, xmm3
mov ecx, dword [ebp + 0x10]
test ecx, 0x400
je 0x100114f6
mov eax, dword [edi + 0x28]
test eax, eax
js 0x100114f6
movss xmm2, dword [edi + eax*4 + 0x3c4]
ucomiss xmm2, xmm3
lahf
test ah, 0x44
jnp 0x100114c1
movss xmm0, dword [edi + 0x74]
comiss xmm2, xmm0
jbe 0x100114f6
movss xmm1, dword [edi + 0x78]
subss xmm2, xmm0
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x100348cc]
movsd qword [ebp - 0x6c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [edi + 0xc]
movss dword [ebp - 0x78], xmm2
movss dword [ebp - 0x4c], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
movss xmm0, dword [ebp - 0x78]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
seta al
cmp eax, ebx
je 0x100114f6
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x5c]
cmp byte [eax + 0xe1], 0
jne 0x100114f6
cmp byte [eax + 0xe2], 0
jne 0x100114f6
cmp byte [eax + 0xe3], 0
jne 0x100114f6
cmp byte [ebp - 0x90], 0
je 0x100114f6
mov dword [ebp - 0x4c], 9
mov edx, ecx
jmp 0x100113db
mov eax, dword [edi + 0x58]
xorps xmm3, xmm3
test eax, eax
js 0x100116f3
movss xmm2, dword [edi + eax*4 + 0x3c4]
ucomiss xmm2, xmm3
lahf
test ah, 0x44
jnp 0x100115b0
movss xmm0, dword [edi + 0x74]
comiss xmm2, xmm0
jbe 0x100116f3
movss xmm1, dword [edi + 0x78]
subss xmm2, xmm0
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x100348cc]
movsd qword [ebp - 0x6c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [edi + 0xc]
movss dword [ebp - 0x78], xmm2
movss dword [ebp - 0x4c], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
movss xmm0, dword [ebp - 0x78]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
seta al
cmp eax, ebx
je 0x100116f0
cmp byte [ebp - 0x90], 0
mov dword [edi + 0x1758], 0
mov word [edi + 0x1761], 1
mov dword [edi + 0x176c], 0
je 0x10011607
mov ebx, dword [ebp + 8]
cmp ebx, 1
jl 0x10011600
mov edi, dword [ebp - 0x8c]
push ebx
push dword [esi + 0x18]
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov byte [edi + ebx - 1], 0
mov edi, dword [0x10039098]
add esp, 0xc
mov dword [ebp - 0x70], edi
mov byte [ebp - 0x81], 1
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x90]
cmp dword [edx + 0x1758], eax
jne 0x1001162b
test cl, cl
je 0x1001162b
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x8c], eax
cmp byte [ebp - 0x98], 0
jne 0x10012533
push dword [ebp - 0xc]
movss xmm1, dword [0x100348f4]
mov ecx, 7
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
call fcn.10002e00
movss xmm2, dword [edx + 0x13f0]
mov ecx, eax
mov dl, 1
call fcn.10006310
movss xmm7, dword [ebp - 0xe4]
add esp, 0x10
mov edx, dword [ebp - 0x5c]
movaps xmm0, xmm7
movss xmm5, dword [ebp - 0xcc]
movaps xmm2, xmm7
movss xmm3, dword [ebp - 0xb8]
movss xmm1, dword [ebp - 0xe8]
addss xmm2, xmm3
addss xmm0, dword [edx + 0x13e8]
mov edi, dword [0x10039098]
addss xmm1, xmm5
mov ebx, dword [ebp - 0xa4]
movss dword [ebp - 0x18], xmm7
movss dword [ebp - 0x14], xmm5
movss dword [ebp - 0x54], xmm0
movaps xmm0, xmm5
addss xmm0, dword [edx + 0x13ec]
movss dword [ebp - 0x78], xmm2
movss dword [ebp - 0x10], xmm2
movss dword [ebp - 0xbc], xmm2
movss dword [ebp - 0xf4], xmm1
movss dword [ebp - 0x50], xmm0
mov dword [ebp - 0x70], edi
jmp 0x100125a4
xorps xmm3, xmm3
cmp byte [ebp - 0x91], 0
je 0x10011fc0
mov eax, dword [edi + 0x70]
test eax, eax
js 0x100117fe
movss xmm2, dword [edi + eax*4 + 0x3c4]
ucomiss xmm2, xmm3
lahf
test ah, 0x44
jnp 0x100117b3
movss xmm0, dword [edi + 0x74]
comiss xmm2, xmm0
jbe 0x100117fe
movss xmm1, dword [edi + 0x78]
subss xmm2, xmm0
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x100348cc]
movsd qword [ebp - 0x6c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [edi + 0xc]
movss dword [ebp - 0x78], xmm2
movss dword [ebp - 0x4c], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
movss xmm0, dword [ebp - 0x78]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
seta al
cmp eax, ebx
je 0x100117fe
cmp byte [ebp - 0x90], 0
je 0x100117fe
push 0x1000a
mov ebx, dword [ebp - 0x9c]
lea edx, [esi + 0x38]
mov ecx, ebx
call fcn.1000ec40
mov eax, dword [esi + 0x38]
add esp, 4
mov edi, dword [0x10039098]
mov esi, ebx
mov byte [ebx + 0xcd0], 1
mov dword [ebx + 0xccc], 0xbe99999a
mov dword [ebp - 0x70], edi
mov dword [esi + 0x40], eax
mov dword [esi + 0x3c], eax
jmp 0x10011fc9
mov eax, dword [edi + 0x6c]
test eax, eax
js 0x100118c8
movss xmm2, dword [edi + eax*4 + 0x3c4]
ucomiss xmm2, dword [0x1003486c]
lahf
test ah, 0x44
jnp 0x100118b5
movss xmm0, dword [edi + 0x74]
comiss xmm2, xmm0
jbe 0x100118c8
movss xmm1, dword [edi + 0x78]
subss xmm2, xmm0
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x100348cc]
movsd qword [ebp - 0x6c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [edi + 0xc]
movss dword [ebp - 0x78], xmm2
movss dword [ebp - 0x4c], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
movss xmm0, dword [ebp - 0x78]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
seta al
cmp eax, ebx
je 0x100118c8
cmp byte [ebp - 0x90], 0
je 0x100118c8
push 0x1000b
jmp 0x100117c1
mov eax, dword [edi + 0x5c]
xorps xmm3, xmm3
test eax, eax
js 0x1001199a
movss xmm2, dword [edi + eax*4 + 0x3c4]
ucomiss xmm2, xmm3
lahf
test ah, 0x44
jnp 0x1001197e
movss xmm0, dword [edi + 0x74]
comiss xmm2, xmm0
jbe 0x1001199a
movss xmm1, dword [edi + 0x78]
subss xmm2, xmm0
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x100348cc]
movsd qword [ebp - 0x6c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [edi + 0xc]
movss dword [ebp - 0x78], xmm2
movss dword [ebp - 0x4c], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
movss xmm0, dword [ebp - 0x78]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
seta al
cmp eax, ebx
je 0x10011997
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x3c], 0
mov dword [esi + 0x40], eax
mov dword [esi + 0x38], eax
mov byte [esi + 0x47], 0
jmp 0x10011fb9
xorps xmm3, xmm3
cmp byte [ebp - 0xf8], 0
jne 0x10011d0a
mov eax, dword [edi + 0x68]
test eax, eax
js 0x10011a67
movss xmm2, dword [edi + eax*4 + 0x3c4]
ucomiss xmm2, xmm3
lahf
test ah, 0x44
jnp 0x10011a5a
movss xmm0, dword [edi + 0x74]
comiss xmm2, xmm0
jbe 0x10011a67
movss xmm1, dword [edi + 0x78]
subss xmm2, xmm0
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x100348cc]
movsd qword [ebp - 0x6c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [edi + 0xc]
movss dword [ebp - 0x78], xmm2
movss dword [ebp - 0x4c], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
movss xmm0, dword [ebp - 0x78]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
seta al
cmp eax, ebx
je 0x10011a67
cmp byte [ebp - 0x90], 0
jne 0x10011b21
mov eax, dword [edi + 0x60]
test eax, eax
js 0x10011d0a
movss xmm2, dword [edi + eax*4 + 0x3c4]
xorps xmm0, xmm0
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jnp 0x10011b24
movss xmm0, dword [edi + 0x74]
comiss xmm2, xmm0
jbe 0x10011d0a
movss xmm1, dword [edi + 0x78]
subss xmm2, xmm0
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x100348cc]
movsd qword [ebp - 0x6c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [edi + 0xc]
movss dword [ebp - 0x78], xmm2
movss dword [ebp - 0x4c], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
movss xmm0, dword [ebp - 0x78]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
seta al
cmp eax, ebx
je 0x10011d0a
xorps xmm0, xmm0
cmp byte [ebp - 0x98], 0
je 0x10011b39
mov eax, dword [esi + 0x3c]
cmp eax, dword [esi + 0x40]
je 0x10011d0a
mov eax, dword [edi + 0x68]
test eax, eax
js 0x10011c0f
movss xmm2, dword [edi + eax*4 + 0x3c4]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jnp 0x10011bec
movss xmm0, dword [edi + 0x74]
comiss xmm2, xmm0
jbe 0x10011c0f
movss xmm1, dword [edi + 0x78]
subss xmm2, xmm0
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x100348cc]
movsd qword [ebp - 0x6c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [edi + 0xc]
movss dword [ebp - 0x78], xmm2
movss dword [ebp - 0x4c], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
movss xmm0, dword [ebp - 0x78]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
seta al
cmp eax, ebx
je 0x10011c0f
mov eax, dword [esi + 0x3c]
mov cl, 1
mov byte [ebp - 0x55], cl
cmp eax, dword [esi + 0x40]
jne 0x10011c14
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x3c], 0
mov dword [esi + 0x40], eax
mov dword [esi + 0x38], eax
mov byte [esi + 0x47], 0
jmp 0x10011c14
xor cl, cl
mov byte [ebp - 0x55], cl
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 0xb4], 0
je 0x10011cd1
mov ebx, dword [esi + 0x40]
mov eax, dword [esi + 0x3c]
mov byte [ebp - 0x55], cl
cmp eax, ebx
je 0x10011c3b
mov edx, ebx
cmovge ebx, eax
cmovl edx, eax
jmp 0x10011c40
mov ebx, dword [esi + 0x2c]
xor edx, edx
mov eax, ebx
mov dword [ebp - 0xc0], edx
sub eax, edx
lea edx, [eax*4 + 1]
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x4c], edx
cmp edx, eax
jle 0x10011c91
lea edi, [esi + 0x1c]
test eax, eax
je 0x10011c71
cdq
sub eax, edx
mov edx, dword [ebp - 0x4c]
mov ecx, eax
sar ecx, 1
add ecx, dword [edi + 4]
jmp 0x10011c76
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
mov ecx, edi
push eax
call fcn.10016090
mov edi, dword [0x10039098]
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x70], edi
mov dword [esi + 0x1c], edx
mov ecx, dword [esi + 0xc]
lea eax, [ecx + ebx*2]
push eax
mov eax, dword [ebp - 0xc0]
lea eax, [ecx + eax*2]
mov ecx, dword [esi + 0x24]
push eax
call fcn.10002c50
mov eax, dword [edi + 0xb4]
add esp, 8
test eax, eax
je 0x10011cd1
push dword [esi + 0x24]
push dword [edi + 0xb8]
call eax
mov edi, dword [0x10039098]
add esp, 8
mov dword [ebp - 0x70], edi
cmp byte [ebp - 0x55], 0
je 0x10011fc0
mov byte [esi + 0xcd0], 1
mov eax, dword [esi + 0x3c]
cmp eax, dword [esi + 0x40]
je 0x10011fc0
lea edx, [esi + 0x38]
mov ecx, esi
call fcn.1000ebb0
mov edi, dword [0x10039098]
mov byte [esi + 0x47], 0
mov dword [ebp - 0x70], edi
jmp 0x10011fc0
mov eax, dword [edi + 0x64]
test eax, eax
js 0x10011fc0
movss xmm2, dword [edi + eax*4 + 0x3c4]
ucomiss xmm2, dword [0x1003486c]
lahf
test ah, 0x44
jnp 0x10011dc5
movss xmm0, dword [edi + 0x74]
comiss xmm2, xmm0
jbe 0x10011fc0
movss xmm1, dword [edi + 0x78]
subss xmm2, xmm0
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x100348cc]
movsd qword [ebp - 0x6c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [edi + 0xc]
movss dword [ebp - 0x78], xmm2
movss dword [ebp - 0x4c], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
movss xmm0, dword [ebp - 0x78]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
seta al
cmp eax, ebx
je 0x10011fc0
cmp byte [ebp - 0x90], 0
je 0x1001201e
mov eax, dword [edi + 0xb0]
test eax, eax
je 0x10011df9
push dword [edi + 0xb8]
call eax
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x1001117e
mov edi, dword [0x10039098]
jmp 0x10011dfe
mov ebx, 0x1003043a
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10011e03
inc dword [edi + 0x310]
sub ecx, edx
lea eax, [ecx*2 + 2]
push eax
mov eax, dword [edi + 0xbc]
call eax
xor edi, edi
mov dword [ebp - 0x80], eax
add esp, 4
mov dword [ebp - 0x4c], edi
cmp byte [ebx], 0
je 0x10011e8e
mov esi, eax
push 0
mov edx, ebx
lea ecx, [ebp - 0xbc]
call fcn.10002ac0
add ebx, eax
add esp, 4
mov eax, dword [ebp - 0xbc]
test eax, eax
je 0x10011e82
cmp eax, 0x10000
jae 0x10011e7d
mov edx, dword [ebp + 0x10]
lea ecx, [ebp - 0xbc]
sub esp, 8
call fcn.1000fce0
add esp, 8
test al, al
je 0x10011e7d
mov ax, word [ebp - 0xbc]
mov word [esi + edi*2], ax
inc edi
cmp byte [ebx], 0
jne 0x10011e34
mov esi, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x4c], edi
xor ecx, ecx
mov word [eax + edi*2], cx
test edi, edi
jle 0x10011f24
mov edx, dword [esi + 0x40]
mov ecx, dword [esi + 0x3c]
mov eax, dword [esi + 0x2c]
cmp ecx, edx
je 0x10011ec2
cmp ecx, eax
jle 0x10011eb2
mov dword [esi + 0x3c], eax
mov ecx, eax
cmp edx, eax
jle 0x10011ebb
mov dword [esi + 0x40], eax
mov edx, eax
cmp ecx, edx
jne 0x10011ec2
mov dword [esi + 0x38], ecx
cmp dword [esi + 0x38], eax
jle 0x10011eca
mov dword [esi + 0x38], eax
lea edx, [esi + 0x38]
mov ecx, esi
call fcn.1000ebb0
mov ebx, dword [ebp - 0x4c]
mov ecx, esi
mov edx, dword [esi + 0x38]
push ebx
push dword [ebp - 0x80]
call fcn.1000e7a0
add esp, 8
test al, al
je 0x10011f06
mov edx, dword [esi + 0x38]
lea ecx, [esi + 0x50]
push ebx
push 0
call fcn.1000f990
add esp, 8
mov byte [esi + 0x47], 0
add dword [esi + 0x38], ebx
jmp 0x10011f1a
movzx eax, word [esi + 0xcc2]
test ax, ax
je 0x10011f1a
dec eax
mov word [esi + 0xcc2], ax
mov eax, dword [ebp - 0x80]
mov byte [esi + 0xcd0], 1
mov ecx, dword [0x10039098]
test eax, eax
je 0x10011f34
dec dword [ecx + 0x310]
push eax
mov eax, dword [ecx + 0xc0]
call eax
mov edi, dword [0x10039098]
add esp, 4
mov dword [ebp - 0x70], edi
jmp 0x10011fc9
mov ecx, dword [ebp - 0xa0]
mov eax, ecx
mov edx, dword [ebp - 0x5c]
or eax, 0x10006
or ecx, 0x10004
cmp byte [edx + 0xe1], 0
cmovne ecx, eax
push ecx
jmp 0x10011f99
mov ecx, dword [ebp - 0xa0]
mov dl, byte [ebp - 0x55]
cmp byte [ebp - 0x5d], 0
je 0x10011f87
mov eax, 0x10004
jmp 0x10011f96
test dl, dl
mov eax, 0x10000
mov edi, 0x1000c
cmovne eax, edi
or eax, ecx
push eax
lea edx, [esi + 0x38]
mov ecx, esi
call fcn.1000ec40
mov edi, dword [0x10039098]
add esp, 4
mov dword [ebp - 0x70], edi
mov dword [esi + 0xccc], 0xbe99999a
mov byte [esi + 0xcd0], 1
cmp byte [ebp - 0x90], 0
je 0x1001201e
mov ebx, dword [esi + 4]
mov eax, dword [esi + 0x20]
shl ebx, 2
cmp ebx, eax
jle 0x10012009
test eax, eax
je 0x10011fe9
cdq
sub eax, edx
lea edx, [esi + 0x1c]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x10011ff1
mov ecx, 8
lea edx, [esi + 0x1c]
cmp ecx, ebx
mov eax, ebx
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.10016090
mov edi, dword [0x10039098]
mov dword [ebp - 0x70], edi
mov dword [esi + 0x1c], ebx
mov edx, ebx
mov ecx, dword [esi + 0x24]
push 0
push dword [esi + 0xc]
call fcn.10002c50
add esp, 8
mov edx, dword [ebp + 0x10]
test edx, 0x1c0
je 0x100124ba
test dl, 0x40
je 0x100120fb
mov eax, dword [edi + 0x28]
xorps xmm1, xmm1
test eax, eax
js 0x100120fe
movss xmm2, dword [edi + eax*4 + 0x3c4]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x100120ef
movss xmm0, dword [edi + 0x74]
comiss xmm2, xmm0
jbe 0x100120fe
movss xmm1, dword [edi + 0x78]
subss xmm2, xmm0
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x100348cc]
movsd qword [ebp - 0x6c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [edi + 0xc]
movss dword [ebp - 0x78], xmm2
movss dword [ebp - 0x4c], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
movss xmm0, dword [ebp - 0x78]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
mov edx, dword [ebp + 0x10]
xor eax, eax
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
seta al
cmp eax, ebx
je 0x100120fb
mov eax, 0x40
xor ecx, ecx
jmp 0x100122a8
xorps xmm1, xmm1
test dl, dl
jns 0x10012290
mov eax, dword [edi + 0x34]
test eax, eax
js 0x100121c9
movss xmm2, dword [edi + eax*4 + 0x3c4]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x100121bc
movss xmm0, dword [edi + 0x74]
comiss xmm2, xmm0
jbe 0x100121c9
movss xmm1, dword [edi + 0x78]
subss xmm2, xmm0
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x100348cc]
movsd qword [ebp - 0x6c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [edi + 0xc]
movss dword [ebp - 0x78], xmm2
movss dword [ebp - 0x4c], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
movss xmm0, dword [ebp - 0x78]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
mov edx, dword [ebp + 0x10]
xor eax, eax
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
seta al
cmp eax, ebx
je 0x100121c9
mov eax, 0x80
lea ecx, [eax - 0x7d]
jmp 0x100122a8
mov eax, dword [edi + 0x38]
test eax, eax
js 0x10012290
movss xmm2, dword [edi + eax*4 + 0x3c4]
ucomiss xmm2, dword [0x1003486c]
lahf
test ah, 0x44
jnp 0x10012280
movss xmm0, dword [edi + 0x74]
comiss xmm2, xmm0
jbe 0x10012290
movss xmm1, dword [edi + 0x78]
subss xmm2, xmm0
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x100348cc]
movsd qword [ebp - 0x6c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [edi + 0xc]
movss dword [ebp - 0x78], xmm2
movss dword [ebp - 0x4c], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
movss xmm0, dword [ebp - 0x78]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x54], xmm0
fld qword [ebp - 0x54]
fld qword [ebp - 0x6c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x54]
movsd xmm0, qword [ebp - 0x54]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4c]
seta al
cmp eax, ebx
je 0x1001228d
mov edx, dword [ebp + 0x10]
mov eax, 0x80
lea ecx, [eax - 0x7c]
jmp 0x100122a8
mov edx, dword [ebp + 0x10]
test edx, 0x100
mov ecx, 0x100
mov eax, 0
cmovne eax, ecx
mov ecx, 0x13
test eax, eax
je 0x100124ba
mov ebx, dword [ebp - 0x9c]
xor edi, edi
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x90]
xor al, 1
mov dword [ebp - 0x44], edx
mov byte [ebp - 0x3c], al
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x34], eax
mov eax, dword [esi + 0x28]
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 0x30]
mov esi, dword [esi + 0xc]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx + 0x38]
mov dword [ebp - 0x38], ecx
mov ecx, esi
mov word [ebp - 0x3b], di
mov byte [ebp - 0x39], 0
lea edx, [esi + eax*2]
mov word [ebp - 0x27], di
mov byte [ebp - 0x25], 0
mov dword [ebp - 0x40], edi
mov byte [ebp - 0x28], 0
call fcn.10002d80
mov ecx, dword [ebx + 0x3c]
mov edi, eax
mov dword [ebp - 0x24], edi
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.10002d80
mov ecx, dword [ebx + 0x40]
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x20], eax
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.10002d80
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x48]
push eax
xor eax, eax
call eax
mov ecx, dword [ebp - 0x24]
add esp, 4
mov ebx, dword [ebp - 0x34]
cmp ecx, edi
je 0x10012391
lea edi, [ecx + ebx]
mov esi, ebx
xor eax, eax
mov dword [ebp - 0x80], eax
test edi, edi
je 0x1001235a
cmp esi, edi
jae 0x10012386
cmp byte [esi], 0
je 0x10012386
push edi
mov edx, esi
lea ecx, [ebp - 0x78]
call fcn.10002ac0
add esi, eax
add esp, 4
mov eax, dword [ebp - 0x78]
test eax, eax
je 0x10012383
cmp eax, 0x10000
mov eax, dword [ebp - 0x80]
jae 0x10012352
inc eax
jmp 0x1001234f
mov eax, dword [ebp - 0x80]
mov esi, dword [ebp - 0x9c]
mov dword [esi + 0x38], eax
jmp 0x10012397
mov esi, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0xac]
je 0x100123ed
lea esi, [eax + ebx]
mov edi, ebx
xor eax, eax
mov dword [ebp - 0x80], eax
nop dword [eax]
test esi, esi
je 0x100123b8
cmp edi, esi
jae 0x100123e4
cmp byte [edi], 0
je 0x100123e4
push esi
mov edx, edi
lea ecx, [ebp - 0x78]
call fcn.10002ac0
add edi, eax
add esp, 4
mov eax, dword [ebp - 0x78]
test eax, eax
je 0x100123e1
cmp eax, 0x10000
mov eax, dword [ebp - 0x80]
jae 0x100123b0
inc eax
jmp 0x100123a9
mov eax, dword [ebp - 0x80]
mov esi, dword [ebp - 0x9c]
mov dword [esi + 0x3c], eax
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x4c]
je 0x1001243d
lea esi, [eax + ebx]
mov edi, ebx
xor eax, eax
mov dword [ebp - 0x80], eax
nop
test esi, esi
je 0x10012408
cmp edi, esi
jae 0x10012434
cmp byte [edi], 0
je 0x10012434
push esi
mov edx, edi
lea ecx, [ebp - 0x78]
call fcn.10002ac0
add edi, eax
add esp, 4
mov eax, dword [ebp - 0x78]
test eax, eax
je 0x10012431
cmp eax, 0x10000
mov eax, dword [ebp - 0x80]
jae 0x10012400
inc eax
jmp 0x100123fc
mov eax, dword [ebp - 0x80]
mov esi, dword [ebp - 0x9c]
mov dword [esi + 0x40], eax
cmp byte [ebp - 0x28], 0
je 0x100124b1
mov ecx, dword [esi + 0xc]
mov edi, ecx
mov eax, dword [esi + 4]
dec eax
mov dword [ebp - 0x4c], ecx
lea eax, [ecx + eax*2]
mov dword [ebp - 0xac], eax
cmp ecx, eax
jae 0x10012495
nop dword [eax]
cmp byte [ebx], 0
je 0x10012492
push 0
mov edx, ebx
lea ecx, [ebp - 0x78]
call fcn.10002ac0
add ebx, eax
add esp, 4
mov eax, dword [ebp - 0x78]
test eax, eax
je 0x10012492
cmp eax, 0x10000
jae 0x1001248a
mov word [edi], ax
add edi, 2
cmp edi, dword [ebp - 0xac]
jb 0x10012460
mov ecx, dword [ebp - 0x4c]
xor eax, eax
mov word [edi], ax
sub edi, ecx
mov eax, dword [ebp - 0x30]
sar edi, 1
mov dword [esi + 0x2c], edi
mov dword [esi + 0x28], eax
mov dword [esi + 0xccc], 0xbe99999a
mov edi, dword [0x10039098]
mov dword [ebp - 0x70], edi
mov ecx, dword [ebp - 0x90]
test cl, cl
je 0x10012525
mov ebx, dword [esi + 0x24]
mov eax, ebx
mov ecx, dword [ebp - 0x8c]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100124f0
test dl, dl
je 0x100124ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100124f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x100124d0
xor eax, eax
jmp 0x100124f5
sbb eax, eax
or eax, 1
test eax, eax
je 0x10011607
mov eax, dword [ebp + 8]
cmp eax, 1
jl 0x10011600
push eax
push ebx
mov ebx, dword [ebp - 0x8c]
push ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov eax, dword [ebp + 8]
mov byte [ebx + eax - 1], 0
jmp 0x100115f4
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x88]
jmp 0x10011616
movss xmm1, dword [ebp - 0xe4]
movss xmm3, dword [ebp - 0xb8]
movss xmm0, dword [ebp - 0xcc]
addss xmm3, xmm1
mov ebx, dword [ebp - 0xa4]
movss dword [ebp - 0x18], xmm1
movss dword [ebp - 0x14], xmm0
mov eax, dword [ebx + 0xb8]
movaps xmm2, xmm3
mov ecx, dword [ebx + 0xbc]
movss dword [ebp - 0x78], xmm2
movss dword [ebp - 0x10], xmm2
movaps xmm2, xmm0
addss xmm2, dword [ebp - 0xe8]
movss dword [ebp - 0xbc], xmm3
movss xmm3, dword [ebp - 0xb8]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], ecx
movss dword [ebp - 0xf4], xmm2
movaps xmm1, xmm2
lea eax, [ebp - 0x54]
movss dword [ebp - 0xc], xmm1
movss xmm0, dword [eax + 4]
xorps xmm4, xmm4
movss xmm6, dword [eax]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x88]
movss dword [ebp - 0xc4], xmm1
xorps xmm1, xmm1
movss dword [ebp - 0xf0], xmm0
movss dword [ebp - 0x68], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0xec], xmm6
movss dword [ebp - 0x6c], xmm6
movss dword [ebp - 0xc0], xmm0
movss dword [ebp - 0x4c], xmm1
cmp dword [esi], eax
jne 0x10012634
cmp byte [ebp - 0x98], 0
je 0x10012634
mov ecx, dword [ebx + 0x1c0]
xor edx, edx
mov eax, dword [ebx + 0x1c8]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.100029a0
mov edx, dword [ebp - 0x5c]
add esp, 4
cmp dword [edx + 0x1758], eax
jne 0x10012634
mov al, 1
jmp 0x10012636
xor al, al
mov ecx, dword [ebp - 0x88]
cmp dword [edx + 0x1758], ecx
je 0x10012800
test al, al
jne 0x10012800
xor edx, edx
cmp byte [ebp - 0x98], dl
je 0x100126ae
mov eax, dword [ebp - 0x8c]
xor ecx, ecx
mov bl, byte [eax]
lea edx, [eax + 1]
test bl, bl
je 0x10012682
nop dword [eax + eax]
cmp bl, 0xa
lea eax, [ecx + 1]
mov bl, byte [edx]
cmovne eax, ecx
inc edx
mov ecx, eax
test bl, bl
jne 0x10012670
mov al, byte [edx - 1]
dec edx
cmp al, 0xa
je 0x1001268f
cmp al, 0xd
je 0x1001268f
inc ecx
mov eax, dword [ebp - 0x5c]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movss dword [ebp - 0xc0], xmm3
mulss xmm1, dword [eax + 0x16f8]
movss dword [ebp - 0x4c], xmm1
mov eax, dword [ebp - 0x5c]
xor ecx, ecx
movss xmm1, dword [0x100348f4]
mov ebx, dword [eax + 0x16f4]
movss xmm7, dword [eax + 0x16f8]
call fcn.10002e00
xor ecx, ecx
mov dword [ebp - 0x78], eax
cmp byte [ebp - 0x98], cl
lea esi, [ebp - 0x18]
cmovne esi, ecx
test eax, 0xff000000
je 0x1001333b
test edx, edx
jne 0x1001270b
mov ecx, dword [ebp - 0x8c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100126f7
mov eax, dword [ebp - 0x8c]
sub ecx, edx
lea edx, [ecx + eax]
jmp 0x10012711
mov eax, dword [ebp - 0x8c]
cmp eax, edx
je 0x1001333b
test ebx, ebx
jne 0x10012723
mov ebx, dword [edi + 0x16f4]
ucomiss xmm7, dword [0x1003486c]
lahf
test ah, 0x44
jp 0x10012738
movss xmm7, dword [edi + 0x16f8]
mov eax, dword [ebp - 0xa4]
mov edi, dword [eax + 0x254]
mov ecx, dword [edi + 0x34]
mov eax, dword [edi + 0x3c]
shl ecx, 4
movups xmm0, xmmword [eax + ecx - 0x10]
movups xmmword [ebp - 0x108], xmm0
test esi, esi
je 0x100127be
movss xmm1, dword [esi]
movss xmm0, dword [ebp - 0x108]
comiss xmm0, xmm1
jae 0x10012776
movss dword [ebp - 0x108], xmm1
movss xmm1, dword [esi + 4]
movss xmm0, dword [ebp - 0x104]
comiss xmm0, xmm1
jae 0x10012790
movss dword [ebp - 0x104], xmm1
movss xmm0, dword [esi + 8]
comiss xmm0, dword [ebp - 0x100]
ja 0x100127a6
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [esi + 0xc]
comiss xmm0, dword [ebp - 0xfc]
ja 0x100127bc
movss dword [ebp - 0xfc], xmm0
test esi, esi
mov esi, dword [ebp - 0x8c]
setne al
movzx eax, al
movaps xmm2, xmm7
push eax
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x108]
push edx
push esi
push eax
mov eax, dword [ebp - 0xa8]
mov ecx, ebx
push dword [ebp - 0x78]
push dword [eax + 4]
push dword [eax]
push edi
call fcn.1001f920
mov edi, dword [0x10039098]
jmp 0x10013341
mov ecx, dword [esi + 0xc]
xorps xmm2, xmm2
movss xmm0, dword [edx + 0xc]
or ebx, 0xffffffff
mov eax, dword [esi + 0x38]
xorps xmm7, xmm7
addss xmm0, dword [esi + 0xccc]
mov edx, dword [esi + 0x3c]
mov dword [ebp - 0x88], ecx
lea eax, [ecx + eax*2]
movss dword [ebp - 0x80], xmm2
mov dword [ebp - 0xc8], eax
mov ecx, 1
mov eax, dword [esi + 0x40]
movss dword [esi + 0xccc], xmm0
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xa0], 0xfffffc19
cmp edx, eax
je 0x10012878
mov ecx, dword [ebp - 0x88]
cmovl eax, edx
mov dword [ebp - 0xa0], ebx
lea eax, [ecx + eax*2]
mov ecx, 2
mov dword [ebp - 0xb0], eax
mov edi, dword [ebp - 0x88]
mov edx, edi
mov eax, dword [ebp - 0x98]
movzx eax, al
add ecx, eax
xor eax, eax
movzx edi, word [edi]
test di, di
mov edi, dword [ebp - 0x70]
je 0x10012908
mov esi, edx
movzx ebx, word [esi]
or esi, 0xffffffff
xor edi, edi
cmp bx, 0xa
jne 0x100128d9
inc edi
cmp esi, 0xffffffff
jne 0x100128bd
cmp edx, dword [ebp - 0xc8]
jb 0x100128bd
dec ecx
mov esi, edi
test ecx, ecx
jle 0x100128e7
cmp dword [ebp - 0xa0], 0xffffffff
jne 0x100128d9
cmp edx, dword [ebp - 0xb0]
jb 0x100128d9
dec ecx
mov dword [ebp - 0xa0], edi
test ecx, ecx
jle 0x100128e7
movzx eax, word [edx + 2]
add edx, 2
mov ebx, eax
test ax, ax
jne 0x100128a2
mov dword [ebp - 0xe0], edi
mov edi, dword [ebp - 0x70]
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xac], esi
mov esi, dword [ebp - 0x9c]
mov ebx, dword [ebp - 0xac]
mov edx, dword [ebp - 0xc8]
inc eax
cmp ebx, 0xffffffff
mov dword [ebp - 0xe0], eax
mov ecx, eax
cmovne ecx, ebx
mov ebx, dword [ebp - 0x88]
mov dword [ebp - 0xac], ecx
mov ecx, dword [ebp - 0xa0]
cmp ecx, 0xffffffff
cmove ecx, eax
mov dword [ebp - 0xa0], ecx
mov ecx, edx
cmp edx, ebx
jbe 0x1001294f
cmp word [ecx - 2], 0xa
je 0x1001294f
add ecx, 0xfffffffe
cmp ecx, ebx
ja 0x10012941
mov ebx, dword [edi + 0x16f4]
movaps xmm1, xmm4
movss xmm2, dword [edi + 0x16f8]
movaps xmm3, xmm4
divss xmm2, dword [ebx]
cmp ecx, edx
jae 0x100129b4
mov esi, dword [ebp - 0xc8]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x10012987
maxss xmm1, xmm3
movaps xmm3, xmm4
jmp 0x100129aa
cmp edx, 0xd
je 0x100129aa
mov edx, eax
cmp edx, dword [ebx + 0x1c]
jge 0x1001299d
mov eax, dword [ebx + 0x24]
movss xmm0, dword [eax + edx*4]
jmp 0x100129a2
movss xmm0, dword [ebx + 0x38]
mulss xmm0, xmm2
addss xmm3, xmm0
cmp ecx, esi
jb 0x10012971
mov esi, dword [ebp - 0x9c]
cmp dword [ebp - 0xa0], 0
maxss xmm3, xmm1
movd xmm5, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x5c]
cvtdq2ps xmm5, xmm5
movss xmm0, dword [ecx + 0x16f8]
mulss xmm5, xmm0
movss dword [ebp - 0x114], xmm3
movss dword [ebp - 0xc8], xmm5
jl 0x10012a94
mov eax, dword [ebp - 0xb0]
mov ecx, eax
mov edx, dword [ebp - 0x88]
cmp eax, edx
jbe 0x10012a15
cmp word [ecx - 2], 0xa
je 0x10012a0f
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x10012a01
mov eax, dword [ebp - 0xb0]
movss xmm2, dword [edi + 0x16f8]
movaps xmm1, xmm4
movaps xmm7, xmm4
divss xmm2, dword [ebx]
cmp ecx, eax
jae 0x10012a71
mov edi, dword [ebp - 0xb0]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x10012a47
maxss xmm1, xmm7
movaps xmm7, xmm4
jmp 0x10012a6a
cmp edx, 0xd
je 0x10012a6a
mov edx, eax
cmp edx, dword [ebx + 0x1c]
jge 0x10012a5d
mov eax, dword [ebx + 0x24]
movss xmm0, dword [eax + edx*4]
jmp 0x10012a62
movss xmm0, dword [ebx + 0x38]
mulss xmm0, xmm2
addss xmm7, xmm0
cmp ecx, edi
jb 0x10012a31
mov edi, dword [ebp - 0x70]
movd xmm2, dword [ebp - 0xa0]
maxss xmm7, xmm1
mov ecx, dword [ebp - 0x5c]
cvtdq2ps xmm2, xmm2
movss xmm0, dword [ecx + 0x16f8]
mulss xmm2, xmm0
movss dword [ebp - 0x80], xmm2
mov edx, dword [ebp - 0x98]
test dl, dl
je 0x10012ac7
movd xmm1, dword [ebp - 0xe0]
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm0
movss dword [ebp - 0x4c], xmm1
movss xmm1, dword [ebp - 0xb8]
movaps xmm0, xmm1
movss dword [ebp - 0xc0], xmm0
jmp 0x10012acf
movss xmm1, dword [ebp - 0xb8]
cmp byte [esi + 0xcd0], 0
je 0x10012b91
test dword [ebp + 0x10], 0x1000
jne 0x10012b2d
movss xmm2, dword [esi + 0x34]
movaps xmm0, xmm1
comiss xmm2, xmm3
mulss xmm0, dword [0x100348b8]
movaps xmm1, xmm3
jbe 0x10012b0a
subss xmm1, xmm0
movaps xmm0, xmm4
maxss xmm0, xmm1
jmp 0x10012b1b
subss xmm1, dword [ebp - 0xb8]
comiss xmm1, xmm2
jb 0x10012b34
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x34], xmm0
jmp 0x10012b34
mov dword [esi + 0x34], 0
test dl, dl
je 0x10012b91
mov eax, dword [ebp - 0xa4]
movaps xmm1, xmm5
subss xmm1, dword [ecx + 0x16f8]
movss xmm2, dword [eax + 0x60]
comiss xmm2, xmm1
jbe 0x10012b5c
movaps xmm0, xmm4
maxss xmm0, xmm1
jmp 0x10012b6b
movaps xmm0, xmm5
subss xmm0, dword [ebp - 0xe8]
maxss xmm0, xmm2
subss xmm2, xmm0
movss dword [eax + 0x60], xmm0
addss xmm2, dword [eax + 0xbc]
movss dword [ebp - 0xf0], xmm2
movss dword [eax + 0xbc], xmm2
movss dword [ebp - 0x68], xmm2
movss xmm5, dword [esi + 0x34]
mov ecx, dword [esi + 0x40]
mov edx, dword [esi + 0x3c]
mov byte [esi + 0xcd0], 0
movss dword [ebp - 0xb0], xmm5
cmp edx, ecx
je 0x10012e9b
mov ebx, dword [ebp - 0x88]
mov eax, ecx
cmovl eax, edx
cmovge ecx, edx
cmp byte [ebp - 0x98], 0
lea esi, [ebx + eax*2]
lea ebx, [ebx + ecx*2]
je 0x10012be2
movss dword [ebp - 0xfc], xmm4
movss dword [ebp - 0xac], xmm4
jmp 0x10012bf2
movss xmm0, dword [0x10034918]
movss dword [ebp - 0xac], xmm0
movss xmm1, dword [0x100348f4]
mov ecx, 0x29
call fcn.10002e00
movss xmm5, dword [ebp - 0x80]
xorps xmm4, xmm4
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0xe0], eax
addss xmm5, dword [ebp - 0xf0]
movss xmm6, dword [ecx]
addss xmm7, xmm6
subss xmm5, xmm4
subss xmm7, dword [ebp - 0xb0]
movss dword [ebp - 0x80], xmm5
cmp esi, ebx
jae 0x10012e8d
movss xmm6, dword [ebp - 0xc4]
mov edx, dword [ebp - 0x5c]
nop dword [eax]
movaps xmm0, xmm6
addss xmm0, dword [edx + 0x16f8]
comiss xmm5, xmm0
ja 0x10012e85
movss xmm0, dword [ebp - 0xcc]
comiss xmm0, xmm5
jbe 0x10012c99
cmp esi, ebx
jae 0x10012e64
nop dword [eax]
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x10012e64
cmp esi, ebx
jb 0x10012c80
jmp 0x10012e64
mov edx, dword [edi + 0x16f4]
movaps xmm3, xmm4
movss xmm2, dword [edi + 0x16f8]
movaps xmm1, xmm4
divss xmm2, dword [edx]
cmp esi, ebx
jae 0x10012cf9
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x10012ce9
cmp ecx, 0xd
je 0x10012ce3
cmp ecx, dword [edx + 0x1c]
jge 0x10012cd6
mov eax, dword [edx + 0x24]
movss xmm0, dword [eax + ecx*4]
jmp 0x10012cdb
movss xmm0, dword [edx + 0x38]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp esi, ebx
jb 0x10012cb5
jmp 0x10012cf3
movaps xmm3, xmm4
maxss xmm3, xmm1
movaps xmm1, xmm4
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x5c]
maxss xmm1, xmm3
comiss xmm4, xmm1
jb 0x10012d36
mov eax, dword [edx + 0x16f4]
cmp dword [eax + 0x1c], 0x20
jle 0x10012d1e
mov eax, dword [eax + 0x24]
movss xmm0, dword [eax + 0x80]
jmp 0x10012d23
movss xmm0, dword [eax + 0x38]
mulss xmm0, dword [0x100348cc]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm0, dword [ebp - 0xfc]
addss xmm1, xmm7
subss xmm0, dword [edx + 0x16f8]
movss xmm3, dword [ebp - 0xe4]
addss xmm7, xmm4
movaps xmm2, xmm5
addss xmm2, dword [ebp - 0xac]
movss dword [ebp - 0xd4], xmm1
addss xmm0, xmm5
comiss xmm3, xmm7
movss dword [ebp - 0xdc], xmm7
movss dword [ebp - 0xd8], xmm0
movss dword [ebp - 0xd0], xmm2
jbe 0x10012d95
movaps xmm7, xmm3
movss dword [ebp - 0xdc], xmm7
movss xmm3, dword [ebp - 0xcc]
comiss xmm3, xmm0
jbe 0x10012dad
movaps xmm0, xmm3
movss dword [ebp - 0xd8], xmm0
movss xmm3, dword [ebp - 0x78]
comiss xmm1, xmm3
jbe 0x10012dc2
movaps xmm1, xmm3
movss dword [ebp - 0xd4], xmm1
comiss xmm2, xmm6
jbe 0x10012dd2
movaps xmm2, xmm6
movss dword [ebp - 0xd0], xmm2
comiss xmm2, dword [ebp - 0xcc]
jbe 0x10012e64
comiss xmm6, xmm0
jbe 0x10012e64
comiss xmm1, dword [ebp - 0xe4]
jbe 0x10012e64
comiss xmm3, xmm7
jbe 0x10012e64
push 0xffffffffffffffff
push ecx
mov dword [esp], 0
lea eax, [ebp - 0xd4]
push dword [ebp - 0xe0]
push eax
lea eax, [ebp - 0xdc]
push eax
mov eax, dword [ebp - 0xa4]
mov ecx, dword [eax + 0x254]
call fcn.1001d1c0
movss xmm0, dword [ebp - 0xbc]
xorps xmm4, xmm4
mov edi, dword [0x10039098]
movss xmm5, dword [ebp - 0x80]
movss xmm6, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x5c]
movss dword [ebp - 0xbc], xmm0
movss xmm0, dword [ebp - 0xf4]
movss dword [ebp - 0xf4], xmm0
movss xmm7, dword [ecx]
addss xmm5, dword [edx + 0x16f8]
subss xmm7, dword [ebp - 0xb0]
movss dword [ebp - 0x80], xmm5
cmp esi, ebx
jb 0x10012c50
movss xmm6, dword [ebp - 0xec]
mov esi, dword [ebp - 0x9c]
movss xmm5, dword [ebp - 0xb0]
movups xmm2, xmmword [edi + 0x1444]
comiss xmm4, xmm2
movaps xmm1, xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [edi + 0x13c4]
movups xmmword [ebp - 0xdc], xmm2
jbe 0x10012ec2
movaps xmm0, xmm4
jmp 0x10012ece
movss xmm0, dword [0x100348f4]
minss xmm0, xmm2
movss xmm2, dword [0x10034a00]
movss xmm7, dword [0x100348cc]
movss xmm3, dword [ebp - 0xd8]
comiss xmm4, xmm3
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si ebx, xmm0
jbe 0x10012efc
movaps xmm0, xmm4
jmp 0x10012f08
movss xmm0, dword [0x100348f4]
minss xmm0, xmm3
movss xmm3, dword [ebp - 0xd4]
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 8
or ebx, eax
comiss xmm4, xmm3
jbe 0x10012f2b
movaps xmm0, xmm4
jmp 0x10012f37
movss xmm0, dword [0x100348f4]
minss xmm0, xmm3
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x10
or ebx, eax
comiss xmm4, xmm1
jbe 0x10012f52
movaps xmm0, xmm4
jmp 0x10012f5e
movss xmm0, dword [0x100348f4]
minss xmm0, xmm1
mulss xmm0, xmm2
lea edx, [ebp - 0x18]
mov esi, dword [esi + 0x28]
mov dword [ebp - 0x78], 0
addss xmm0, xmm7
cvttss2si eax, xmm0
movaps xmm0, xmm6
shl eax, 0x18
subss xmm0, xmm5
or ebx, eax
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x16f4]
movss xmm2, dword [eax + 0x16f8]
mov eax, dword [ebp - 0x8c]
add esi, eax
cmp byte [ebp - 0x98], 0
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [ebp - 0xf0]
cmovne edx, dword [ebp - 0x78]
subss xmm0, xmm4
mov dword [ebp - 0xc4], ecx
movss dword [ebp - 0xfc], xmm0
test ebx, 0xff000000
je 0x100130e9
test esi, esi
jne 0x10012ff8
mov ecx, eax
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10012fe0
mov eax, dword [ebp - 0x8c]
sub ecx, esi
lea esi, [ecx + eax]
mov ecx, dword [ebp - 0xc4]
cmp eax, esi
je 0x100130e9
test ecx, ecx
jne 0x10013010
mov eax, dword [edi + 0x16f4]
mov dword [ebp - 0xc4], eax
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jp 0x10013021
movss xmm2, dword [edi + 0x16f8]
mov eax, dword [ebp - 0xa4]
mov edi, dword [eax + 0x254]
mov ecx, dword [edi + 0x34]
mov eax, dword [edi + 0x3c]
shl ecx, 4
movups xmm0, xmmword [eax + ecx - 0x10]
movups xmmword [ebp - 0xdc], xmm0
test edx, edx
je 0x100130a7
movss xmm1, dword [edx]
movss xmm0, dword [ebp - 0xdc]
comiss xmm0, xmm1
jae 0x1001305f
movss dword [ebp - 0xdc], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [ebp - 0xd8]
comiss xmm0, xmm1
jae 0x10013079
movss dword [ebp - 0xd8], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [ebp - 0xd4]
ja 0x1001308f
movss dword [ebp - 0xd4], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [ebp - 0xd0]
ja 0x100130a5
movss dword [ebp - 0xd0], xmm0
test edx, edx
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [ebp - 0xc4]
lea eax, [ebp - 0xdc]
mov dword [esp], 0
push esi
mov esi, dword [ebp - 0x8c]
push esi
push eax
push ebx
push dword [ebp - 0xfc]
push dword [ebp - 0x100]
push edi
call fcn.1001f920
mov edi, dword [0x10039098]
xorps xmm4, xmm4
jmp 0x100130ef
mov esi, dword [ebp - 0x8c]
mov ebx, dword [ebp - 0x5c]
movss xmm0, dword [ebx + 0x26f4]
comiss xmm4, xmm0
jae 0x10013132
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x7c], xmm0
fld qword [ebp - 0x7c]
fld qword [0x10034908]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm0, dword [0x100348e4]
fstp qword [ebp - 0x7c]
movsd xmm1, qword [ebp - 0x7c]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x10013132
xor al, al
jmp 0x10013134
mov al, 1
movss xmm2, dword [ebp - 0xc8]
xorps xmm5, xmm5
mov ecx, dword [ebp - 0xa8]
movss xmm7, dword [0x100348cc]
movss xmm4, dword [0x100348f4]
addss xmm2, dword [ebp - 0xf0]
movss xmm6, dword [ecx]
addss xmm6, dword [ebp - 0x114]
subss xmm2, xmm5
subss xmm6, dword [ebp - 0xb0]
movss dword [ebp - 0xc8], xmm2
movaps xmm0, xmm2
movaps xmm3, xmm2
movss dword [ebp - 0xec], xmm6
movaps xmm1, xmm6
movss dword [ebp - 0x18], xmm6
addss xmm1, xmm4
subss xmm0, dword [ebx + 0x16f8]
subss xmm3, dword [0x10034900]
movss dword [ebp - 0x10], xmm1
addss xmm0, xmm7
movss dword [ebp - 0xc], xmm3
movss dword [ebp - 0x14], xmm0
test al, al
je 0x10013314
comiss xmm3, dword [ebp - 0xcc]
jbe 0x10013314
movss xmm4, dword [ebp - 0xf4]
comiss xmm4, xmm0
jbe 0x1001330c
comiss xmm1, dword [ebp - 0xe4]
jbe 0x1001330c
movss xmm0, dword [ebp - 0xbc]
comiss xmm0, xmm6
jbe 0x1001330c
movups xmm2, xmmword [edi + 0x1444]
comiss xmm5, xmm2
movaps xmm1, xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [edi + 0x13c4]
movups xmmword [ebp - 0xdc], xmm2
jbe 0x10013225
xorps xmm0, xmm0
jmp 0x10013231
movss xmm0, dword [0x100348f4]
minss xmm0, xmm2
movss xmm2, dword [0x10034a00]
movss xmm4, dword [ebp - 0xd8]
comiss xmm5, xmm4
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si ecx, xmm0
jbe 0x10013257
xorps xmm0, xmm0
jmp 0x10013263
movss xmm0, dword [0x100348f4]
minss xmm0, xmm4
movss xmm4, dword [ebp - 0xd4]
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm5, xmm4
jbe 0x10013286
xorps xmm0, xmm0
jmp 0x10013292
movss xmm0, dword [0x100348f4]
minss xmm0, xmm4
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm5, xmm1
jbe 0x100132ad
xorps xmm0, xmm0
jmp 0x100132b9
movss xmm0, dword [0x100348f4]
minss xmm0, xmm1
mulss xmm0, xmm2
push ecx
mov dword [esp], 0x3f800000
movss dword [ebp - 0x54], xmm6
addss xmm0, xmm7
movss dword [ebp - 0x50], xmm3
cvttss2si eax, xmm0
shl eax, 0x18
or eax, ecx
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x18]
push eax
mov eax, dword [ebp - 0xa4]
mov ecx, dword [eax + 0x254]
call fcn.1001d070
mov edi, dword [0x10039098]
movss xmm2, dword [ebp - 0xc8]
movss xmm6, dword [ebp - 0xec]
movss xmm4, dword [0x100348f4]
cmp byte [ebp - 0x90], 0
je 0x10013344
subss xmm2, dword [ebx + 0x16f8]
subss xmm6, xmm4
movss dword [ebx + 0x2b84], xmm2
movss dword [ebx + 0x2b80], xmm6
jmp 0x10013344
mov esi, dword [ebp - 0x8c]
mov ebx, dword [ebp - 0x5c]
cmp byte [ebp - 0x98], 0
je 0x100133f0
mov eax, dword [edi + 0x1730]
movss xmm2, dword [ebx + 0x16f8]
mov byte [eax + 0x86], 1
mov eax, dword [edi + 0x1730]
cmp byte [eax + 0x88], 0
jne 0x100133e0
movss xmm5, dword [ebp - 0xc0]
lea ecx, [ebp - 0x54]
movss xmm4, dword [ebp - 0x4c]
xorps xmm3, xmm3
movss xmm1, dword [eax + 0xb8]
addss xmm5, xmm3
movss xmm0, dword [eax + 0xbc]
addss xmm4, xmm2
movss dword [ebp - 0x18], xmm1
movss dword [ebp - 0x14], xmm0
addss xmm5, xmm1
addss xmm4, xmm0
movss dword [ebp - 0x10], xmm5
subss xmm5, xmm1
movss dword [ebp - 0xc], xmm4
xorps xmm1, xmm1
subss xmm4, xmm0
movss dword [ebp - 0x54], xmm5
movss dword [ebp - 0x50], xmm4
call fcn.10003c10
xor edx, edx
lea ecx, [ebp - 0x18]
call fcn.10003d10
call fcn.10006f20
call fcn.100150f0
mov edi, dword [0x10039098]
mov eax, dword [ebp - 0xf8]
test al, al
je 0x100134a3
mov eax, dword [edi + 0x1730]
mov ecx, dword [eax + 0x254]
dec dword [ecx + 0x40]
call fcn.1001b5c0
mov ecx, dword [edi + 0x17a0]
mov edx, dword [0x10039098]
sub ecx, 1
mov dword [edi + 0x17a0], ecx
jne 0x10013440
mov eax, dword [edx + 0x8c]
test eax, eax
jne 0x1001344a
mov eax, dword [edx + 0x80]
mov eax, dword [eax + 0x28]
mov eax, dword [eax]
jmp 0x1001344a
mov eax, dword [edi + 0x17a8]
mov eax, dword [eax + ecx*4 - 4]
movss xmm0, dword [edx + 0x84]
mov ecx, dword [edx + 0x1730]
mov dword [edx + 0x16f4], eax
mulss xmm0, dword [eax]
mulss xmm0, dword [eax + 4]
movss dword [edx + 0x16fc], xmm0
test ecx, ecx
je 0x1001347d
mulss xmm0, dword [ecx + 0x250]
jmp 0x10013480
xorps xmm0, xmm0
movss dword [edx + 0x16f8], xmm0
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
mov dword [edx + 0x1704], eax
mov eax, dword [ebp - 0xf8]
mov dword [edx + 0x1700], ecx
cmp byte [ebx + 0x2b90], 0
je 0x100134bf
test al, al
jne 0x100134bf
push 0
mov edx, esi
lea ecx, [ebp - 0x6c]
call fcn.10005d70
add esp, 4
movss xmm0, dword [ebp - 0x10c]
comiss xmm0, dword [0x1003486c]
jbe 0x10013512
movss xmm0, dword [ebp - 0x118]
xor edx, edx
addss xmm0, dword [ebx + 0x13fc]
mov ecx, dword [ebp - 0x110]
movss dword [ebp - 0x6c], xmm0
movss xmm0, dword [ebp - 0xcc]
addss xmm0, dword [ebx + 0x13ec]
movss dword [ebp - 0x68], xmm0
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
push 1
call fcn.10005e80
add esp, 0xc
test byte [ebp + 0x10], 0x20
movzx ecx, byte [ebp - 0xb1]
movzx eax, byte [ebp - 0x81]
cmovne eax, ecx
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1002cce0
mov esp, ebp
pop ebp
ret