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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa8
mov eax, dword [0x1003b040]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
mov esi, dword [0x1003b0a8]
mov ebx, esi
push edi
mov edi, ecx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0xa8], edi
mov eax, dword [ebx + 0x1730]
mov dword [ebp - 0x34], ebx
mov byte [eax + 0x86], 1
mov eax, dword [ebx + 0x1730]
mov dword [ebp - 0x74], eax
cmp byte [eax + 0x88], 0
jne 0x100116e4
mov ecx, dword [eax + 0x1c0]
xor edx, edx
mov eax, dword [eax + 0x1c8]
push dword [eax + ecx*4 - 4]
mov ecx, edi
call fcn.100025e0
add esp, 4
mov dword [ebp - 0x3c], eax
cmp dword [ebx + 0x1758], eax
jne 0x1000f0ed
mov byte [ebx + 0x1760], 1
mov dword [ebp - 0x98], eax
mov ecx, edi
cmp edi, 0xffffffff
jae 0x1000f116
nop word [eax + eax]
mov dl, byte [ecx]
test dl, dl
je 0x1000f116
cmp dl, 0x23
jne 0x1000f110
cmp byte [ecx + 1], dl
je 0x1000f116
inc ecx
cmp ecx, 0xffffffff
jb 0x1000f100
movss xmm7, dword [ebx + 0x16f8]
mov eax, dword [ebp - 0xa8]
mov edi, dword [ebx + 0x16f4]
movss dword [ebp - 0x40], xmm7
cmp eax, ecx
jne 0x1000f140
xorps xmm6, xmm6
movss dword [ebp - 0xa4], xmm6
jmp 0x1000f1a4
movss xmm3, dword [0x10036750]
movaps xmm2, xmm7
push ecx
push ecx
push eax
push ecx
lea eax, [ebp - 0xa0]
mov dword [esp], 0xbf800000
push eax
mov ecx, edi
call fcn.1001cdd0
movss xmm0, dword [ebp - 0xa0]
xorps xmm6, xmm6
comiss xmm0, xmm6
jbe 0x1000f181
movss xmm1, dword [ebp - 0x40]
divss xmm1, dword [edi]
subss xmm0, xmm1
addss xmm0, dword [0x10036650]
movss xmm7, dword [ebp - 0x9c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xa4], xmm0
mov edi, dword [esi + 0x1730]
movss xmm0, dword [edi + 0x120]
comiss xmm6, xmm0
jbe 0x1000f1e8
lea ecx, [ebp - 0x1c]
call fcn.1000b4b0
movss xmm0, dword [edi + 0xb8]
subss xmm0, dword [edi + 0x18]
movss xmm1, dword [eax]
subss xmm1, xmm0
movss xmm0, dword [0x10036654]
addss xmm1, dword [edi + 0x120]
maxss xmm0, xmm1
movss xmm2, dword [ebx + 0x13ec]
xorps xmm1, xmm1
cvttss2si eax, xmm0
addss xmm2, xmm2
xorps xmm0, xmm0
movd xmm4, eax
mov eax, dword [ebp + 0xc]
addss xmm2, xmm7
cvtdq2ps xmm4, xmm4
movss xmm7, dword [eax]
comiss xmm6, xmm7
movss xmm5, dword [eax + 4]
movss dword [ebp - 0xc], xmm4
movss dword [ebp - 0x40], xmm2
movss dword [ebp - 0x90], xmm7
movss dword [ebp - 0x78], xmm5
ja 0x1000f236
comiss xmm6, xmm5
jbe 0x1000f265
lea ecx, [ebp - 0xa0]
call fcn.1000b4b0
movss xmm2, dword [ebp - 0x40]
mov ecx, edi
movss xmm4, dword [ebp - 0xc]
movss xmm5, dword [ebp - 0x78]
movss xmm1, dword [eax]
movss xmm0, dword [ecx + 0x1c]
addss xmm1, dword [ecx + 0x18]
addss xmm0, dword [eax + 4]
comiss xmm6, xmm7
movss xmm3, dword [0x10036698]
jb 0x1000f2a3
ucomiss xmm7, xmm6
lahf
test ah, 0x44
jp 0x1000f288
movaps xmm7, xmm4
movss dword [ebp - 0x90], xmm7
jmp 0x1000f2a3
subss xmm1, dword [edi + 0xb8]
maxss xmm1, xmm3
addss xmm1, xmm7
movaps xmm7, xmm1
movss dword [ebp - 0x90], xmm1
comiss xmm6, xmm5
jb 0x1000f2d3
ucomiss xmm5, xmm6
lahf
test ah, 0x44
jp 0x1000f2bb
movaps xmm5, xmm2
movss dword [ebp - 0x78], xmm5
jmp 0x1000f2d3
subss xmm0, dword [edi + 0xbc]
maxss xmm0, xmm3
addss xmm0, xmm5
movaps xmm5, xmm0
movss dword [ebp - 0x78], xmm0
mov eax, dword [ebp - 0x74]
movaps xmm0, xmm7
movss xmm2, dword [ebp - 0xa4]
movaps xmm1, xmm5
comiss xmm2, xmm6
movss xmm4, dword [eax + 0xb8]
movss xmm3, dword [eax + 0xbc]
addss xmm0, xmm4
addss xmm1, xmm3
movss dword [ebp - 0x88], xmm4
movss dword [ebp - 0x80], xmm3
movss dword [ebp - 0x70], xmm4
movss dword [ebp - 0x6c], xmm3
movss dword [ebp - 0x9c], xmm0
movss dword [ebp - 0x68], xmm0
movss dword [ebp - 0x64], xmm1
jbe 0x1000f334
addss xmm2, dword [ebx + 0x13fc]
jmp 0x1000f337
xorps xmm2, xmm2
addss xmm1, xmm6
movss dword [ebp - 0x24], xmm4
addss xmm0, xmm2
movss dword [ebp - 0x20], xmm3
lea ecx, [ebp - 0x44]
movss dword [ebp - 0x18], xmm1
subss xmm1, xmm3
movss dword [ebp - 0x1c], xmm0
subss xmm0, xmm4
movss dword [ebp - 0x40], xmm1
movss xmm1, dword [ebx + 0x13ec]
movss dword [ebp - 0x44], xmm0
call fcn.100034f0
lea edx, [ebp - 0x98]
lea ecx, [ebp - 0x24]
call fcn.100035f0
test al, al
je 0x100116e4
mov eax, dword [ebp - 0x3c]
lea edi, [ebx + 0x1a28]
cmp dword [ebx + 0x1758], eax
mov ecx, dword [ebp - 0x74]
push 1
sete dl
mov dword [ebp - 0x98], edi
call fcn.10003920
mov bl, al
add esp, 4
test bl, bl
je 0x1000f412
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax + 0x264]
cmp ecx, dword [eax + 0x26c]
jne 0x1000f412
mov byte [ebp - 0xd], 1
mov byte [ebp - 0x2d], 0
mov edx, dword [ebp - 0x3c]
lea ecx, [ebp - 0x70]
push 0
call fcn.100037b0
add esp, 4
mov byte [ebp - 0x81], al
mov edx, esi
test al, al
je 0x1000f424
mov eax, dword [ebp - 0x3c]
mov dword [esi + 0x174c], eax
mov byte [esi + 0x1750], 0
mov dword [edx + 0x18b8], 1
cmp byte [edx + 0x334], 0
je 0x1000f424
mov ah, 1
jmp 0x1000f426
mov byte [ebp - 0xd], 0
test bl, bl
je 0x1000f3cb
mov byte [ebp - 0x2d], 1
mov byte [ebp - 0xd], 0
jmp 0x1000f3cf
xor ah, ah
mov ecx, dword [edx + 0x1758]
cmp ecx, dword [ebp - 0x3c]
mov byte [ebp - 0x35], ah
setne al
test bl, bl
mov ebx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov byte [ebp - 0x2e], al
mov dword [ebp - 0x7c], ebx
jne 0x1000f482
test ah, ah
jne 0x1000f482
mov bl, al
cmp byte [edx + 0x334], ah
je 0x1000f5d4
cmp ecx, dword [ebp - 0x3c]
jne 0x1000f5d4
mov dword [esi + 0x1758], 0
mov word [esi + 0x1761], 1
mov dword [esi + 0x176c], 0
jmp 0x1000f5d4
mov bl, al
cmp ecx, dword [ebp - 0x3c]
je 0x1000f59e
mov eax, dword [edi + 0x2c]
lea ecx, [edi + 4]
push 0x21
mov dword [ebp - 0x40], eax
call fcn.10013500
push 0x21
lea ecx, [edi + 0x10]
call fcn.100137f0
mov esi, dword [edi + 0x10]
mov ebx, dword [edi + 0x18]
cmp esi, 1
jl 0x1000f4c2
push esi
push dword [ebp - 0x50]
push ebx
call dword [ebp - 0x7c]
add esp, 0xc
mov byte [ebx + esi - 1], 0
mov ebx, dword [ebp - 0x50]
lea eax, [ebp - 0xc]
mov edx, dword [edi + 4]
push eax
push ecx
mov ecx, dword [edi + 0xc]
push ebx
mov dword [ebp - 0xc], 0
call fcn.10002890
mov ecx, dword [ebp - 0xc]
mov edx, eax
mov eax, dword [ebp - 0x3c]
sub ecx, ebx
add esp, 0xc
mov dword [edi + 0x2c], edx
mov dword [edi + 0x28], ecx
mov dword [edi + 0xccc], 0xbe99999a
cmp dword [edi], eax
jne 0x1000f52a
cmp dword [ebp - 0x40], edx
jne 0x1000f52a
cmp dword [edi + 0x38], edx
mov ecx, edx
mov bl, byte [ebp - 0x2e]
cmovl ecx, dword [edi + 0x38]
cmp dword [edi + 0x3c], edx
mov dword [edi + 0x38], ecx
mov ecx, edx
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], edx
mov dword [edi + 0x3c], ecx
cmovl edx, dword [edi + 0x40]
mov dword [edi + 0x40], edx
jmp 0x1000f57e
cmp byte [ebp - 0xd], 0
movzx ebx, byte [ebp - 0x2e]
mov dword [edi], eax
mov eax, 1
mov dword [edi + 0x34], 0
cmovne ebx, eax
mov dword [edi + 0xcc2], 0x630000
mov dword [edi + 0xcc6], 0x3e70000
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], 0
mov dword [edi + 0x38], 0
mov dword [edi + 0x44], 0x10000
mov dword [edi + 0x4c], 0
mov byte [edi + 0x48], 1
cmp byte [ebp - 0x2d], 0
jne 0x1000f596
cmp byte [ebp - 0x35], 0
je 0x1000f598
mov edx, dword [ebp - 0x34]
cmp byte [edx + 0xe1], 0
je 0x1000f598
mov bl, 1
mov esi, dword [0x1003b0a8]
mov ecx, dword [ebp - 0x3c]
mov dword [esi + 0x1758], ecx
mov word [esi + 0x1761], 1
test ecx, ecx
je 0x1000f5bb
mov byte [esi + 0x1760], 1
mov eax, dword [ebp - 0x74]
mov ecx, eax
mov dword [esi + 0x176c], eax
call fcn.1000afb0
mov esi, dword [0x1003b0a8]
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x3c]
movss xmm5, dword [0x10036638]
mov byte [ebp - 0x2e], 0
cmp dword [edx + 0x1758], eax
jne 0x100109a4
mov dword [edi + 0x30], 0x20
cmp byte [edx + 0xd4], 0
movss xmm2, dword [edx + 0x16f8]
sete al
mulss xmm2, xmm5
mov byte [edx + 0x1762], al
movss xmm3, dword [edx + 0xcc]
mov al, byte [edx + 0xa8]
subss xmm3, dword [ebp - 0x88]
subss xmm3, dword [edx + 0x13e8]
addss xmm3, dword [edi + 0x34]
test bl, bl
jne 0x1000f760
cmp byte [ebp - 0x81], bl
je 0x1000f655
test al, al
jne 0x1000f698
cmp byte [edx + 0x378], bl
jne 0x1000f760
cmp byte [edx + 0x334], 0
je 0x1000f6f5
cmp byte [edi + 0xcd1], 0
jne 0x1000f6f5
movaps xmm1, xmm3
mov ecx, edi
call fcn.1000da10
mov edx, dword [ebp - 0x34]
mov dword [edi + 0x38], eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0x40], eax
mov byte [edi + 0x47], 0
mov dword [edi + 0xccc], 0xbe99999a
jmp 0x1000f77b
cmp byte [edx + 0x378], 0
je 0x1000f655
push 0x1000c
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.1000de40
add esp, 4
mov byte [edi + 0xcd0], 1
lea edx, [edi + 0x38]
mov dword [edi + 0xccc], 0xbe99999a
mov ecx, edi
push 0x3000d
call fcn.1000de40
mov esi, dword [0x1003b0a8]
add esp, 4
mov edx, dword [ebp - 0x34]
mov byte [edi + 0xcd0], 1
mov dword [edi + 0xccc], 0xbe99999a
jmp 0x1000f77b
cmp byte [edx + 0xd4], 0
je 0x1000f77b
cmp byte [edi + 0xcd1], 0
jne 0x1000f784
movss xmm0, dword [edx + 0x32c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1000f72c
movss xmm0, dword [edx + 0x330]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1000f77b
movaps xmm1, xmm3
mov ecx, edi
call fcn.1000da10
mov ecx, dword [edi + 0x3c]
cmp ecx, dword [edi + 0x40]
jne 0x1000f744
mov ecx, dword [edi + 0x38]
mov dword [edi + 0x3c], ecx
mov edx, dword [ebp - 0x34]
mov dword [edi + 0x40], eax
mov dword [edi + 0x38], eax
mov dword [edi + 0xccc], 0xbe99999a
mov byte [edi + 0xcd0], 1
jmp 0x1000f77b
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], eax
mov dword [edi + 0x38], eax
mov byte [edi + 0x47], 0
mov byte [edi + 0xcd1], 1
cmp byte [edi + 0xcd1], 0
je 0x1000f794
cmp byte [edx + 0xd4], 0
jne 0x1000f794
mov byte [edi + 0xcd1], 0
cmp word [edx + 0x2e6], 0
lea eax, [edx + 0x2e6]
mov dword [ebp - 0xc], eax
je 0x1000f878
cmp byte [edx + 0xe1], 0
je 0x1000f7c1
cmp byte [edx + 0xe3], 0
je 0x1000f85e
xor esi, esi
movzx eax, word [eax]
test ax, ax
je 0x1000f855
mov ebx, eax
test ebx, ebx
je 0x1000f842
cmp ebx, 0x80
jae 0x1000f7f3
cmp ebx, 0x20
je 0x1000f7f3
movzx eax, bl
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isprint]
add esp, 4
test eax, eax
je 0x1000f842
lea eax, [ebx - 0xe000]
cmp eax, 0x18ff
jbe 0x1000f842
cmp ebx, 0x30
jb 0x1000f80a
cmp ebx, 0x39
jbe 0x1000f823
cmp ebx, 0x2e
je 0x1000f823
cmp ebx, 0x2d
je 0x1000f823
cmp ebx, 0x2b
je 0x1000f823
cmp ebx, 0x2a
je 0x1000f823
cmp ebx, 0x2f
jne 0x1000f842
push ebx
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.1000de40
add esp, 4
mov byte [edi + 0xcd0], 1
mov dword [edi + 0xccc], 0xbe99999a
mov eax, dword [ebp - 0xc]
inc esi
add eax, 2
mov dword [ebp - 0xc], eax
cmp esi, 0x11
jl 0x1000f7c3
mov esi, dword [0x1003b0a8]
mov edx, dword [ebp - 0x34]
xorps xmm0, xmm0
movups xmmword [edx + 0x2e6], xmm0
movups xmmword [edx + 0x2f6], xmm0
mov word [edx + 0x306], 0
mov bl, byte [edx + 0xe2]
xor ecx, ecx
mov bh, byte [edx + 0xa8]
test bl, bl
mov eax, 0x20000
cmovne ecx, eax
mov dword [ebp - 0x58], ecx
test bh, bh
je 0x1000f8b8
cmp byte [edx + 0xe4], 0
je 0x1000f8b0
cmp byte [edx + 0xe1], 0
jne 0x1000f8b0
mov eax, 1
jmp 0x1000f8b2
xor eax, eax
test eax, eax
je 0x1000f8db
jmp 0x1000f8ca
cmp byte [edx + 0xe1], 0
je 0x1000f8db
cmp byte [edx + 0xe4], 0
jne 0x1000f8db
cmp byte [edx + 0xe3], 0
jne 0x1000f8db
mov byte [ebp - 0x35], 1
test bl, bl
je 0x1000f8df
mov byte [ebp - 0x35], 0
test bh, bh
je 0x1000f913
cmp byte [edx + 0xe4], 0
mov al, byte [edx + 0xe3]
mov bl, al
mov byte [ebp - 0xd], bl
je 0x1000f91c
cmp byte [edx + 0xe1], 0
mov byte [ebp - 0xd], bl
jne 0x1000f91c
mov byte [ebp - 0xd], al
test al, al
jne 0x1000f91c
mov byte [ebp - 0x2d], 1
mov byte [ebp - 0xd], bl
jmp 0x1000f920
mov bl, byte [edx + 0xe1]
mov byte [ebp - 0xd], bl
mov byte [ebp - 0x2d], 0
mov eax, dword [esi + 0x2c]
test eax, eax
js 0x1000fa1c
movss xmm2, dword [esi + eax*4 + 0x3c4]
ucomiss xmm2, dword [0x100365f8]
lahf
test ah, 0x44
jnp 0x1000f9dd
movss xmm0, dword [esi + 0x74]
comiss xmm2, xmm0
jbe 0x1000fa1c
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm0
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x10036638]
movsd qword [ebp - 0x2c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
movss dword [ebp - 0x40], xmm2
movss dword [ebp - 0xc], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x1c], xmm0
fld qword [ebp - 0x1c]
fld qword [ebp - 0x2c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x1c]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0xc]
movss xmm0, dword [ebp - 0x40]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x1c], xmm0
fld qword [ebp - 0x1c]
fld qword [ebp - 0x2c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x1c]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0xc]
seta al
cmp eax, ebx
je 0x1000fa1c
mov ecx, dword [ebp - 0x58]
mov bl, byte [ebp - 0xd]
cmp byte [ebp - 0x2d], 0
je 0x1000f9ea
mov eax, 0x10004
jmp 0x1000f9f9
test bl, bl
mov eax, 0x10000
mov edx, 0x1000c
cmovne eax, edx
or eax, ecx
push eax
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.1000de40
mov byte [edi + 0xcd0], 1
mov dword [edi + 0xccc], 0xbe99999a
jmp 0x10010929
mov eax, dword [esi + 0x30]
xorps xmm0, xmm0
test eax, eax
js 0x1000fb03
movss xmm2, dword [esi + eax*4 + 0x3c4]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jnp 0x1000fad2
movss xmm3, dword [esi + 0x74]
comiss xmm2, xmm3
jbe 0x1000fb03
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm3
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x10036638]
movsd qword [ebp - 0x2c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
movss dword [ebp - 0x40], xmm2
movss dword [ebp - 0xc], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x1c], xmm0
fld qword [ebp - 0x1c]
fld qword [ebp - 0x2c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x1c]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0xc]
movss xmm0, dword [ebp - 0x40]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x1c], xmm0
fld qword [ebp - 0x1c]
fld qword [ebp - 0x2c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x1c]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0xc]
seta al
cmp eax, ebx
je 0x1000fb00
cmp byte [ebp - 0x2d], 0
je 0x1000fae6
mov ecx, 0x10005
or ecx, dword [ebp - 0x58]
push ecx
jmp 0x1000f9fc
cmp byte [ebp - 0xd], 0
mov ecx, 0x10001
mov eax, 0x1000d
cmovne ecx, eax
or ecx, dword [ebp - 0x58]
push ecx
jmp 0x1000f9fc
xorps xmm0, xmm0
mov eax, dword [esi + 0x44]
test eax, eax
js 0x1000fbbd
movss xmm2, dword [esi + eax*4 + 0x3c4]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jnp 0x1000fc93
movss xmm3, dword [esi + 0x74]
comiss xmm2, xmm3
jbe 0x1000fbbd
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm3
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x10036638]
movsd qword [ebp - 0x2c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
movss dword [ebp - 0x40], xmm2
movss dword [ebp - 0xc], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x1c], xmm0
fld qword [ebp - 0x1c]
fld qword [ebp - 0x2c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x1c]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0xc]
movss xmm0, dword [ebp - 0x40]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x1c], xmm0
fld qword [ebp - 0x1c]
fld qword [ebp - 0x2c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x1c]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0xc]
seta al
cmp eax, ebx
jne 0x1000fc93
xorps xmm0, xmm0
mov eax, dword [esi + 0x48]
test eax, eax
js 0x1000fcb6
movss xmm2, dword [esi + eax*4 + 0x3c4]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jnp 0x1000fc70
movss xmm0, dword [esi + 0x74]
comiss xmm2, xmm0
jbe 0x1000fcb6
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm0
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x10036638]
movsd qword [ebp - 0x2c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
movss dword [ebp - 0x40], xmm2
movss dword [ebp - 0xc], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x1c], xmm0
fld qword [ebp - 0x1c]
fld qword [ebp - 0x2c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x1c]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0xc]
movss xmm0, dword [ebp - 0x40]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x1c], xmm0
fld qword [ebp - 0x1c]
fld qword [ebp - 0x2c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x1c]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0xc]
seta al
cmp eax, ebx
je 0x1000fcb6
mov ecx, dword [ebp - 0x58]
mov eax, ecx
mov edx, dword [ebp - 0x34]
or eax, 0x10007
or ecx, 0x10005
cmp byte [edx + 0xe1], 0
cmovne ecx, eax
push ecx
jmp 0x1000f9fc
mov ecx, dword [ebp - 0x58]
mov eax, ecx
mov edx, dword [ebp - 0x34]
or eax, 0x10006
or ecx, 0x10004
cmp byte [edx + 0xe1], 0
cmovne ecx, eax
push ecx
jmp 0x1000f9fc
mov eax, dword [esi + 0x4c]
xorps xmm0, xmm0
test eax, eax
js 0x1000fd7c
movss xmm2, dword [esi + eax*4 + 0x3c4]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jnp 0x1000fd6c
movss xmm3, dword [esi + 0x74]
comiss xmm2, xmm3
jbe 0x1000fd7c
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm3
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x10036638]
movsd qword [ebp - 0x2c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
movss dword [ebp - 0x40], xmm2
movss dword [ebp - 0xc], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x1c], xmm0
fld qword [ebp - 0x1c]
fld qword [ebp - 0x2c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x1c]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0xc]
movss xmm0, dword [ebp - 0x40]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x1c], xmm0
fld qword [ebp - 0x1c]
fld qword [ebp - 0x2c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x1c]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0xc]
seta al
cmp eax, ebx
je 0x1000fd79
mov eax, dword [ebp - 0x58]
or eax, 0x10008
jmp 0x1000f9fb
xorps xmm0, xmm0
mov eax, dword [esi + 0x50]
test eax, eax
js 0x1000fe9b
movss xmm2, dword [esi + eax*4 + 0x3c4]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jnp 0x1000fe2f
movss xmm0, dword [esi + 0x74]
comiss xmm2, xmm0
jbe 0x1000fe9b
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm0
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x10036638]
movsd qword [ebp - 0x2c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
movss dword [ebp - 0x40], xmm2
movss dword [ebp - 0xc], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x1c], xmm0
fld qword [ebp - 0x1c]
fld qword [ebp - 0x2c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x1c]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0xc]
movss xmm0, dword [ebp - 0x40]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x1c], xmm0
fld qword [ebp - 0x1c]
fld qword [ebp - 0x2c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x1c]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0xc]
seta al
cmp eax, ebx
je 0x1000fe9b
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
jne 0x1000fe8e
cmp byte [ebp - 0xd], 0
je 0x1000fe44
push 0x3000c
jmp 0x1000fe70
mov edx, dword [ebp - 0x34]
cmp byte [edx + 0xa8], 0
je 0x1000fe8e
cmp byte [edx + 0xe4], 0
je 0x1000fe8e
cmp byte [edx + 0xe3], 0
jne 0x1000fe8e
cmp byte [edx + 0xe1], 0
jne 0x1000fe8e
push 0x30004
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.1000de40
mov dword [edi + 0xccc], 0xbe99999a
add esp, 4
mov byte [edi + 0xcd0], 1
mov eax, dword [ebp - 0x58]
or eax, 0x10009
jmp 0x1000f9fb
mov eax, dword [esi + 0x54]
xorps xmm0, xmm0
test eax, eax
js 0x1000ff76
movss xmm2, dword [esi + eax*4 + 0x3c4]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jnp 0x1000ff51
movss xmm3, dword [esi + 0x74]
comiss xmm2, xmm3
jbe 0x1000ff76
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm3
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x10036638]
movsd qword [ebp - 0x2c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
movss dword [ebp - 0x40], xmm2
movss dword [ebp - 0xc], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x1c], xmm0
fld qword [ebp - 0x1c]
fld qword [ebp - 0x2c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x1c]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0xc]
movss xmm0, dword [ebp - 0x40]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x1c], xmm0
fld qword [ebp - 0x1c]
fld qword [ebp - 0x2c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x1c]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0xc]
seta al
cmp eax, ebx
je 0x1000ff73
mov dword [esi + 0x1758], 0
mov word [esi + 0x1761], 1
mov dword [esi + 0x176c], 0
jmp 0x1001092c
xorps xmm0, xmm0
mov eax, dword [esi + 0x58]
test eax, eax
js 0x1001005d
movss xmm2, dword [esi + eax*4 + 0x3c4]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jnp 0x10010029
movss xmm0, dword [esi + 0x74]
comiss xmm2, xmm0
jbe 0x1001005d
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm0
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x10036638]
movsd qword [ebp - 0x2c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
movss dword [ebp - 0x40], xmm2
movss dword [ebp - 0xc], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x1c], xmm0
fld qword [ebp - 0x1c]
fld qword [ebp - 0x2c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x1c]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0xc]
movss xmm0, dword [ebp - 0x40]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x1c], xmm0
fld qword [ebp - 0x1c]
fld qword [ebp - 0x2c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x1c]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0xc]
seta al
cmp eax, ebx
je 0x1001005d
push 0x20
mov dword [esi + 0x1758], 0
mov word [esi + 0x1761], 1
mov dword [esi + 0x176c], 0
push dword [edi + 0x18]
push dword [ebp - 0x50]
call dword [ebp - 0x7c]
mov eax, dword [ebp - 0x50]
mov byte [eax + 0x1f], 0
jmp 0x1001098c
cmp byte [ebp - 0x35], 0
je 0x1001092c
mov eax, dword [esi + 0x70]
xorps xmm0, xmm0
test eax, eax
js 0x1001014e
movss xmm2, dword [esi + eax*4 + 0x3c4]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jnp 0x1001011d
movss xmm3, dword [esi + 0x74]
comiss xmm2, xmm3
jbe 0x1001014e
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm3
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x10036638]
movsd qword [ebp - 0x2c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
movss dword [ebp - 0x40], xmm2
movss dword [ebp - 0xc], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x1c], xmm0
fld qword [ebp - 0x1c]
fld qword [ebp - 0x2c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x1c]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0xc]
movss xmm0, dword [ebp - 0x40]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x1c], xmm0
fld qword [ebp - 0x1c]
fld qword [ebp - 0x2c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x1c]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0xc]
seta al
cmp eax, ebx
je 0x1001014b
push 0x1000a
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.1000de40
mov eax, dword [edi + 0x38]
mov byte [edi + 0xcd0], 1
mov dword [edi + 0xccc], 0xbe99999a
mov dword [edi + 0x40], eax
mov dword [edi + 0x3c], eax
jmp 0x10010929
xorps xmm0, xmm0
mov eax, dword [esi + 0x6c]
test eax, eax
js 0x1001020b
movss xmm2, dword [esi + eax*4 + 0x3c4]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jnp 0x10010201
movss xmm0, dword [esi + 0x74]
comiss xmm2, xmm0
jbe 0x1001020b
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm0
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x10036638]
movsd qword [ebp - 0x2c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
movss dword [ebp - 0x40], xmm2
movss dword [ebp - 0xc], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x1c], xmm0
fld qword [ebp - 0x1c]
fld qword [ebp - 0x2c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x1c]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0xc]
movss xmm0, dword [ebp - 0x40]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x1c], xmm0
fld qword [ebp - 0x1c]
fld qword [ebp - 0x2c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x1c]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0xc]
seta al
cmp eax, ebx
je 0x1001020b
push 0x1000b
jmp 0x10010122
mov eax, dword [esi + 0x5c]
xorps xmm0, xmm0
test eax, eax
js 0x100102e4
movss xmm2, dword [esi + eax*4 + 0x3c4]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jnp 0x100102c1
movss xmm3, dword [esi + 0x74]
comiss xmm2, xmm3
jbe 0x100102e4
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm3
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x10036638]
movsd qword [ebp - 0x2c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
movss dword [ebp - 0x40], xmm2
movss dword [ebp - 0xc], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x1c], xmm0
fld qword [ebp - 0x1c]
fld qword [ebp - 0x2c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x1c]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0xc]
movss xmm0, dword [ebp - 0x40]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x1c], xmm0
fld qword [ebp - 0x1c]
fld qword [ebp - 0x2c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x1c]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0xc]
seta al
cmp eax, ebx
je 0x100102e1
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], eax
mov dword [edi + 0x38], eax
mov byte [edi + 0x47], 0
mov byte [edi + 0xcd0], 1
jmp 0x1001092c
xorps xmm0, xmm0
mov eax, dword [esi + 0x68]
mov dword [ebp - 0x60], eax
test eax, eax
js 0x100103a3
movss xmm2, dword [esi + eax*4 + 0x3c4]
mov ecx, esi
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jnp 0x10010553
movss xmm0, dword [esi + 0x74]
comiss xmm2, xmm0
jbe 0x100103a3
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm0
cvtps2pd xmm0, xmm1
mov dword [ebp - 0x28], esi
mulss xmm1, dword [0x10036638]
movsd qword [ebp - 0x5c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
movss dword [ebp - 0x40], xmm2
movss dword [ebp - 0xc], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x1c], xmm0
fld qword [ebp - 0x1c]
fld qword [ebp - 0x5c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x1c]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0xc]
movss xmm0, dword [ebp - 0x40]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x1c], xmm0
fld qword [ebp - 0x1c]
fld qword [ebp - 0x5c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x1c]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0xc]
seta al
cmp eax, ebx
jne 0x1001054d
mov eax, dword [esi + 0x60]
xorps xmm0, xmm0
test eax, eax
js 0x10010465
movss xmm2, dword [esi + eax*4 + 0x3c4]
mov ecx, esi
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jnp 0x10010553
movss xmm3, dword [esi + 0x74]
comiss xmm2, xmm3
jbe 0x10010465
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm3
cvtps2pd xmm0, xmm1
mov dword [ebp - 0x28], esi
mulss xmm1, dword [0x10036638]
movsd qword [ebp - 0x5c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
movss dword [ebp - 0x40], xmm2
movss dword [ebp - 0xc], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x1c], xmm0
fld qword [ebp - 0x1c]
fld qword [ebp - 0x5c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x1c]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0xc]
movss xmm0, dword [ebp - 0x40]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x1c], xmm0
fld qword [ebp - 0x1c]
fld qword [ebp - 0x5c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x1c]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0xc]
xorps xmm0, xmm0
seta al
cmp eax, ebx
jne 0x10010550
mov eax, dword [esi + 0x64]
test eax, eax
js 0x1001092c
movss xmm2, dword [esi + eax*4 + 0x3c4]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jnp 0x1001051c
movss xmm0, dword [esi + 0x74]
comiss xmm2, xmm0
jbe 0x1001092c
movss xmm1, dword [esi + 0x78]
subss xmm2, xmm0
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x10036638]
movsd qword [ebp - 0x2c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esi + 0xc]
movss dword [ebp - 0x40], xmm2
movss dword [ebp - 0xc], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x1c], xmm0
fld qword [ebp - 0x1c]
fld qword [ebp - 0x2c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x1c]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0xc]
movss xmm0, dword [ebp - 0x40]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x1c], xmm0
fld qword [ebp - 0x1c]
fld qword [ebp - 0x2c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x1c]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0xc]
seta al
cmp eax, ebx
je 0x1001092c
mov eax, dword [esi + 0xb0]
test eax, eax
je 0x1001072b
push dword [esi + 0xb8]
call eax
mov ebx, eax
mov dword [ebp - 0xc], eax
add esp, 4
test ebx, ebx
je 0x1001092c
mov esi, dword [0x1003b0a8]
jmp 0x10010733
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x60]
test eax, eax
js 0x10010626
movss xmm2, dword [ecx + eax*4 + 0x3c4]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jnp 0x10010606
movss xmm0, dword [ecx + 0x74]
comiss xmm2, xmm0
jbe 0x10010626
movss xmm1, dword [ecx + 0x78]
subss xmm2, xmm0
cvtps2pd xmm0, xmm1
mulss xmm1, dword [0x10036638]
movsd qword [ebp - 0x2c], xmm0
movaps xmm0, xmm2
subss xmm0, dword [ecx + 0xc]
movss dword [ebp - 0x40], xmm2
movss dword [ebp - 0xc], xmm1
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x1c], xmm0
fld qword [ebp - 0x1c]
fld qword [ebp - 0x2c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x1c]
xor ebx, ebx
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0xc]
movss xmm0, dword [ebp - 0x40]
cvtps2pd xmm0, xmm0
seta bl
movsd qword [ebp - 0x1c], xmm0
fld qword [ebp - 0x1c]
fld qword [ebp - 0x2c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [ebp - 0x1c]
movsd xmm0, qword [ebp - 0x1c]
xor eax, eax
cvtpd2ps xmm0, xmm0
comiss xmm0, dword [ebp - 0xc]
seta al
cmp eax, ebx
je 0x10010626
mov eax, dword [edi + 0x3c]
mov bl, 1
cmp eax, dword [edi + 0x40]
jne 0x10010628
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], eax
mov dword [edi + 0x38], eax
mov byte [edi + 0x47], 0
jmp 0x10010628
xor bl, bl
mov edx, dword [ebp - 0x34]
cmp dword [edx + 0xb4], 0
je 0x100106a1
mov eax, dword [edi + 0x40]
mov ecx, dword [edi + 0x3c]
cmp ecx, eax
je 0x10010648
mov edx, eax
cmovge eax, ecx
cmovl edx, ecx
jmp 0x1001064d
mov eax, dword [edi + 0x2c]
xor edx, edx
mov dword [ebp - 0xc], eax
lea ecx, [edi + 0x1c]
sub eax, edx
mov dword [ebp - 0x28], edx
lea eax, [eax*4 + 1]
push eax
call fcn.100137f0
mov ecx, dword [edi + 0xc]
mov eax, dword [ebp - 0xc]
mov edx, dword [edi + 0x1c]
lea eax, [ecx + eax*2]
push eax
mov eax, dword [ebp - 0x28]
lea eax, [ecx + eax*2]
mov ecx, dword [edi + 0x24]
push eax
call fcn.10002900
mov eax, dword [0x1003b0a8]
add esp, 8
mov ecx, dword [eax + 0xb4]
test ecx, ecx
je 0x100106a1
push dword [edi + 0x24]
push dword [eax + 0xb8]
call ecx
add esp, 8
test bl, bl
je 0x1001092c
mov byte [edi + 0xcd0], 1
mov ecx, dword [edi + 0x40]
mov eax, dword [edi + 0x3c]
cmp eax, ecx
je 0x1001092c
mov edx, dword [edi + 0x2c]
cmp eax, edx
jle 0x100106ca
mov dword [edi + 0x3c], edx
mov eax, edx
cmp ecx, edx
jle 0x100106d3
mov dword [edi + 0x40], edx
mov ecx, edx
cmp eax, ecx
jne 0x100106da
mov dword [edi + 0x38], eax
cmp dword [edi + 0x38], edx
jle 0x100106e2
mov dword [edi + 0x38], edx
cmp eax, ecx
je 0x10010722
lea edx, [edi + 0x38]
jge 0x1001070b
sub ecx, eax
push ecx
push eax
mov ecx, edi
call fcn.1000dd00
mov eax, dword [edi + 0x3c]
add esp, 8
mov dword [edi + 0x40], eax
mov dword [edi + 0x38], eax
mov byte [edi + 0x47], 0
jmp 0x1001092c
sub eax, ecx
push eax
push ecx
mov ecx, edi
call fcn.1000dd00
mov eax, dword [edi + 0x40]
add esp, 8
mov dword [edi + 0x3c], eax
mov dword [edi + 0x38], eax
mov byte [edi + 0x47], 0
jmp 0x1001092c
mov ebx, 0x10031402
mov dword [ebp - 0xc], ebx
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10010738
inc dword [esi + 0x310]
sub ecx, edx
lea eax, [ecx*2 + 2]
push eax
mov eax, dword [esi + 0xbc]
call eax
xor esi, esi
add esp, 4
cmp byte [ebx], 0
mov ecx, eax
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x40], esi
je 0x100107f7
mov edi, dword [ebp - 0xc]
push 0
mov edx, edi
lea ecx, [ebp - 0x40]
call fcn.10002700
mov ebx, dword [ebp - 0x40]
add esp, 4
add edi, eax
test ebx, ebx
je 0x100107eb
cmp ebx, 0x10000
jae 0x100107e6
cmp ebx, 0x80
jae 0x100107ae
cmp ebx, 0x20
je 0x100107ae
movzx eax, bl
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isprint]
add esp, 4
test eax, eax
je 0x100107e6
lea eax, [ebx - 0xe000]
cmp eax, 0x18ff
jbe 0x100107e6
cmp ebx, 0x30
jb 0x100107c5
cmp ebx, 0x39
jbe 0x100107de
cmp ebx, 0x2e
je 0x100107de
cmp ebx, 0x2d
je 0x100107de
cmp ebx, 0x2b
je 0x100107de
cmp ebx, 0x2a
je 0x100107de
cmp ebx, 0x2f
jne 0x100107e6
mov eax, dword [ebp - 0x60]
mov word [eax + esi*2], bx
inc esi
cmp byte [edi], 0
jne 0x10010770
mov edi, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x40], esi
xor eax, eax
mov word [ecx + esi*2], ax
test esi, esi
jle 0x10010911
mov ecx, dword [edi + 0x40]
mov eax, dword [edi + 0x3c]
mov edx, dword [edi + 0x2c]
cmp eax, ecx
je 0x1001083d
mov ebx, eax
cmp eax, edx
jle 0x1001081d
mov dword [edi + 0x3c], edx
mov ebx, edx
mov eax, ecx
mov dword [ebp - 0x28], eax
cmp ecx, edx
jle 0x1001082e
mov dword [edi + 0x40], edx
mov eax, edx
mov dword [ebp - 0x28], edx
mov ecx, eax
mov eax, ebx
cmp ebx, dword [ebp - 0x28]
jne 0x1001083d
mov ecx, dword [ebp - 0x28]
mov dword [edi + 0x38], ebx
mov ebx, dword [edi + 0x38]
mov dword [ebp - 0x58], ebx
cmp ebx, edx
jle 0x1001084f
mov ebx, edx
mov dword [edi + 0x38], edx
mov dword [ebp - 0x58], ebx
cmp eax, ecx
je 0x10010883
mov ebx, eax
cmp eax, edx
jle 0x1001085e
mov dword [edi + 0x3c], edx
mov ebx, edx
mov dword [ebp - 0x28], ecx
cmp ecx, edx
jle 0x1001086b
mov dword [edi + 0x40], edx
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x58], eax
mov eax, ebx
cmp ebx, ecx
jne 0x10010880
mov dword [edi + 0x38], ebx
mov dword [ebp - 0x58], ebx
mov ebx, dword [ebp - 0x58]
cmp ebx, edx
jle 0x1001088a
mov dword [edi + 0x38], edx
cmp eax, ecx
je 0x100108c1
lea edx, [edi + 0x38]
jge 0x100108a6
sub ecx, eax
push ecx
push eax
mov ecx, edi
call fcn.1000dd00
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x40], eax
jmp 0x100108b7
sub eax, ecx
push eax
push ecx
mov ecx, edi
call fcn.1000dd00
mov eax, dword [edi + 0x40]
mov dword [edi + 0x3c], eax
mov dword [edi + 0x38], eax
add esp, 8
mov byte [edi + 0x47], 0
mov ebx, dword [ebp - 0x40]
mov ecx, edi
mov edx, dword [edi + 0x38]
push ebx
push dword [ebp - 0x60]
call fcn.1000d960
add esp, 8
test al, al
je 0x100108f3
mov edx, dword [edi + 0x38]
lea ecx, [edi + 0x50]
push ebx
push 0
call fcn.1000eb50
add esp, 8
mov byte [edi + 0x47], 0
add dword [edi + 0x38], ebx
jmp 0x10010907
movzx eax, word [edi + 0xcc2]
test ax, ax
je 0x10010907
dec eax
mov word [edi + 0xcc2], ax
mov ecx, dword [ebp - 0x60]
mov byte [edi + 0xcd0], 1
mov eax, dword [0x1003b0a8]
test ecx, ecx
je 0x10010920
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
add esp, 4
mov eax, dword [edi + 4]
lea ecx, [edi + 0x1c]
shl eax, 2
push eax
call fcn.100137f0
mov edx, dword [edi + 0x1c]
mov ecx, dword [edi + 0x24]
push 0
push dword [edi + 0xc]
call fcn.10002900
mov esi, dword [edi + 0x24]
add esp, 8
mov ebx, dword [ebp - 0x50]
mov eax, esi
mov ecx, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10010978
test dl, dl
je 0x10010974
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10010978
add eax, 2
add ecx, 2
test dl, dl
jne 0x10010958
xor eax, eax
jmp 0x1001097d
sbb eax, eax
or eax, 1
test eax, eax
je 0x10010993
push 0x20
push esi
push ebx
call dword [ebp - 0x7c]
mov byte [ebx + 0x1f], 0
mov byte [ebp - 0x2e], 1
add esp, 0xc
mov esi, dword [0x1003b0a8]
movss xmm5, dword [0x10036638]
mov edx, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x3c]
cmp dword [edx + 0x1758], ebx
jne 0x100109b5
mov eax, dword [edi + 0x24]
mov dword [ebp - 0x50], eax
movups xmm3, xmmword [esi + 0x14b4]
movss xmm6, dword [0x10036654]
xorps xmm0, xmm0
comiss xmm0, xmm3
movaps xmm2, xmm3
shufps xmm2, xmm3, 0xff
mulss xmm2, dword [esi + 0x13c4]
movups xmmword [ebp - 0x24], xmm3
jbe 0x100109e4
xorps xmm1, xmm1
jmp 0x100109eb
movaps xmm1, xmm6
minss xmm1, xmm3
movss xmm4, dword [0x1003673c]
movss xmm3, dword [ebp - 0x20]
comiss xmm0, xmm3
mulss xmm1, xmm4
addss xmm1, xmm5
cvttss2si esi, xmm1
jbe 0x10010a0e
xorps xmm1, xmm1
jmp 0x10010a15
movaps xmm1, xmm6
minss xmm1, xmm3
movss xmm3, dword [ebp - 0x1c]
mulss xmm1, xmm4
addss xmm1, xmm5
cvttss2si eax, xmm1
shl eax, 8
or esi, eax
comiss xmm0, xmm3
jbe 0x10010a35
xorps xmm1, xmm1
jmp 0x10010a3c
movaps xmm1, xmm6
minss xmm1, xmm3
mulss xmm1, xmm4
addss xmm1, xmm5
cvttss2si eax, xmm1
shl eax, 0x10
or esi, eax
comiss xmm0, xmm2
ja 0x10010a59
movaps xmm0, xmm6
minss xmm0, xmm2
push dword [ebp - 0x64]
movss xmm2, dword [edx + 0x13f0]
mov dl, 1
push dword [ebp - 0x68]
mulss xmm0, xmm4
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
addss xmm0, xmm5
cvttss2si ecx, xmm0
shl ecx, 0x18
or ecx, esi
call fcn.10006330
movss xmm7, dword [ebp - 0x90]
add esp, 0x10
mov ebx, dword [ebp - 0x34]
movaps xmm0, xmm7
addss xmm0, dword [ebp - 0x88]
movss xmm1, dword [ebp - 0x80]
mov eax, dword [ebp - 0x3c]
movaps xmm5, xmm1
addss xmm1, dword [ebx + 0x13ec]
addss xmm5, dword [ebp - 0x78]
movss dword [ebp - 0x60], xmm0
movss xmm0, dword [ebp - 0x88]
addss xmm0, dword [ebx + 0x13e8]
movss dword [ebp - 0xc], xmm1
movss dword [ebp - 0x78], xmm5
movss dword [ebp - 0x90], xmm1
movss dword [ebp - 0x18], xmm1
movss dword [ebp - 0x7c], xmm0
movss dword [ebp - 0x94], xmm0
movss dword [ebp - 0x1c], xmm0
cmp dword [ebx + 0x1758], eax
je 0x10010cb6
mov esi, dword [0x1003b0a8]
xorps xmm0, xmm0
mov eax, dword [ebx + 0x16f4]
movss xmm4, dword [ebx + 0x16f8]
mov dword [ebp - 0x40], eax
movups xmm3, xmmword [esi + 0x1444]
comiss xmm0, xmm3
movaps xmm2, xmm3
shufps xmm2, xmm3, 0xff
mulss xmm2, dword [esi + 0x13c4]
movups xmmword [ebp - 0x70], xmm3
jbe 0x10010b3e
xorps xmm1, xmm1
jmp 0x10010b4a
movss xmm1, dword [0x10036654]
minss xmm1, xmm3
movss xmm6, dword [0x1003673c]
movss xmm7, dword [0x10036638]
movss xmm3, dword [ebp - 0x6c]
comiss xmm0, xmm3
mulss xmm1, xmm6
addss xmm1, xmm7
cvttss2si ecx, xmm1
jbe 0x10010b75
xorps xmm1, xmm1
jmp 0x10010b81
movss xmm1, dword [0x10036654]
minss xmm1, xmm3
movss xmm3, dword [ebp - 0x68]
mulss xmm1, xmm6
addss xmm1, xmm7
cvttss2si eax, xmm1
shl eax, 8
or ecx, eax
comiss xmm0, xmm3
jbe 0x10010ba1
xorps xmm1, xmm1
jmp 0x10010bad
movss xmm1, dword [0x10036654]
minss xmm1, xmm3
mulss xmm1, xmm6
addss xmm1, xmm7
cvttss2si eax, xmm1
shl eax, 0x10
or ecx, eax
comiss xmm0, xmm2
jbe 0x10010bc8
xorps xmm1, xmm1
jmp 0x10010bd4
movss xmm1, dword [0x10036654]
minss xmm1, xmm2
mulss xmm1, xmm6
addss xmm1, xmm7
cvttss2si edx, xmm1
shl edx, 0x18
or edx, ecx
test edx, 0xff000000
je 0x10011659
mov ecx, dword [ebp - 0x50]
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10010bf7
mov eax, dword [ebp - 0x50]
sub ecx, edi
lea edi, [eax + ecx]
cmp eax, edi
je 0x10011659
cmp dword [ebx + 0x16f4], 0
jne 0x10010c20
mov eax, dword [esi + 0x16f4]
mov dword [ebp - 0x40], eax
ucomiss xmm4, xmm0
lahf
test ah, 0x44
jp 0x10010c31
movss xmm4, dword [esi + 0x16f8]
mov eax, dword [ebp - 0x74]
movaps xmm2, xmm4
push 1
mov esi, dword [eax + 0x254]
mov ecx, dword [esi + 0x34]
mov eax, dword [esi + 0x3c]
shl ecx, 4
push ecx
mov dword [esp], 0
push edi
movups xmm0, xmmword [eax + ecx - 0x10]
mov edi, dword [ebp - 0x50]
lea eax, [ebp - 0x70]
mov ecx, dword [ebp - 0x40]
movups xmmword [ebp - 0x70], xmm0
push edi
maxss xmm0, dword [ebp - 0x88]
push eax
push edx
push dword [ebp - 0x90]
push dword [ebp - 0x94]
movss dword [ebp - 0x70], xmm0
movss xmm0, dword [ebp - 0x6c]
maxss xmm0, dword [ebp - 0x80]
push esi
movss dword [ebp - 0x6c], xmm0
movss xmm0, dword [ebp - 0x68]
minss xmm0, dword [ebp - 0x60]
movss dword [ebp - 0x68], xmm0
movss xmm0, dword [ebp - 0x64]
minss xmm0, xmm5
movss dword [ebp - 0x64], xmm0
call fcn.1001cf80
jmp 0x1001165c
mov ecx, dword [edi + 0xc]
xorps xmm2, xmm2
mov eax, dword [edi + 0x38]
xorps xmm6, xmm6
movss xmm0, dword [ebx + 0xc]
xorps xmm4, xmm4
addss xmm0, dword [edi + 0xccc]
mov edx, dword [edi + 0x40]
mov esi, dword [edi + 0x3c]
lea eax, [ecx + eax*2]
mov dword [ebp - 0x90], eax
or eax, 0xffffffff
mov dword [ebp - 0x28], ecx
mov ecx, 1
movss dword [edi + 0xccc], xmm0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x3c], 0xfffffc19
cmp esi, edx
je 0x10010d18
mov ecx, dword [edi + 0xc]
cmovl edx, esi
mov dword [ebp - 0x3c], eax
lea ecx, [ecx + edx*2]
mov dword [ebp - 0x58], ecx
lea ecx, [eax + 3]
mov ebx, dword [edi + 0xc]
xor esi, esi
mov edx, ebx
movzx ebx, word [ebx]
test bx, bx
mov ebx, dword [ebp - 0x34]
je 0x10010d7e
mov edi, dword [ebp - 0x28]
movzx ebx, word [edi]
or edi, 0xffffffff
cmp bx, 0xa
jne 0x10010d61
inc esi
cmp edi, 0xffffffff
jne 0x10010d4e
cmp edx, dword [ebp - 0x90]
jb 0x10010d4e
dec ecx
mov edi, esi
test ecx, ecx
jle 0x10010d6f
cmp dword [ebp - 0x3c], 0xffffffff
jne 0x10010d61
cmp edx, dword [ebp - 0x58]
jb 0x10010d61
dec ecx
mov dword [ebp - 0x3c], esi
test ecx, ecx
jle 0x10010d6f
movzx eax, word [edx + 2]
add edx, 2
mov ebx, eax
test ax, ax
jne 0x10010d33
mov ebx, dword [ebp - 0x34]
mov dword [ebp - 0x40], edi
mov edi, dword [ebp - 0x98]
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x90]
inc esi
cmp eax, 0xffffffff
mov ecx, esi
cmovne ecx, eax
mov eax, dword [ebp - 0x3c]
cmp eax, 0xffffffff
mov dword [ebp - 0x40], ecx
mov ecx, edx
cmove eax, esi
mov esi, dword [edi + 0xc]
mov dword [ebp - 0x3c], eax
cmp edx, esi
jbe 0x10010db3
cmp word [ecx - 2], 0xa
je 0x10010db3
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x10010da5
mov eax, dword [0x1003b0a8]
movaps xmm5, xmm2
movss dword [ebp - 0x28], xmm5
movaps xmm1, xmm2
mov esi, dword [eax + 0x16f4]
movss xmm3, dword [eax + 0x16f8]
divss xmm3, dword [esi]
cmp ecx, edx
jae 0x10010e35
mov edi, dword [ebp - 0x90]
nop
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x10010df6
maxss xmm5, xmm1
movaps xmm1, xmm2
jmp 0x10010e19
cmp edx, 0xd
je 0x10010e19
mov edx, eax
cmp edx, dword [esi + 0x1c]
jge 0x10010e0c
mov eax, dword [esi + 0x24]
movss xmm0, dword [eax + edx*4]
jmp 0x10010e11
movss xmm0, dword [esi + 0x38]
mulss xmm0, xmm3
addss xmm1, xmm0
cmp ecx, edi
jb 0x10010de0
comiss xmm1, xmm5
lea edi, [ebx + 0x1a28]
movss dword [ebp - 0x28], xmm5
jbe 0x10010e35
movaps xmm5, xmm1
movss dword [ebp - 0x28], xmm1
cmp dword [ebp - 0x3c], 0
movd xmm0, dword [ebp - 0x40]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebx + 0x16f8]
movss dword [ebp - 0x90], xmm0
jl 0x10010ef8
mov eax, dword [ebp - 0x58]
mov ecx, eax
mov edx, dword [edi + 0xc]
cmp eax, edx
jbe 0x10010e74
cmp word [ecx - 2], 0xa
je 0x10010e71
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x10010e63
mov eax, dword [ebp - 0x58]
mov edx, dword [0x1003b0a8]
movaps xmm4, xmm2
movaps xmm1, xmm2
mov esi, dword [edx + 0x16f4]
movss xmm3, dword [edx + 0x16f8]
divss xmm3, dword [esi]
cmp ecx, eax
jae 0x10010ee8
mov ebx, dword [ebp - 0x58]
nop dword [eax]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x10010eb6
maxss xmm4, xmm1
movaps xmm1, xmm2
jmp 0x10010ed9
cmp edx, 0xd
je 0x10010ed9
mov edx, eax
cmp edx, dword [esi + 0x1c]
jge 0x10010ecc
mov eax, dword [esi + 0x24]
movss xmm0, dword [eax + edx*4]
jmp 0x10010ed1
movss xmm0, dword [esi + 0x38]
mulss xmm0, xmm3
addss xmm1, xmm0
cmp ecx, ebx
jb 0x10010ea0
comiss xmm1, xmm4
mov ebx, dword [ebp - 0x34]
jbe 0x10010ee8
movaps xmm4, xmm1
movd xmm6, dword [ebp - 0x3c]
cvtdq2ps xmm6, xmm6
mulss xmm6, dword [ebx + 0x16f8]
cmp byte [edi + 0xcd0], 0
je 0x10010f43
movss xmm3, dword [edi + 0x34]
movaps xmm0, xmm7
comiss xmm3, xmm5
mulss xmm0, dword [0x1003662c]
movaps xmm1, xmm5
jbe 0x10010f26
subss xmm1, xmm0
movaps xmm0, xmm2
maxss xmm0, xmm1
jmp 0x10010f33
subss xmm1, xmm7
comiss xmm1, xmm3
jb 0x10010f43
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x34], xmm0
movss xmm7, dword [edi + 0x34]
mov ecx, dword [edi + 0x40]
mov edx, dword [edi + 0x3c]
mov byte [edi + 0xcd0], 0
movss dword [ebp - 0x58], xmm7
cmp edx, ecx
je 0x10011290
mov ebx, dword [edi + 0xc]
mov eax, ecx
cmovl eax, edx
cmovge ecx, edx
mov edx, dword [0x1003b0a8]
lea esi, [ebx + eax*2]
movups xmm1, xmmword [edx + 0x16d4]
lea ebx, [ebx + ecx*2]
comiss xmm2, xmm1
movaps xmm3, xmm1
shufps xmm3, xmm1, 0xff
mulss xmm3, dword [edx + 0x13c4]
movups xmmword [ebp - 0x70], xmm1
jbe 0x10010f9d
movaps xmm0, xmm2
jmp 0x10010fa9
movss xmm0, dword [0x10036654]
minss xmm0, xmm1
movss xmm5, dword [0x1003673c]
movss xmm1, dword [ebp - 0x6c]
comiss xmm2, xmm1
mulss xmm0, xmm5
addss xmm0, dword [0x10036638]
cvttss2si ecx, xmm0
jbe 0x10010fd0
movaps xmm0, xmm2
jmp 0x10010fdc
movss xmm0, dword [0x10036654]
minss xmm0, xmm1
movss xmm1, dword [ebp - 0x68]
mulss xmm0, xmm5
addss xmm0, dword [0x10036638]
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm2, xmm1
jbe 0x10011000
movaps xmm0, xmm2
jmp 0x1001100c
movss xmm0, dword [0x10036654]
minss xmm0, xmm1
movss xmm1, dword [0x10036638]
mulss xmm0, xmm5
addss xmm0, xmm1
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm2, xmm3
jbe 0x1001102f
movaps xmm0, xmm2
jmp 0x1001103b
movss xmm0, dword [0x10036654]
minss xmm0, xmm3
addss xmm6, dword [ebp - 0xc]
mulss xmm0, xmm5
movss xmm5, dword [ebp - 0x7c]
addss xmm4, xmm5
addss xmm0, xmm1
subss xmm6, xmm2
subss xmm4, xmm7
cvttss2si eax, xmm0
movss dword [ebp - 0x40], xmm6
shl eax, 0x18
or eax, ecx
mov dword [ebp - 0x3c], eax
cmp esi, ebx
jae 0x10011264
movss xmm5, dword [ebp - 0x78]
mov edi, eax
mov ecx, dword [ebp - 0x34]
nop dword [eax]
movaps xmm0, xmm5
addss xmm0, dword [ecx + 0x16f8]
comiss xmm6, xmm0
ja 0x10011259
movss xmm0, dword [ebp - 0x80]
comiss xmm0, xmm6
jbe 0x100110bf
cmp esi, ebx
jae 0x1001123b
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x1001123b
cmp esi, ebx
jb 0x100110a6
jmp 0x10011259
mov eax, dword [0x1003b0a8]
movaps xmm5, xmm2
mov edx, dword [edx + 0x16f4]
movaps xmm1, xmm2
movss xmm3, dword [eax + 0x16f8]
divss xmm3, dword [edx]
cmp esi, ebx
jae 0x10011121
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x10011114
cmp ecx, 0xd
je 0x1001110e
cmp ecx, dword [edx + 0x1c]
jge 0x10011101
mov eax, dword [edx + 0x24]
movss xmm0, dword [eax + ecx*4]
jmp 0x10011106
movss xmm0, dword [edx + 0x38]
mulss xmm0, xmm3
addss xmm1, xmm0
cmp esi, ebx
jb 0x100110e0
jmp 0x1001111e
movaps xmm5, xmm2
maxss xmm5, xmm1
movaps xmm1, xmm2
mov ecx, dword [ebp - 0x34]
maxss xmm1, xmm5
comiss xmm2, xmm1
jb 0x1001115b
mov eax, dword [ecx + 0x16f4]
cmp dword [eax + 0x1c], 0x20
jle 0x10011143
mov eax, dword [eax + 0x24]
movss xmm0, dword [eax + 0x80]
jmp 0x10011148
movss xmm0, dword [eax + 0x38]
mulss xmm0, dword [0x10036638]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm0, dword [0x1003675c]
addss xmm1, xmm4
subss xmm0, dword [ecx + 0x16f8]
movss xmm5, dword [ebp - 0x88]
addss xmm4, xmm2
movaps xmm3, xmm6
addss xmm3, dword [0x10036678]
movss dword [ebp - 0x68], xmm1
addss xmm0, xmm6
comiss xmm5, xmm4
movss dword [ebp - 0x70], xmm4
movss dword [ebp - 0x6c], xmm0
movss dword [ebp - 0x64], xmm3
jbe 0x100111ab
movaps xmm4, xmm5
movss dword [ebp - 0x70], xmm4
movss xmm5, dword [ebp - 0x80]
comiss xmm5, xmm0
jbe 0x100111bd
movaps xmm0, xmm5
movss dword [ebp - 0x6c], xmm0
movss xmm5, dword [ebp - 0x60]
comiss xmm1, xmm5
jbe 0x100111cf
movaps xmm1, xmm5
movss dword [ebp - 0x68], xmm1
movss xmm5, dword [ebp - 0x78]
comiss xmm3, xmm5
jbe 0x100111e1
movaps xmm3, xmm5
movss dword [ebp - 0x64], xmm3
comiss xmm3, dword [ebp - 0x80]
jbe 0x10011235
comiss xmm5, xmm0
jbe 0x10011235
comiss xmm1, dword [ebp - 0x88]
jbe 0x10011235
movss xmm0, dword [ebp - 0x60]
comiss xmm0, xmm4
jbe 0x10011235
push 0xffffffffffffffff
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x68]
push edi
push eax
lea eax, [ebp - 0x70]
push eax
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax + 0x254]
call fcn.1001a900
movss xmm6, dword [ebp - 0x40]
xorps xmm2, xmm2
movss xmm7, dword [ebp - 0x58]
movss xmm5, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x34]
mov edx, dword [0x1003b0a8]
movss xmm4, dword [ebp - 0x7c]
subss xmm4, xmm7
addss xmm6, dword [ecx + 0x16f8]
movss dword [ebp - 0x40], xmm6
cmp esi, ebx
jb 0x10011080
movss xmm5, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x98]
mov ebx, dword [ebp - 0x34]
mov eax, dword [0x1003b0a8]
movups xmm1, xmmword [eax + 0x1444]
comiss xmm2, xmm1
movaps xmm3, xmm1
shufps xmm3, xmm1, 0xff
mulss xmm3, dword [eax + 0x13c4]
movups xmmword [ebp - 0x70], xmm1
jbe 0x10011297
movaps xmm0, xmm2
jmp 0x100112a3
movss xmm5, dword [ebp - 0x7c]
jmp 0x10011267
movss xmm0, dword [0x10036654]
minss xmm0, xmm1
movss xmm4, dword [0x1003673c]
movss xmm6, dword [0x10036638]
movss xmm1, dword [ebp - 0x6c]
comiss xmm2, xmm1
mulss xmm0, xmm4
addss xmm0, xmm6
cvttss2si ecx, xmm0
jbe 0x100112ce
movaps xmm0, xmm2
jmp 0x100112da
movss xmm0, dword [0x10036654]
minss xmm0, xmm1
movss xmm1, dword [ebp - 0x68]
mulss xmm0, xmm4
addss xmm0, xmm6
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm2, xmm1
jbe 0x100112fa
movaps xmm0, xmm2
jmp 0x10011306
movss xmm0, dword [0x10036654]
minss xmm0, xmm1
mulss xmm0, xmm4
addss xmm0, xmm6
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm2, xmm3
jbe 0x10011321
movaps xmm1, xmm2
jmp 0x1001132d
movss xmm1, dword [0x10036654]
minss xmm1, xmm3
mov edx, dword [edi + 0x28]
movaps xmm0, xmm5
mov edi, dword [ebp - 0x50]
subss xmm0, xmm7
mov eax, dword [ebx + 0x16f4]
add edx, edi
movss xmm3, dword [ebx + 0x16f8]
mulss xmm1, xmm4
movss dword [ebp - 0x44], xmm0
movss xmm0, dword [ebp - 0xc]
addss xmm1, xmm6
subss xmm0, xmm2
cvttss2si esi, xmm1
movss dword [ebp - 0x40], xmm0
shl esi, 0x18
or esi, ecx
test esi, 0xff000000
je 0x10011450
test edx, edx
jne 0x10011395
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10011383
mov eax, dword [ebx + 0x16f4]
sub ecx, edx
lea edx, [ecx + edi]
cmp edi, edx
je 0x10011450
mov ecx, dword [0x1003b0a8]
test eax, eax
jne 0x100113af
mov edi, dword [ecx + 0x16f4]
jmp 0x100113b5
mov edi, dword [ebx + 0x16f4]
ucomiss xmm3, xmm2
lahf
test ah, 0x44
jp 0x100113c6
movss xmm3, dword [ecx + 0x16f8]
mov ecx, dword [ebp - 0x74]
movaps xmm2, xmm3
push 1
mov eax, dword [ecx + 0x254]
mov ecx, dword [eax + 0x34]
mov eax, dword [eax + 0x3c]
shl ecx, 4
push ecx
mov dword [esp], 0
push edx
movups xmm0, xmmword [eax + ecx - 0x10]
lea eax, [ebp - 0x70]
mov ecx, edi
push dword [ebp - 0x50]
movups xmmword [ebp - 0x70], xmm0
push eax
maxss xmm0, dword [ebp - 0x88]
push esi
push dword [ebp - 0x40]
mov esi, dword [ebp - 0x74]
push dword [ebp - 0x44]
movss dword [ebp - 0x70], xmm0
movss xmm0, dword [ebp - 0x6c]
maxss xmm0, dword [ebp - 0x80]
mov eax, dword [esi + 0x254]
push eax
movss dword [ebp - 0x6c], xmm0
movss xmm0, dword [ebp - 0x68]
minss xmm0, dword [ebp - 0x60]
movss dword [ebp - 0x68], xmm0
movss xmm0, dword [ebp - 0x64]
minss xmm0, dword [ebp - 0x78]
movss dword [ebp - 0x64], xmm0
call fcn.1001cf80
mov edi, dword [ebp - 0x50]
xorps xmm2, xmm2
jmp 0x10011453
mov esi, dword [ebp - 0x74]
movss xmm0, dword [ebx + 0x26f4]
comiss xmm2, xmm0
jae 0x10011493
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x44], xmm0
fld qword [ebp - 0x44]
fld qword [0x10036668]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm0, dword [0x10036648]
fstp qword [ebp - 0x44]
movsd xmm1, qword [ebp - 0x44]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x10011493
xor al, al
jmp 0x10011495
mov al, 1
movss xmm3, dword [ebp - 0x90]
xorps xmm0, xmm0
movss xmm5, dword [ebp - 0x28]
movss xmm7, dword [0x10036638]
addss xmm3, dword [ebp - 0xc]
addss xmm5, dword [ebp - 0x7c]
subss xmm3, xmm0
subss xmm5, dword [ebp - 0x58]
movss dword [ebp - 0x90], xmm3
movaps xmm1, xmm3
movss dword [ebp - 0x28], xmm5
movaps xmm2, xmm5
movss dword [ebp - 0x70], xmm5
movaps xmm4, xmm3
subss xmm1, dword [ebx + 0x16f8]
addss xmm2, dword [0x10036654]
subss xmm4, dword [0x10036660]
addss xmm1, xmm7
movss dword [ebp - 0x68], xmm2
movss dword [ebp - 0x64], xmm4
movss dword [ebp - 0x6c], xmm1
test al, al
je 0x10011637
comiss xmm4, dword [ebp - 0x80]
jbe 0x10011637
movss xmm6, dword [ebp - 0x78]
comiss xmm6, xmm1
jbe 0x10011637
comiss xmm2, dword [ebp - 0x88]
jbe 0x10011637
movss xmm1, dword [ebp - 0x60]
comiss xmm1, xmm5
jbe 0x10011637
mov eax, dword [0x1003b0a8]
movups xmm3, xmmword [eax + 0x1444]
comiss xmm0, xmm3
movaps xmm2, xmm3
shufps xmm2, xmm3, 0xff
mulss xmm2, dword [eax + 0x13c4]
movups xmmword [ebp - 0x4c], xmm3
jbe 0x1001156a
xorps xmm1, xmm1
jmp 0x10011576
movss xmm1, dword [0x10036654]
minss xmm1, xmm3
movss xmm6, dword [0x1003673c]
movss xmm3, dword [ebp - 0x48]
comiss xmm0, xmm3
mulss xmm1, xmm6
addss xmm1, xmm7
cvttss2si ecx, xmm1
jbe 0x10011599
xorps xmm1, xmm1
jmp 0x100115a5
movss xmm1, dword [0x10036654]
minss xmm1, xmm3
movss xmm3, dword [ebp - 0x44]
mulss xmm1, xmm6
addss xmm1, xmm7
cvttss2si eax, xmm1
shl eax, 8
or ecx, eax
comiss xmm0, xmm3
jbe 0x100115c5
xorps xmm1, xmm1
jmp 0x100115d1
movss xmm1, dword [0x10036654]
minss xmm1, xmm3
mulss xmm1, xmm6
addss xmm1, xmm7
cvttss2si eax, xmm1
shl eax, 0x10
or ecx, eax
comiss xmm0, xmm2
ja 0x100115f3
movss xmm0, dword [0x10036654]
minss xmm0, xmm2
mulss xmm0, xmm6
push ecx
mov dword [esp], 0x3f800000
movss dword [ebp - 0x44], xmm5
addss xmm0, xmm7
movss dword [ebp - 0x40], xmm4
cvttss2si eax, xmm0
shl eax, 0x18
or eax, ecx
mov ecx, dword [esi + 0x254]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.1001a7c0
movss xmm5, dword [ebp - 0x28]
movss xmm3, dword [ebp - 0x90]
subss xmm5, dword [0x10036654]
subss xmm3, dword [ebx + 0x16f8]
movss dword [ebx + 0x2b80], xmm5
movss dword [ebx + 0x2b84], xmm3
jmp 0x1001165c
mov edi, dword [ebp - 0x50]
cmp byte [ebx + 0x2b90], 0
je 0x10011674
push 0
mov edx, edi
lea ecx, [ebp - 0x1c]
call fcn.100059b0
add esp, 4
movss xmm0, dword [ebp - 0xa4]
comiss xmm0, dword [0x100365f8]
jbe 0x100116d0
movss xmm0, dword [ebp - 0x9c]
xor edx, edx
addss xmm0, dword [ebx + 0x13fc]
mov ecx, dword [ebp - 0xa8]
movss dword [ebp - 0xa0], xmm0
movss xmm0, dword [ebp - 0x80]
addss xmm0, dword [ebx + 0x13ec]
movss dword [ebp - 0x9c], xmm0
push dword [ebp - 0x9c]
push dword [ebp - 0xa0]
push 1
call fcn.10005ac0
add esp, 0xc
mov al, byte [ebp - 0x2e]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.1002db20
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 8]
xor al, al
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1002db20
mov esp, ebp
pop ebp
ret