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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x1bc
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x100e78f0
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov ebx, dword [0x102709d0]
mov eax, dword [ebx + 0x1a08]
mov byte [eax + 0x7c], 1
mov eax, dword [ebx + 0x1a08]
cmp byte [eax + 0x7f], 0
je 0x100dd463
xor eax, eax
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
add esp, 0x1bc
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp + 0x1c]
mov esi, dword [ebp + 8]
test ax, ax
setns cl
mov dword [ebp - 0xb4], ecx
and eax, 0x100000
mov dword [ebp - 0x34], eax
je 0x100dd48a
call fcn.100b83a0
mov edi, dword [ebp + 0x18]
mov ecx, dword [ebp - 0xc4]
push 0
push esi
call fcn.100a7530
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x180]
push 0xbf800000
push 1
push 0
push esi
push eax
call fcn.100a6480
add esp, 0x14
cmp dword [ebp - 0x34], 0
je 0x100dd4cf
movss xmm0, dword [ebx + 0x18d4]
mulss xmm0, dword [0x10144094]
jmp 0x100dd4d7
movss xmm0, dword [ebp - 0x17c]
movss xmm1, dword [ebx + 0x1554]
addss xmm1, xmm1
addss xmm1, xmm0
movss dword [ebp - 0xe8], xmm1
call fcn.100b81d0
movss xmm0, dword [edi]
movss xmm1, dword [edi + 4]
sub esp, 0x14
movss xmm2, dword [ebp - 0xe8]
movss dword [esp + 0x10], xmm2
fstp dword [esp + 0xc]
movss dword [esp + 8], xmm1
movss dword [esp + 4], xmm0
lea eax, [ebp - 0x1c8]
mov dword [esp], eax
call fcn.100b8290
add esp, 0x14
movsd xmm0, qword [ebp - 0x1c8]
movups xmmword [ebp - 0x1b0], xmm0
movss xmm1, dword [ebp - 0x180]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jbe 0x100dd559
addss xmm1, dword [ebx + 0x1568]
movaps xmm0, xmm1
mov edi, dword [ebp - 0xc4]
mov eax, dword [edi + 0xc8]
mov ecx, dword [edi + 0xcc]
movsd xmm1, qword [edi + 0xc8]
mov dword [ebp - 0x12c], ecx
movd xmm2, ecx
mov dword [ebp - 0x19c], ecx
mov dword [ebp - 0x130], eax
movd xmm3, eax
mov dword [ebp - 0x1a0], eax
lea eax, [ebx + 0x1550]
mov dword [ebp - 0xe8], eax
movups xmm4, xmmword [ebp - 0x1b0]
movups xmmword [ebp - 0x168], xmm4
addss xmm0, xmm4
addps xmm1, xmm4
movlps qword [ebp - 0x128], xmm1
shufps xmm4, xmm4, 0x55
movups xmmword [ebp - 0x1c0], xmm4
addss xmm2, xmm4
addss xmm3, xmm0
movss dword [ebp - 0x198], xmm3
movss dword [ebp - 0x194], xmm2
cmp dword [ebp - 0x34], 0
je 0x100dd6ff
lea eax, [ebp - 0x130]
lea edi, [ebp - 0x1a0]
push eax
mov esi, dword [ebp - 0x30]
push esi
push edi
call fcn.100b64d0
add esp, 0xc
test al, al
je 0x100dd7cd
lea eax, [ebx + 0x1640]
push eax
push 3
call fcn.100a56f0
add esp, 8
movss xmm0, dword [ebx + 0x1558]
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], 6
call fcn.100a5880
add esp, 8
movss xmm0, dword [ebx + 0x155c]
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], 7
call fcn.100a5880
add esp, 8
push dword [ebp - 0xe8]
push 1
call fcn.100a59b0
add esp, 8
movsd xmm0, qword [ebp - 0x130]
movsd xmm1, qword [ebp - 0x128]
subps xmm1, xmm0
movlps qword [ebp - 0xa4], xmm1
lea eax, [ebp - 0xa4]
push 0x10004
push 1
push eax
push esi
push dword [ebp + 8]
call fcn.100b5cf0
add esp, 0x14
mov edi, ebx
mov ebx, eax
push 3
call fcn.100a5ae0
add esp, 4
push 1
call fcn.100a5820
add esp, 4
test bl, bl
je 0x100dd7eb
mov ecx, dword [edi + 0x1a08]
mov eax, dword [ecx + 0x138]
or dword [ecx + 0x140], eax
mov dword [ebp - 0x44], ecx
movss xmm0, dword [ecx + 0x70]
movups xmm1, xmmword [ebp - 0x168]
subss xmm1, xmm0
movups xmmword [ebp - 0x168], xmm1
movups xmmword [ebp - 0x158], xmm1
mov ebx, edi
mov esi, dword [ebp - 0x30]
mov edi, dword [ebp - 0xc4]
jmp 0x100dd750
movss xmm0, dword [ebx + 0x1554]
sub esp, 8
movss dword [esp + 4], xmm0
lea eax, [ebp - 0x1a0]
mov dword [esp], eax
call fcn.100b7f60
add esp, 8
lea eax, [ebp - 0x130]
xorps xmm0, xmm0
movups xmmword [ebp - 0x158], xmm0
push eax
mov esi, dword [ebp - 0x30]
push esi
lea eax, [ebp - 0x1a0]
push eax
call fcn.100b64d0
add esp, 0xc
mov dword [ebp - 0x44], edi
test al, al
je 0x100dd44c
lea eax, [ebp - 0x130]
push esi
push eax
call fcn.100a8360
add esp, 8
mov byte [ebp - 0x20], al
test al, al
je 0x100dd771
mov dword [ebx + 0x1dac], 1
mov eax, dword [0x102709d0]
mov edx, dword [eax + 0x1e80]
add eax, 0x1e80
xor ecx, ecx
mov dword [ebp - 0x40], edx
cmp edx, esi
mov dword [ebp - 0x70], 0
cmovne eax, ecx
mov dword [ebp - 0x24], eax
push esi
push edi
call fcn.100a8640
add esp, 8
mov byte [ebp - 0x118], al
test al, al
je 0x100dd7b8
cmp dword [ebx + 0x1c58], edi
je 0x100dd7fa
mov dword [ebp - 0x70], 0
cmp byte [ebp - 0x20], 0
je 0x100dd812
cmp byte [ebx + 0x3e0], 0
setne al
mov dword [ebp - 0x38], eax
jmp 0x100dd819
movss xmm0, dword [ebx + 0x1554]
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], edi
call fcn.100b7f60
add esp, 8
jmp 0x100dd7f0
call fcn.100b6070
call fcn.100b8550
jmp 0x100dd44c
mov eax, dword [ebx + 0x1c60]
cmp eax, dword [edi + 0x19c]
sete al
mov dword [ebp - 0x70], eax
cmp byte [ebp - 0x20], 0
jne 0x100dd7be
mov dword [ebp - 0x38], 0
mov edi, dword [ebx + 0x1a3c]
mov eax, dword [ebp - 0x30]
cmp edi, eax
jne 0x100dd82f
mov dword [ebp - 0x58], 0
jmp 0x100dd854
mov cl, 1
mov dword [ebp - 0x58], ecx
cmp dword [ebx + 0x1b50], eax
je 0x100dd854
mov eax, dword [ebp - 0x30]
cmp dword [ebx + 0x1b44], eax
jne 0x100dd826
cmp dword [ebx + 0x1b68], 3
sete al
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x34], 0
je 0x100dd878
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x30]
jne 0x100dd878
test edi, edi
je 0x100dd883
mov dword [ebp - 0x3c], 0
mov ebx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x44]
jmp 0x100dd8ab
mov dword [ebp - 0x3c], 0
xor edx, edx
jmp 0x100dd8c4
mov ebx, dword [ebp - 0x28]
mov edi, dword [ebx + 0x1a74]
mov esi, dword [ebp - 0x44]
mov ecx, esi
push 0
push str.SCROLLY
call fcn.100a7b20
cmp edi, eax
sete al
mov dword [ebp - 0x3c], eax
mov edi, dword [ebx + 0x1a3c]
mov ecx, esi
push 0
push str.SCROLLY
call fcn.100a7b20
cmp edi, eax
sete dl
mov edi, dword [ebx + 0x1a3c]
mov esi, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x30]
cmp edi, eax
mov edi, eax
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x60], edx
jne 0x100dd8f6
movzx eax, byte [ebp - 0x118]
or al, byte [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
or cl, byte [ebp - 0x58]
or cl, al
or cl, dl
mov dword [ebp - 0x2c], 0
jmp 0x100dd960
cmp dword [ebp - 0x34], 0
sete cl
mov eax, dword [ebp + 0x1c]
shr al, 4
mov ebx, dword [ebp - 0x58]
or al, bl
mov byte [ebp - 0x5c], cl
and al, cl
mov dword [ebp - 0x2c], eax
movzx eax, byte [ebp - 0x118]
or al, byte [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
or cl, bl
or cl, al
mov eax, ecx
or al, dl
cmp al, 1
jne 0x100dd95e
mov dword [ebp - 0x3c], ecx
mov edi, dword [ebp - 0x28]
mov dword [edi + 0x2ce0], 0xbe99999a
push dword [ebp + 0x10]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
lea edx, [eax + 1]
mov ecx, dword [edi + 0x1ea8]
cmp ecx, eax
jle 0x100dd9b6
mov eax, dword [edi + 0x1eac]
mov ebx, esi
jmp 0x100dda21
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x1a3c]
cmp eax, edi
mov edx, dword [ebp + 0x1c]
jne 0x100dd98c
cmp dword [ebp - 0x40], edi
mov ebx, dword [ebp - 0x24]
je 0x100dd98f
mov esi, edx
mov ebx, ecx
call fcn.100a81c0
mov ecx, ebx
mov edx, esi
xor ebx, ebx
jmp 0x100ddd02
mov ebx, dword [ebp - 0x24]
cmp eax, edi
jne 0x100ddd13
mov eax, dword [ebp - 0x28]
cmp byte [eax + 0x3e0], 0
sete al
or cl, al
mov eax, ecx
xor al, 1
mov dword [ebp - 0x70], eax
mov byte [ebp - 0x3c], 1
jmp 0x100ddd27
test ecx, ecx
mov ebx, esi
je 0x100dd9c9
mov eax, ecx
shr eax, 0x1f
add eax, ecx
sar eax, 1
add eax, ecx
jmp 0x100dd9ce
mov eax, 8
cmp eax, edx
mov dword [ebp - 0x24], edx
cmovle eax, edx
mov esi, eax
push eax
call fcn.100a46d0
add esp, 4
mov edi, dword [ebp - 0x28]
mov ecx, dword [edi + 0x1eac]
test ecx, ecx
je 0x100dda12
push dword [edi + 0x1ea4]
push ecx
push eax
mov dword [ebp - 0x40], eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push dword [edi + 0x1eac]
call fcn.100a4700
mov eax, dword [ebp - 0x40]
add esp, 4
mov dword [edi + 0x1eac], eax
mov dword [edi + 0x1ea8], esi
mov edx, dword [ebp - 0x24]
mov dword [edi + 0x1ea4], edx
push edx
push dword [ebp + 0x10]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [ebp - 0xa4], 0
lea esi, [ebx + 1]
mov eax, dword [edi + 0x1e90]
cmp eax, ebx
jg 0x100ddab8
test eax, eax
je 0x100dda5c
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x100dda61
mov ecx, 8
cmp ecx, esi
cmovle ecx, esi
mov dword [ebp - 0x24], ecx
lea eax, [ecx + ecx]
push eax
call fcn.100a46d0
add esp, 4
mov edi, dword [ebp - 0x28]
mov edx, dword [edi + 0x1e94]
test edx, edx
je 0x100ddaa9
mov ecx, dword [edi + 0x1e8c]
add ecx, ecx
push ecx
push edx
push eax
mov dword [ebp - 0x40], eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push dword [edi + 0x1e94]
call fcn.100a4700
mov eax, dword [ebp - 0x40]
add esp, 4
mov dword [edi + 0x1e94], eax
mov eax, dword [ebp - 0x24]
mov dword [edi + 0x1e90], eax
mov dword [edi + 0x1e8c], esi
cmp dword [edi + 0x1e9c], 0
jns 0x100ddb0b
push 0
call fcn.100a46d0
add esp, 4
mov esi, eax
mov eax, dword [edi + 0x1ea0]
test eax, eax
je 0x100ddafb
push dword [edi + 0x1e98]
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push dword [edi + 0x1ea0]
call fcn.100a4700
add esp, 4
mov dword [edi + 0x1ea0], esi
mov dword [edi + 0x1e9c], 0
mov dword [edi + 0x1e98], 0
mov byte [edi + 0x1eb0], 0
lea eax, [ebp - 0xa4]
push eax
push 0
mov esi, dword [ebp + 0x10]
push esi
push ebx
push dword [edi + 0x1e94]
call fcn.100a4b60
add esp, 0x14
mov dword [edi + 0x1e84], eax
mov ecx, dword [ebp - 0xa4]
sub ecx, esi
mov dword [edi + 0x1e88], ecx
mov edx, dword [ebp - 0x30]
cmp dword [edi + 0x1e80], edx
jne 0x100ddb8c
mov ecx, dword [edi + 0x1ebc]
mov edx, dword [edi + 0x1ec0]
cmp ecx, eax
cmovge ecx, eax
mov dword [edi + 0x1ebc], ecx
cmp edx, eax
cmovge edx, eax
mov dword [edi + 0x1ec0], edx
mov ecx, dword [edi + 0x1ec4]
cmp ecx, eax
cmovl eax, ecx
mov dword [edi + 0x1ec4], eax
jmp 0x100ddbf4
movzx ecx, byte [ebp - 0x2c]
cmp byte [ebp - 0x70], 0
mov eax, 1
cmove eax, ecx
xor ecx, ecx
cmp dword [ebp - 0x34], 0
cmove ecx, eax
mov dword [ebp - 0x2c], ecx
mov dword [edi + 0x1e80], edx
xorps xmm0, xmm0
movups xmmword [edi + 0x1eb8], xmm0
mov dword [edi + 0x2cd2], 0x630000
mov dword [edi + 0x2cd8], 0
mov dword [edi + 0x2cdc], 0x3e7
mov dword [edi + 0x1ed0], 0
movzx eax, byte [ebp - 0x5c]
mov byte [edi + 0x1ecc], al
mov dword [edi + 0x1ec8], 0x10000
test dword [ebp + 0x1c], 0x2000
mov ecx, dword [ebp - 0x3c]
je 0x100ddc0a
mov eax, dword [ebp - 0x28]
mov byte [eax + 0x1ec8], 1
cmp dword [ebp - 0x34], 0
jne 0x100ddc37
movzx eax, byte [ebp - 0x118]
xor al, 1
or al, byte [ebp - 0x70]
cmp al, 1
jne 0x100ddc32
cmp byte [ebp - 0x38], 0
je 0x100ddc37
mov eax, dword [ebp - 0x28]
cmp byte [eax + 0x100], 0
je 0x100ddc37
mov al, 1
mov dword [ebp - 0x2c], eax
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x30]
cmp dword [edi + 0x1a3c], esi
sete al
xor cl, 1
or cl, al
lea eax, [edi + 0x1e80]
mov dword [ebp - 0x24], eax
mov cl, 1
jne 0x100ddcfa
mov ebx, dword [ebp - 0xc4]
push ebx
push esi
call fcn.100a80d0
add esp, 8
push ebx
push esi
call fcn.100b9c60
add esp, 8
push ebx
call fcn.100a9d50
add esp, 4
mov edx, dword [ebp + 0x1c]
test edx, 0x100080
mov eax, 3
mov ecx, 0xf
cmove ecx, eax
cmp dword [ebp - 0x34], 0
movd xmm0, ecx
movsd xmm1, qword [edi + 0x1a50]
movaps xmm2, xmmword [0x1014db00]
movss xmm2, xmm0
orps xmm2, xmm1
movlps qword [edi + 0x1a50], xmm2
mov ecx, 0x1e0
mov eax, 0x180
cmovne eax, ecx
mov ecx, dword [edi + 0x1a5c]
or eax, dword [edi + 0x1a58]
mov dword [edi + 0x1a58], eax
test edx, 0x440
je 0x100ddcf0
or eax, 1
mov dword [edi + 0x1a5c], ecx
mov dword [edi + 0x1a58], eax
mov edi, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x24]
mov cl, 1
jmp 0x100ddd02
mov edx, dword [ebp + 0x1c]
mov edi, esi
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x1a3c]
cmp eax, edi
je 0x100dd997
test ebx, ebx
setne al
and al, byte [ebp - 0x60]
mov byte [ebp - 0x3c], al
mov cl, 1
mov dword [ebp - 0x70], 0
mov dword [ebp - 0xd4], ecx
test ebx, ebx
mov dword [ebp - 0x24], ebx
je 0x100ddd72
mov esi, edx
mov eax, edx
shr eax, 0xe
mov ecx, dword [ebx + 0x40]
cmp ecx, dword [ebx + 0x44]
setne dl
movzx ecx, byte [ebp - 0x3c]
and dl, cl
mov dword [ebp - 0x118], edx
and al, cl
cmp al, 1
jne 0x100ddd79
mov dword [ebp - 0xa4], 0
mov ecx, dword [ebp + 0x14]
lea edx, [ecx + 1]
mov eax, dword [ebx + 0x10]
cmp eax, ecx
jle 0x100ddd84
mov ecx, dword [ebx + 0x14]
jmp 0x100ddded
xor ecx, ecx
jmp 0x100dde4e
mov ecx, dword [ebp - 0x118]
jmp 0x100dde4c
test eax, eax
je 0x100ddd95
mov ebx, eax
shr ebx, 0x1f
add ebx, eax
sar ebx, 1
add ebx, eax
jmp 0x100ddd9a
mov ebx, 8
cmp ebx, edx
mov dword [ebp - 0xc4], edx
cmovle ebx, edx
lea eax, [ebx + ebx]
push eax
call fcn.100a46d0
add esp, 4
mov ecx, eax
mov edi, dword [ebp - 0x24]
mov eax, dword [edi + 0x14]
test eax, eax
je 0x100ddddc
mov esi, ecx
mov ecx, dword [edi + 0xc]
add ecx, ecx
push ecx
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push dword [edi + 0x14]
call fcn.100a4700
mov ecx, esi
add esp, 4
mov dword [edi + 0x14], ecx
mov dword [edi + 0x10], ebx
mov esi, dword [ebp + 0x1c]
mov ebx, edi
mov edx, dword [ebp - 0xc4]
mov dword [ebx + 0xc], edx
lea eax, [ebp - 0xa4]
push eax
push 0
mov ebx, dword [ebp + 0x10]
push ebx
push edx
push ecx
call fcn.100a4b60
add esp, 0x14
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0xa4]
sub ecx, ebx
mov ebx, dword [ebp - 0x24]
mov dword [ebx + 8], ecx
mov edx, dword [ebx + 0x3c]
mov ecx, dword [ebx + 0x40]
cmp edx, eax
cmovge edx, eax
mov dword [ebx + 0x3c], edx
cmp ecx, eax
cmovge ecx, eax
mov dword [ebx + 0x40], ecx
mov edx, dword [ebx + 0x44]
cmp edx, eax
cmovl eax, edx
cmp ecx, eax
mov dword [ebx + 0x44], eax
setne al
mov ecx, dword [ebp - 0x118]
and cl, al
mov edi, dword [ebp - 0x30]
mov edx, esi
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x38], eax
movzx eax, byte [ebp - 0x3c]
or al, cl
je 0x100dde6c
mov dword [ebp - 0xc4], 0
test ebx, ebx
jne 0x100dde85
jmp 0x100ddea4
mov dword [ebp - 0xc4], 0
test ebx, ebx
je 0x100ddea4
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x1a3c], edi
jne 0x100ddea4
mov eax, edx
and eax, 0x4000
mov eax, dword [ebp + 0xc]
jne 0x100ddea7
cmp byte [ebx + 0x30], 0
mov esi, edx
setne dl
mov dword [ebp - 0xc4], edx
mov edx, esi
jmp 0x100ddea7
mov eax, dword [ebp + 0xc]
test eax, eax
mov dword [ebp - 0x118], ecx
je 0x100ddec8
mov eax, dword [ebp + 0x10]
cmp byte [ebp - 0xc4], 0
je 0x100ddec0
mov eax, dword [ebx + 0x20]
cmp byte [eax], 0
sete cl
jmp 0x100ddeca
xor ecx, ecx
test dx, dx
setns al
mov dword [ebp - 0x40], ecx
or al, cl
mov byte [ebp - 0x60], al
jne 0x100ddf64
mov esi, dword [ebp - 0x28]
mov ecx, dword [esi + 0x18d0]
push 0x2a
mov edi, edx
call fcn.100ca0c0
lea ecx, [esi + 0x2cf4]
mov edx, dword [esi + 0x18d0]
movss xmm0, dword [edx + 0x10]
movss dword [esi + 0x2d04], xmm0
movss xmm0, dword [edx + 0x48]
movss dword [esi + 0x2d3c], xmm0
movsd xmm0, qword [edx + 0x30]
movsd qword [esi + 0x2d24], xmm0
movss xmm0, dword [edx + 0x4c]
movss dword [esi + 0x2d40], xmm0
movss xmm0, dword [edx + 0x50]
movss dword [esi + 0x2d44], xmm0
mov edx, dword [edx + 0x38]
mov dword [esi + 0x2d2c], edx
mov dword [esi + 0x2d20], eax
movss xmm0, dword [eax + 4]
movss dword [esi + 0x2d00], xmm0
push ecx
call fcn.100b7430
mov edx, edi
add esp, 4
mov dword [ebp - 0x5c], 0
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
cmp dword [edi + 0x1a3c], eax
jne 0x100de2ea
mov eax, dword [ebp + 0x14]
mov dword [ebx + 0x34], eax
mov dword [ebx + 0xe68], edx
mov eax, dword [ebp + 0x20]
mov dword [ebx + 0xe6c], eax
mov eax, dword [ebp + 0x24]
mov dword [ebx + 0xe70], eax
movzx eax, byte [edi + 0xf0]
mov ecx, eax
xor cl, 1
mov edx, dword [ebx + 8]
mov dword [ebp - 0x5c], edx
mov byte [edi + 0x1a49], cl
mov dword [edi + 0x3008], 1
cmp dword [ebp - 0x34], 0
mov esi, edi
je 0x100ddfe2
movss xmm1, dword [esi + 0xec]
mov ecx, dword [ebp - 0x44]
subss xmm1, dword [ecx + 0xcc]
subss xmm1, dword [esi + 0x1554]
jmp 0x100ddff2
movss xmm1, dword [esi + 0x18d4]
mulss xmm1, dword [0x10141dd0]
mov ch, byte [esi + 0xb1]
cmp byte [ebp - 0x2c], 0
je 0x100de051
mov dword [ebx + 0x40], 0
mov eax, dword [ebx + 4]
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0x4b], 0
mov byte [ebx + 0xe65], 1
cmp byte [ebx + 0xe65], 0
je 0x100de032
cmp byte [esi + 0xf0], 0
jne 0x100de032
mov byte [ebx + 0xe65], 0
cmp byte [esi + 0x100], 0
je 0x100de093
movzx eax, byte [esi + 0x102]
test al, al
sete bl
test ch, ch
je 0x100de0a8
test al, al
jne 0x100de09b
jmp 0x100de0a8
movss xmm0, dword [esi + 0xe8]
subss xmm0, dword [ebp - 0x130]
subss xmm0, dword [esi + 0x1550]
addss xmm0, dword [ebx + 0x38]
test ch, ch
setne dl
mov cl, byte [ebp - 0x20]
xor cl, 1
or dl, cl
jne 0x100de11f
cmp byte [esi + 0x3e5], 0
jne 0x100ddffe
jmp 0x100de153
test ch, ch
je 0x100de1c5
mov eax, dword [ebp - 0x28]
cmp byte [eax + 0x103], 0
setne bl
test dword [ebp + 0x1c], 0x400
je 0x100de24c
mov eax, dword [0x102709d0]
mov eax, dword [eax + 0x34]
test eax, eax
js 0x100de24c
push 1
push eax
call fcn.100b5a20
add esp, 8
xor al, 1
or al, bl
jne 0x100de24c
test dword [ebp + 0x1c], 0x4000
jne 0x100de24c
mov eax, dword [ebp - 0x28]
cmp byte [eax + 0x101], 0
jne 0x100de24c
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x150c]
mov eax, dword [eax + 0x1514]
lea ecx, [eax + ecx*2]
cmp eax, ecx
jae 0x100de212
cmp word [eax], 9
lea eax, [eax + 2]
jne 0x100de109
jmp 0x100de24c
test ch, ch
je 0x100de153
test cl, cl
jne 0x100de153
cmp byte [esi + 0x3e5], 0
je 0x100de153
mov byte [ebp - 0x20], ch
mov ecx, ebx
push 0x20000c
call fcn.100e03d0
mov ecx, ebx
push 0x60000d
call fcn.100e03d0
mov ch, byte [ebp - 0x20]
jmp 0x100de019
cmp byte [esi + 0x3e0], 0
je 0x100de165
cmp byte [ebx + 0xe65], 0
je 0x100de1d6
test al, al
je 0x100de019
cmp byte [ebx + 0xe65], 0
jne 0x100de019
movss xmm3, dword [esi + 0x378]
xorps xmm2, xmm2
ucomiss xmm3, xmm2
jne 0x100de19f
jp 0x100de19f
movss xmm3, dword [esi + 0x37c]
ucomiss xmm3, xmm2
jne 0x100de19f
jnp 0x100de019
lea edx, [ebx + 0x3c]
mov byte [ebp - 0x20], ch
mov ecx, ebx
call fcn.100e15e0
mov ch, byte [ebp - 0x20]
mov dword [ebx + 0xe60], 0xbe99999a
mov byte [ebx + 0xe64], 1
jmp 0x100de019
xor ebx, ebx
test dword [ebp + 0x1c], 0x400
jne 0x100de0b5
jmp 0x100de24c
cmp byte [ebp - 0x20], 0
je 0x100de019
mov byte [ebp - 0x20], ch
cmp byte [ebx + 0x4c], 0
je 0x100de1ec
xorps xmm1, xmm1
mov ecx, ebx
call fcn.100e6f40
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], eax
mov byte [ebx + 0x4b], 0
mov dword [ebx + 0xe60], 0xbe99999a
mov ch, byte [ebp - 0x20]
jmp 0x100de019
mov dword [ebp - 0xa4], 9
mov dword [ebp - 0x10], 0xffffffff
lea ecx, [ebp - 0xa4]
mov edx, dword [ebp + 0x1c]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
call fcn.100e1610
add esp, 8
test al, al
je 0x100de24c
mov ecx, dword [ebp - 0x24]
push dword [ebp - 0xa4]
call fcn.100e03d0
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x150c], 0
jle 0x100de2e1
mov eax, dword [ebp + 0x1c]
shr eax, 0xe
and eax, 1
or bl, byte [ebp - 0x58]
or bl, al
mov ebx, dword [ebp - 0x28]
je 0x100de5a0
cmp dword [ebx + 0x1510], 0
mov edi, ebx
mov edx, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x24]
jns 0x100de2d5
mov dword [ebp - 0x10], 0xffffffff
push 0
call fcn.100a46d0
add esp, 4
mov esi, eax
mov eax, dword [edi + 0x1514]
test eax, eax
je 0x100de2c2
mov ecx, dword [edi + 0x150c]
add ecx, ecx
push ecx
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push dword [edi + 0x1514]
call fcn.100a4700
add esp, 4
mov dword [edi + 0x1514], esi
mov dword [edi + 0x1510], 0
mov edx, dword [ebp + 0x1c]
mov dword [edi + 0x150c], 0
jmp 0x100de2ea
mov edx, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x24]
mov ecx, dword [edi + 0x1a3c]
mov dword [ebp - 0x58], 0
cmp ecx, dword [ebp - 0x30]
jne 0x100de389
cmp byte [edi + 0x1a48], 0
jne 0x100de610
cmp byte [ebp - 0xd4], 0
je 0x100de609
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax + 0x101]
mov dword [ebp - 0x20], ecx
movzx ecx, byte [eax + 0xb1]
mov byte [ebp - 0x71], cl
test cl, cl
je 0x100dea12
mov esi, dword [eax + 0x380]
mov edi, esi
cmp esi, 0xa
sete cl
mov dword [ebp - 0x2c], ecx
lea esi, [eax + 0x102]
mov dword [ebp - 0x138], esi
lea esi, [eax + 0x100]
movzx ecx, byte [eax + 0x102]
cmp byte [eax + 0x103], 0
mov byte [ebp - 0x108], cl
je 0x100dead5
movzx eax, byte [esi]
or al, cl
sete al
mov dword [ebp - 0xd4], eax
jmp 0x100deadf
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x2c], 0
mov edi, dword [ebp - 0x30]
cmp ecx, edi
jne 0x100deebb
test edx, 0x4000
jne 0x100de576
mov eax, dword [ebp - 0x20]
xor al, 1
jne 0x100de576
mov eax, dword [ebx + 0x2c]
mov dword [ebp - 0x58], eax
push eax
push dword [ebp + 0x10]
mov esi, edx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
mov edx, esi
add esp, 8
test eax, eax
je 0x100de576
mov esi, dword [ebx + 0x24]
lea ecx, [esi - 1]
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x9c], 0
xor edi, edi
mov edx, 0
mov eax, 0
cmp esi, 2
mov dword [ebp - 0xb4], ecx
jl 0x100de477
mov dword [ebp - 0x108], esi
mov eax, dword [ebp - 0x58]
add ecx, eax
mov dword [ebp - 0x10], 1
mov dword [ebp - 0xd4], ecx
push ecx
push eax
call fcn.100a4bf0
add esp, 8
inc eax
lea ecx, [ebp - 0xa4]
push eax
call fcn.100e1570
push 0
push dword [ebp - 0xd4]
push dword [ebp - 0x58]
push dword [ebp - 0xa4]
push dword [ebp - 0x9c]
call fcn.100a4b60
add esp, 0x14
mov eax, dword [ebp - 0xa4]
mov edx, dword [ebp - 0x9c]
mov ebx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x108]
xor edi, edi
mov dword [ebp - 0xf8], edx
dec eax
cmp esi, 2
cmovl eax, edi
mov esi, dword [ebx + 4]
lea ecx, [ebx + 0x54]
xor edx, edx
mov dword [ebp - 0xd4], eax
push eax
push esi
call fcn.100e6c40
add esp, 8
test esi, esi
jle 0x100de501
test eax, eax
je 0x100de501
mov ecx, esi
and ecx, 3
xor edx, edx
cmp esi, 4
jb 0x100de4ee
and esi, 0xfffffffc
xor edx, edx
mov edi, dword [ebx + 0x14]
movzx edi, word [edi + edx*2]
mov word [eax + edx*2], di
mov edi, dword [ebx + 0x14]
movzx edi, word [edi + edx*2 + 2]
mov word [eax + edx*2 + 2], di
mov edi, dword [ebx + 0x14]
movzx edi, word [edi + edx*2 + 4]
mov word [eax + edx*2 + 4], di
mov edi, dword [ebx + 0x14]
movzx edi, word [edi + edx*2 + 6]
mov word [eax + edx*2 + 6], di
add edx, 4
cmp esi, edx
jne 0x100de4b5
test ecx, ecx
je 0x100de501
mov esi, dword [ebx + 0x14]
movzx esi, word [esi + edx*2]
mov word [eax + edx*2], si
inc edx
dec ecx
jne 0x100de4f2
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 0x14]
mov dword [ebp - 0x148], eax
lea eax, [ecx + eax*2]
mov dword [ebp - 0x10], 1
push eax
mov dword [ebp - 0x108], ecx
push ecx
call fcn.100a4d20
add esp, 8
mov ecx, dword [ebp - 0x24]
sub dword [ecx + 8], eax
mov esi, dword [ebp - 0x148]
sub dword [ecx + 4], esi
mov edx, dword [ecx + 0x14]
movzx eax, word [edx + esi*2]
test ax, ax
je 0x100dea52
lea edx, [edx + esi*2]
add edx, 2
mov esi, dword [ebp - 0xd4]
mov edi, dword [ebp - 0x108]
nop dword [eax + eax]
mov word [edi], ax
add edi, 2
movzx eax, word [edx]
add edx, 2
test ax, ax
jne 0x100de560
jmp 0x100dea5e
mov dword [ebp - 0x58], 0
mov dword [ebp - 0xb4], 0
cmp byte [ebp - 0x20], 0
jne 0x100deabd
mov dword [ebp - 0xb4], 0
jmp 0x100de621
xor edi, edi
lea esi, [ebp - 0xa4]
jmp 0x100de5c6
cmp byte [ebx + 0x101], 0
je 0x100de5db
inc edi
cmp edi, dword [ebx + 0x150c]
jge 0x100de273
mov eax, dword [ebx + 0x1514]
movzx eax, word [eax + edi*2]
mov dword [ebp - 0xa4], eax
cmp eax, 9
je 0x100de5b0
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
mov edx, dword [ebp + 0x1c]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
call fcn.100e1610
add esp, 8
test al, al
je 0x100de5b9
mov ecx, dword [ebp - 0x24]
push dword [ebp - 0xa4]
call fcn.100e03d0
jmp 0x100de5b9
mov dword [ebp - 0x58], 0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0x2c], 0
test edx, 0x4000
jne 0x100de6cb
mov byte [ebx + 0x30], 1
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x1c]
lea edi, [ecx*4 + 1]
cmp eax, edi
jge 0x100de65a
test eax, eax
je 0x100de66a
mov ebx, eax
shr ebx, 0x1f
add ebx, eax
sar ebx, 1
add ebx, eax
mov dword [ebp - 0x10], 0xffffffff
jmp 0x100de66f
mov esi, ebx
mov ebx, edx
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x10], 0xffffffff
jmp 0x100de6b5
mov ebx, 8
cmp ebx, edi
cmovle ebx, edi
mov dword [ebp - 0x10], 0xffffffff
push ebx
call fcn.100a46d0
add esp, 4
mov esi, dword [ebp - 0x24]
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x100de6ac
push dword [esi + 0x18]
push ecx
push eax
mov dword [ebp - 0x20], eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push dword [esi + 0x20]
call fcn.100a4700
mov eax, dword [ebp - 0x20]
add esp, 4
mov dword [esi + 0x20], eax
mov dword [esi + 0x1c], ebx
mov ebx, dword [ebp + 0x1c]
mov dword [esi + 0x18], edi
push 0
push dword [esi + 0x14]
push edi
push eax
call fcn.100a4c50
add esp, 0x10
mov edx, ebx
mov ebx, esi
test edx, 0x1c0
je 0x100de8ff
test dl, 0x40
je 0x100de70e
mov eax, dword [0x102709d0]
mov eax, dword [eax + 0x34]
test eax, eax
js 0x100de70e
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
mov esi, edx
call fcn.100b5a20
mov edx, esi
add esp, 8
test al, al
je 0x100de70e
mov eax, 0x40
xor ecx, ecx
jmp 0x100de78e
test dl, dl
jns 0x100de778
mov eax, dword [0x102709d0]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x100de74b
mov esi, edx
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100b5a20
add esp, 8
test al, al
je 0x100de744
mov eax, 0x80
mov ecx, 3
mov edx, esi
jmp 0x100de78e
mov eax, dword [0x102709d0]
mov edx, esi
mov eax, dword [eax + 0x44]
test eax, eax
js 0x100de778
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
mov esi, edx
call fcn.100b5a20
mov edx, esi
add esp, 8
test al, al
je 0x100de778
mov eax, 0x80
mov ecx, 4
jmp 0x100de78e
test edx, 0x100
je 0x100de8ff
mov eax, 0x100
mov ecx, 0x16
xorps xmm0, xmm0
movups xmmword [ebp - 0x98], xmm0
movups xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], edx
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x94], ecx
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x90], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebx + 0x34]
mov dword [ebp - 0x88], eax
mov byte [ebp - 0x84], 0
mov esi, dword [ebx + 0x14]
mov eax, dword [ebx + 0x3c]
lea eax, [esi + eax*2]
mov dword [ebp - 0x10], 0xffffffff
push eax
push esi
call fcn.100a4d20
add esp, 8
mov edi, eax
mov dword [ebp - 0x80], eax
mov eax, dword [ebx + 0x40]
lea eax, [esi + eax*2]
push eax
push esi
call fcn.100a4d20
add esp, 8
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x7c], eax
mov eax, dword [ebx + 0x44]
lea eax, [esi + eax*2]
push eax
push esi
call fcn.100a4d20
add esp, 8
mov esi, eax
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0xa4]
push eax
call dword [ebp + 0x20]
add esp, 4
mov eax, dword [ebp - 0x80]
cmp eax, edi
je 0x100de860
mov ecx, dword [ebp - 0x90]
add eax, ecx
push eax
push ecx
call fcn.100a4bf0
add esp, 8
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 0x3c], eax
mov byte [ecx + 0xe64], 1
mov eax, dword [ebp - 0x7c]
cmp eax, dword [ebp - 0x20]
je 0x100de880
mov ecx, dword [ebp - 0x90]
add eax, ecx
push eax
push ecx
call fcn.100a4bf0
add esp, 8
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0x78]
cmp eax, esi
mov edx, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x24]
je 0x100de8a6
mov ecx, dword [ebp - 0x90]
add eax, ecx
push eax
push ecx
mov esi, edx
call fcn.100a4bf0
mov edx, esi
add esp, 8
mov dword [ebx + 0x44], eax
cmp byte [ebp - 0x84], 0
je 0x100de8ff
mov esi, edx
test edx, 0x40000
je 0x100de8cf
mov eax, dword [ebp - 0x8c]
sub eax, dword [ebp - 0x5c]
jle 0x100de8cf
lea ecx, [ebx + 0xc]
add eax, dword [ecx]
push eax
call fcn.100e1570
push 0
push 0
push dword [ebp - 0x90]
push dword [ebx + 0xc]
push dword [ebx + 0x14]
call fcn.100a4b60
add esp, 0x14
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebx + 8], eax
mov dword [ebx + 0xe60], 0xbe99999a
mov edx, esi
test edx, 0x4000
jne 0x100de92a
mov edi, edx
mov esi, dword [ebx + 0x20]
push dword [ebp + 0x10]
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
je 0x100de928
mov eax, dword [ebx + 8]
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x58], esi
mov edx, edi
cmp dword [ebp - 0x58], 0
setne al
mov dword [ebp - 0x5c], eax
je 0x100de9ef
mov dword [ebp - 0x10], 0xffffffff
test edx, 0x40000
jne 0x100de959
mov esi, edx
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0x14]
mov edi, dword [ebp - 0xb4]
jmp 0x100de9d7
xorps xmm0, xmm0
movups xmmword [ebp - 0x98], xmm0
movups xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0xa4], 0x40000
mov esi, edx
mov dword [ebp - 0xa0], edx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x90], eax
mov ecx, dword [ebp - 0xb4]
mov dword [ebp - 0x8c], ecx
inc ecx
mov eax, dword [ebp + 0x14]
cmp eax, ecx
cmovg ecx, eax
mov dword [ebp - 0x88], ecx
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x9c], eax
lea eax, [ebp - 0xa4]
push eax
call dword [ebp + 0x20]
add esp, 4
mov ecx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x88]
lea edi, [edx - 1]
cmp eax, edi
cmovl edi, eax
inc edi
cmp edi, edx
cmovge edi, edx
push edi
push dword [ebp - 0x58]
mov dword [ebp - 0x48], ecx
push ecx
call fcn.100a46a0
add esp, 0xc
mov edx, esi
mov dword [ebx + 0xe68], 0
mov dword [ebx + 0xe6c], 0
mov dword [ebx + 0xe70], 0
jmp 0x100deec2
lea ecx, [eax + 0x102]
mov dword [ebp - 0x138], ecx
lea esi, [eax + 0x100]
movzx ecx, byte [eax + 0x100]
mov byte [ebp - 0x108], cl
mov ecx, dword [eax + 0x380]
mov eax, 1
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0xd4], 0
jmp 0x100deae6
mov esi, dword [ebp - 0xd4]
mov edi, dword [ebp - 0x108]
mov word [edi], 0
test esi, esi
jle 0x100dea93
mov dword [ebp - 0x10], 1
xor edx, edx
push esi
push dword [ebp - 0xf8]
call fcn.100e6500
add esp, 8
test al, al
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xd4]
je 0x100dea93
mov dword [eax + 0x3c], ecx
mov byte [eax + 0x4b], 0
mov eax, dword [ebp - 0x9c]
test eax, eax
je 0x100deaad
mov dword [ebp - 0x10], 0
push eax
call fcn.100a4700
add esp, 4
cmp byte [ebp - 0x20], 0
mov edx, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x24]
je 0x100de621
test dl, 0x20
je 0x100de92a
cmp byte [ebp - 0x2c], 0
jne 0x100de621
jmp 0x100de92a
mov dword [ebp - 0xd4], 0
mov eax, 8
mov ecx, edi
mov dword [ebp - 0x148], esi
mov edi, ecx
cmp ecx, eax
mov esi, eax
mov dword [ebp - 0x58], eax
jne 0x100deb55
mov eax, dword [0x102709d0]
mov eax, dword [eax + 0x80]
test eax, eax
js 0x100deb55
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
mov esi, ebx
mov ebx, edx
call fcn.100b5a20
mov edx, ebx
mov ebx, esi
mov esi, dword [ebp - 0x58]
add esp, 8
test al, al
je 0x100deb55
test dx, dx
sets cl
mov eax, edx
shr eax, 0xe
and eax, 1
or al, cl
mov ecx, eax
xor cl, 1
mov dword [ebp - 0xf8], ecx
test al, al
jne 0x100debd6
cmp dword [ebp - 0x34], 0
jne 0x100debb3
jmp 0x100debd6
cmp edi, 2
jne 0x100debc8
mov eax, dword [0x102709d0]
mov eax, dword [eax + 0x5c]
test eax, eax
js 0x100debc8
test dx, dx
sets byte [ebp - 0xf8]
mov ebx, edx
shr ebx, 0xe
and ebx, 1
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
call fcn.100b5a20
add esp, 8
xor al, 1
or al, byte [ebp - 0xf8]
or al, bl
mov ecx, eax
xor cl, 1
mov dword [ebp - 0xf8], ecx
test al, al
jne 0x100dfe5c
cmp dword [ebp - 0x34], 0
mov edx, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x24]
je 0x100debd2
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
setne al
mov dword [ebp - 0xf8], eax
cmp edi, esi
jne 0x100dec10
jmp 0x100debd6
mov dword [ebp - 0xf8], 0
cmp edi, esi
jne 0x100dec10
mov eax, dword [0x102709d0]
mov eax, dword [eax + 0x78]
test eax, eax
js 0x100dec10
mov esi, ebx
mov ebx, edx
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
call fcn.100b5a20
add esp, 8
test al, al
je 0x100dec0e
mov edx, ebx
mov eax, ebx
and eax, 0x108000
cmp eax, 0x100000
je 0x100dec55
jmp 0x100dec7a
mov edx, ebx
cmp edi, 1
jne 0x100dec6b
mov eax, dword [0x102709d0]
mov eax, dword [eax + 0x58]
test eax, eax
js 0x100dec6b
test dx, dx
setns bl
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
call fcn.100b5a20
add esp, 8
and al, bl
cmp dword [ebp - 0x34], 0
mov dword [ebp - 0xb4], eax
je 0x100dfe6f
test al, al
mov edx, dword [ebp + 0x1c]
mov esi, dword [ebp - 0x24]
je 0x100dec75
mov eax, dword [esi + 0x40]
cmp eax, dword [esi + 0x44]
setne al
mov dword [ebp - 0xb4], eax
cmp edi, dword [ebp - 0x58]
jne 0x100deca0
jmp 0x100dec7a
mov dword [ebp - 0xb4], 0
cmp edi, dword [ebp - 0x58]
jne 0x100deca0
mov eax, dword [0x102709d0]
mov eax, dword [eax + 0x7c]
test eax, eax
js 0x100deca0
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
mov ebx, edx
call fcn.100b5a20
mov edx, ebx
add esp, 8
test al, al
jne 0x100decd6
cmp edi, 2
jne 0x100dece7
mov eax, dword [0x102709d0]
mov eax, dword [eax + 0x58]
test eax, eax
mov esi, dword [ebp - 0x20]
js 0x100dfd50
mov ebx, edx
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
call fcn.100b5a20
add esp, 8
test al, al
je 0x100dfdd9
mov edx, ebx
test edx, 0x4000
sete al
mov dword [ebp - 0xd8], eax
jmp 0x100decf1
mov dword [ebp - 0xd8], 0
mov esi, dword [ebp - 0x20]
cmp edi, dword [ebp - 0x58]
jne 0x100ded2f
mov dword [ebp - 0x134], edi
mov edi, esi
mov esi, dword [0x102709d0]
mov ecx, dword [esi + 0x88]
test ecx, ecx
js 0x100ded38
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
mov ebx, edx
call fcn.100b5a20
mov edx, ebx
add esp, 8
mov esi, dword [0x102709d0]
jmp 0x100ded3a
mov dword [ebp - 0x20], 0
jmp 0x100ded85
xor eax, eax
test edx, 0x10000
sete cl
test edx, 0x4000
sete bl
and al, bl
and al, cl
mov dword [ebp - 0x20], eax
mov eax, dword [esi + 0x84]
test eax, eax
js 0x100ded7d
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
call fcn.100b5a20
add esp, 8
test al, al
mov esi, edi
mov edi, dword [ebp - 0x134]
je 0x100ded85
jmp 0x100dedbc
mov esi, edi
mov edi, dword [ebp - 0x134]
cmp byte [ebp - 0x2c], 0
je 0x100dedce
mov eax, dword [0x102709d0]
mov eax, dword [eax + 0x88]
test eax, eax
mov ebx, dword [ebp + 0x1c]
js 0x100dedce
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
call fcn.100b5a20
add esp, 8
test al, al
je 0x100dedce
test ebx, 0x4000
sete bl
mov eax, dword [ebp + 0x1c]
test eax, 0x10000
sete al
and al, bl
mov dword [ebp - 0x2c], eax
jmp 0x100dedd5
mov dword [ebp - 0x2c], 0
mov ebx, dword [ebp - 0x24]
shl esi, 0x16
mov eax, dword [0x102709d0]
mov ecx, dword [eax + 0x38]
test ecx, ecx
js 0x100dee24
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100b5a20
add esp, 8
test al, al
je 0x100dee1f
cmp byte [ebp - 0x108], 0
mov eax, 0x200000
mov ecx, 0x20000c
cmove ecx, eax
cmp byte [ebp - 0xd4], 0
mov eax, 0x200004
jmp 0x100dee69
mov eax, dword [0x102709d0]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
js 0x100dfcf2
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100b5a20
add esp, 8
test al, al
je 0x100dfced
cmp byte [ebp - 0x108], 0
mov eax, 0x200001
mov ecx, 0x20000d
cmove ecx, eax
cmp byte [ebp - 0xd4], 0
mov eax, 0x200005
cmove eax, ecx
or eax, esi
mov ecx, ebx
push eax
call fcn.100e03d0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp - 0x70]
mov edi, dword [ebp - 0x30]
mov ecx, dword [ebx + 0x40]
cmp ecx, dword [ebx + 0x44]
movzx ecx, byte [ebp - 0x118]
movzx edx, byte [ebp - 0x3c]
cmove edx, ecx
mov dword [ebp - 0x118], edx
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ecx + 0x1a3c]
mov dword [ebp - 0x70], eax
mov edx, dword [ebp + 0x1c]
cmp ecx, edi
je 0x100de3a2
mov dword [ebp - 0x5c], 0
cmp byte [ebp - 0x70], 0
mov edi, edx
je 0x100deee4
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x30]
cmp dword [eax + 0x1a3c], ecx
jne 0x100deee4
mov dword [ebp - 0x10], 0xffffffff
call fcn.100a81c0
cmp dword [ebp - 0x34], 0
jne 0x100def51
mov dword [ebp - 0x10], 0xffffffff
push 1
push dword [ebp - 0x30]
lea eax, [ebp - 0x130]
push eax
call fcn.100a6ba0
add esp, 0xc
mov eax, dword [ebp - 0x28]
movss xmm0, dword [eax + 0x1558]
movss dword [ebp - 0x58], xmm0
push 0x3f800000
push 7
call fcn.100a5500
add esp, 8
movups xmm0, xmmword [ebp - 0x130]
sub esp, 0x1c
movss xmm1, dword [ebp - 0x58]
movss dword [esp + 0x18], xmm1
mov dword [esp + 0x10], eax
movups xmmword [esp], xmm0
mov dword [esp + 0x14], 1
call fcn.100a6600
add esp, 0x1c
movsd xmm2, qword [ebp - 0x130]
movups xmm1, xmmword [ebp - 0x1b0]
movups xmm0, xmmword [ebp - 0x168]
movss xmm1, xmm0
addps xmm1, xmm2
movaps xmm0, xmm2
movups xmmword [ebp - 0x1b0], xmm1
movlhps xmm0, xmm1
movups xmmword [ebp - 0x190], xmm0
cmp dword [ebp - 0x34], 0
je 0x100defb4
mov edx, dword [ebp - 0x44]
mov eax, dword [edx + 0xc8]
mov ecx, dword [edx + 0xcc]
movsd xmm0, qword [edx + 0xc8]
movups xmmword [ebp - 0xb4], xmm0
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], ecx
jmp 0x100defcf
mov eax, dword [ebp - 0xe8]
movsd xmm0, qword [eax]
addps xmm0, xmm2
movups xmmword [ebp - 0xb4], xmm0
movlps qword [ebp - 0x120], xmm0
mov ecx, dword [ebp - 0x40]
cmp byte [ebp - 0xc4], 0
je 0x100defe1
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x48], eax
test cl, cl
movups xmmword [ebp - 0x70], xmm2
je 0x100df00f
mov esi, dword [ebp + 0xc]
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
add eax, esi
mov dword [ebp - 0x20], eax
movzx eax, byte [ebp - 0x3c]
or al, byte [ebp - 0x118]
je 0x100df12a
mov dword [ebp - 0x48], esi
jmp 0x100df031
movzx eax, byte [ebp - 0x3c]
or al, byte [ebp - 0x118]
cmp al, 1
movups xmm1, xmmword [ebp - 0x168]
jne 0x100df145
mov eax, dword [ebx + 8]
add eax, dword [ebp - 0x48]
mov dword [ebp - 0x20], eax
mov edi, dword [ebx + 0x14]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0xc4], 0xfffffc18
mov esi, 0
mov dword [ebp - 0xe8], 0xfffffc18
mov ecx, 0
cmp byte [ebp - 0x3c], 0
je 0x100df077
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x3c]
lea esi, [edi + eax*2]
mov ecx, 1
mov dword [ebp - 0xe8], 0xffffffff
cmp byte [ebp - 0x118], 0
je 0x100df09f
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0x40]
mov edx, dword [edx + 0x44]
cmp eax, edx
cmovl edx, eax
lea eax, [edi + edx*2]
mov dword [ebp - 0x58], eax
inc ecx
mov dword [ebp - 0xc4], 0xffffffff
mov edx, edi
mov eax, dword [ebp - 0x34]
shr eax, 0x14
add eax, ecx
xor edi, edi
mov dword [ebp - 0x38], edx
mov ecx, edx
jmp 0x100df0cb
test edx, edx
je 0x100df1d2
add ecx, 2
movzx edx, word [ecx]
cmp edx, 0xa
jne 0x100df0c0
inc edi
cmp dword [ebp - 0xe8], 0xffffffff
jne 0x100df100
mov dword [ebp - 0xe8], 0xffffffff
cmp ecx, esi
jb 0x100df100
cmp eax, 2
jl 0x100df1c4
dec eax
mov dword [ebp - 0xe8], edi
nop dword [eax + eax]
cmp dword [ebp - 0xc4], 0xffffffff
jne 0x100df0c8
mov dword [ebp - 0xc4], 0xffffffff
cmp ecx, dword [ebp - 0x58]
jb 0x100df0c8
cmp eax, 2
jl 0x100df1cc
dec eax
mov dword [ebp - 0xc4], edi
jmp 0x100df0c8
xorps xmm0, xmm0
cmp dword [ebp - 0x34], 0
movups xmm1, xmmword [ebp - 0x168]
mov ecx, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x20]
jne 0x100df151
jmp 0x100df45c
cmp dword [ebp - 0x34], 0
je 0x100df19f
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x38], eax
xor eax, eax
mov ebx, dword [ebp - 0x38]
nop word cs:[eax + eax]
movzx ecx, byte [ebx]
inc ebx
test ecx, ecx
je 0x100df170
cmp ecx, 0xa
jne 0x100df160
inc eax
jmp 0x100df160
inc eax
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
dec ebx
mov eax, dword [ebp - 0x28]
mulss xmm0, dword [eax + 0x18d4]
xor esi, esi
movlhps xmm0, xmm1
shufps xmm0, xmm1, 0xe2
cmp dword [ebp - 0x34], 0
mov ecx, dword [ebp - 0x40]
je 0x100df45c
jmp 0x100df479
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x30]
cmp dword [eax + 0x1a3c], edx
jne 0x100df443
mov ebx, dword [ebx + 8]
mov eax, dword [ebp - 0x48]
add ebx, eax
xorps xmm0, xmm0
mov dword [ebp - 0x38], eax
jmp 0x100df45c
mov dword [ebp - 0xe8], edi
jmp 0x100df1d2
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0x10], 0xffffffff
push dword [ebp - 0x38]
push esi
call fcn.100a4730
add esp, 8
mov edx, dword [0x102709d0]
mov ecx, dword [edx + 0x18d0]
movss xmm0, dword [edx + 0x18d4]
divss xmm0, dword [ecx + 0x10]
mov dword [ebp - 0xd4], ecx
add ecx, 0xc
mov dword [ebp - 0x108], ecx
xorps xmm3, xmm3
xorps xmm4, xmm4
nop word cs:[eax + eax]
cmp eax, esi
jae 0x100df274
movzx edx, word [eax]
add eax, 2
cmp edx, 0xd
je 0x100df220
cmp edx, 0xa
je 0x100df261
lea ecx, [edx*4]
mov ebx, dword [ebp - 0xd4]
add ecx, dword [ebx + 8]
mov ebx, dword [ebp - 0xd4]
cmp dword [ebx], edx
cmovle ecx, dword [ebp - 0x108]
movss xmm1, dword [ecx]
mulss xmm1, xmm0
addss xmm4, xmm1
jmp 0x100df220
movaps xmm1, xmm4
cmpless xmm1, xmm3
andps xmm3, xmm1
andnps xmm1, xmm4
orps xmm3, xmm1
jmp 0x100df210
inc edi
mov ebx, dword [ebp - 0xe8]
cmp ebx, 0xffffffff
cmove ebx, edi
mov ecx, dword [ebp - 0xc4]
cmp ecx, 0xffffffff
cmove ecx, edi
mov eax, dword [ebp - 0x28]
movss xmm5, dword [eax + 0x18d4]
xorps xmm0, xmm0
movups xmmword [ebp - 0x148], xmm0
movaps xmm0, xmm5
xorps xmm7, xmm7
xorps xmm6, xmm6
mov dword [ebp - 0xc4], ecx
test ecx, ecx
js 0x100df387
mov dword [ebp - 0x10], 0xffffffff
push dword [ebp - 0x38]
push dword [ebp - 0x58]
movups xmmword [ebp - 0xd4], xmm4
movups xmmword [ebp - 0x108], xmm5
movups xmmword [ebp - 0xe8], xmm3
call fcn.100a4730
movups xmm3, xmmword [ebp - 0xe8]
movups xmm5, xmmword [ebp - 0x108]
movups xmm4, xmmword [ebp - 0xd4]
add esp, 8
mov edx, dword [0x102709d0]
mov ecx, dword [edx + 0x18d0]
movss xmm0, dword [edx + 0x18d4]
divss xmm0, dword [ecx + 0x10]
lea edx, [ecx + 0xc]
mov dword [ebp - 0xf8], edx
xorps xmm1, xmm1
xorps xmm7, xmm7
cmp eax, dword [ebp - 0x58]
jae 0x100df369
movzx esi, word [eax]
add eax, 2
cmp esi, 0xd
je 0x100df320
cmp esi, 0xa
je 0x100df356
lea edx, [esi*4]
add edx, dword [ecx + 8]
cmp dword [ecx], esi
cmovle edx, dword [ebp - 0xf8]
movss xmm2, dword [edx]
mulss xmm2, xmm0
addss xmm7, xmm2
jmp 0x100df320
movaps xmm2, xmm7
cmpless xmm2, xmm1
andps xmm1, xmm2
andnps xmm2, xmm7
orps xmm1, xmm2
jmp 0x100df31d
xorps xmm6, xmm6
cvtsi2ss xmm6, dword [ebp - 0xc4]
maxss xmm7, xmm1
mov eax, dword [ebp - 0x28]
movss xmm0, dword [eax + 0x18d4]
mulss xmm6, xmm0
xorps xmm1, xmm1
cvtsi2ss xmm1, ebx
cmp dword [ebp - 0x34], 0
je 0x100df3a6
xorps xmm2, xmm2
cvtsi2ss xmm2, edi
mulss xmm0, xmm2
movups xmmword [ebp - 0x148], xmm0
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x24]
mov edi, dword [ebp - 0x38]
maxss xmm4, xmm3
mulss xmm5, xmm1
movups xmm0, xmmword [ebp - 0xb4]
shufps xmm0, xmm0, 0x55
movups xmmword [ebp - 0x58], xmm0
cmp byte [ebp - 0x3c], 0
movups xmmword [ebp - 0xd4], xmm4
movups xmmword [ebp - 0x108], xmm5
je 0x100df595
cmp byte [esi + 0xe64], 0
je 0x100df595
test eax, 0x1000
jne 0x100df437
movss xmm0, dword [0x101455c8]
movups xmm3, xmmword [ebp - 0x168]
mulss xmm0, xmm3
movss xmm1, dword [esi + 0x38]
ucomiss xmm1, xmm4
jbe 0x100df514
movaps xmm1, xmm4
subss xmm1, xmm0
xorps xmm0, xmm0
movaps xmm2, xmm1
cmpless xmm2, xmm0
andnps xmm2, xmm1
cvttps2dq xmm0, xmm2
jmp 0x100df528
mov dword [esi + 0x38], 0
jmp 0x100df530
mov esi, dword [ebp - 0x48]
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov ecx, dword [ebp - 0x40]
add esp, 4
mov ebx, eax
add ebx, esi
xorps xmm0, xmm0
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x20], ebx
mov edx, dword [ebp - 0x38]
sub ebx, edx
cmp ebx, 0x1fffff
jg 0x100df4fd
lea esi, [ebp - 0x190]
mov ebx, dword [ebp - 0x20]
movups xmmword [ebp - 0x158], xmm0
movzx eax, cl
mov dword [ebp - 0x10], 0xffffffff
push 0x3f800000
push eax
call fcn.100a5500
add esp, 8
mov ecx, dword [ebp - 0x44]
mov ecx, dword [ecx + 0x278]
mov edx, dword [ebp - 0x28]
movss xmm0, dword [edx + 0x18d4]
mov edx, dword [edx + 0x18d0]
sub esp, 0x20
mov dword [esp + 0x1c], esi
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x120]
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [ebp - 0x20], ebx
mov dword [esp + 0x14], ebx
mov esi, dword [ebp - 0x38]
mov dword [esp + 0x10], esi
movss dword [esp + 4], xmm0
mov dword [esp + 0x18], 0
call fcn.100bfa70
movups xmm3, xmmword [ebp - 0x158]
mov dword [ebp - 0x48], esi
mov esi, dword [ebp + 8]
jmp 0x100df9e6
mov dword [ebp - 0x48], edx
mov esi, dword [ebp + 8]
movzx ebx, byte [ebp - 0x60]
test bl, bl
jne 0x100dfaaa
jmp 0x100dfa95
movaps xmm2, xmm4
subss xmm2, xmm3
ucomiss xmm2, xmm1
jb 0x100df530
addss xmm0, xmm2
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x38], xmm0
cmp dword [ebp - 0x34], 0
je 0x100df58e
movss xmm0, dword [edx + 0x54]
movaps xmm2, xmm5
subss xmm2, dword [ecx + 0x18d4]
ucomiss xmm0, xmm2
jbe 0x100df55b
xorps xmm3, xmm3
movaps xmm1, xmm2
cmpless xmm1, xmm3
andnps xmm1, xmm2
jmp 0x100df571
movaps xmm2, xmm5
subss xmm2, dword [ebp - 0x1c0]
ucomiss xmm2, xmm0
movaps xmm1, xmm0
jb 0x100df571
movaps xmm1, xmm2
subss xmm0, xmm1
movups xmm2, xmmword [ebp - 0x58]
addss xmm2, xmm0
movups xmmword [ebp - 0x58], xmm2
movss dword [ebp - 0x11c], xmm2
movss dword [edx + 0x54], xmm1
mov byte [esi + 0xe64], 0
movss xmm0, dword [esi + 0x38]
movups xmmword [ebp - 0xe8], xmm0
cmp byte [ebp - 0x118], 0
mov ecx, dword [ebp - 0x40]
je 0x100df86e
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + 0x40]
mov esi, dword [ecx + 0x44]
cmp eax, esi
mov ebx, esi
cmovl ebx, eax
cmovg esi, eax
cmp byte [ebp - 0x3c], 0
movups xmmword [ebp - 0xf8], xmm6
movups xmmword [ebp - 0xc4], xmm7
jne 0x100df5e2
movss xmm0, dword [0x10146d20]
jmp 0x100df5ea
movss xmm0, dword [0x10141e50]
mov dword [ebp - 0x10], 0xffffffff
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], 0x2a
call fcn.100a5500
add esp, 8
mov dword [ebp - 0x1c0], eax
xorps xmm7, xmm7
cmp dword [ebp - 0x34], 0
jne 0x100df620
movss xmm7, dword [0x10141e70]
cmp ebx, esi
mov ecx, dword [ebp - 0x40]
movups xmm5, xmmword [ebp - 0x70]
movups xmm6, xmmword [ebp - 0xf8]
movups xmm4, xmmword [ebp - 0xc4]
jge 0x100df86e
xorps xmm0, xmm0
movups xmmword [ebp - 0x168], xmm0
cmp dword [ebp - 0x34], 0
jne 0x100df65c
movss xmm0, dword [0x10143a24]
movups xmmword [ebp - 0x168], xmm0
lea esi, [edi + esi*2]
lea ebx, [edi + ebx*2]
addss xmm4, dword [ebp - 0xb4]
addss xmm6, dword [ebp - 0x58]
mov eax, dword [ebp - 0x28]
movss xmm0, dword [eax + 0x18d4]
movaps xmm2, xmm5
shufps xmm2, xmm5, 0x55
movups xmm1, xmmword [ebp - 0x1b0]
shufps xmm1, xmm1, 0x55
movups xmmword [ebp - 0xc4], xmm1
movss dword [ebp - 0x38], xmm7
movups xmmword [ebp - 0x118], xmm2
jmp 0x100df734
movaps xmm2, xmm4
movups xmm3, xmmword [ebp - 0x168]
unpcklps xmm2, xmm3
unpcklps xmm1, xmm6
addps xmm1, xmm2
movaps xmm2, xmm7
subss xmm2, xmm0
unpcklps xmm4, xmm6
movq xmm3, xmm2
shufps xmm3, xmmword [0x10141190], 0xe2
addps xmm3, xmm4
movaps xmm2, xmm5
cmpleps xmm2, xmm3
andps xmm3, xmm2
andnps xmm2, xmm5
orps xmm2, xmm3
movups xmm4, xmmword [ebp - 0x1b0]
minps xmm1, xmm4
movaps xmm3, xmm2
movlhps xmm3, xmm1
movups xmmword [ebp - 0xa4], xmm3
movaps xmm3, xmm4
shufps xmm3, xmm1, 0x11
shufps xmm2, xmm5, 0x11
cmpltps xmm2, xmm3
pslld xmm2, 0x1f
movmskps eax, xmm2
cmp eax, 0xf
mov ecx, dword [ebp - 0x40]
je 0x100df817
movups xmm2, xmmword [ebp - 0x118]
addss xmm6, xmm0
movups xmm4, xmmword [ebp - 0xb4]
cmp ebx, esi
jae 0x100df86e
movups xmm1, xmmword [ebp - 0xc4]
addss xmm1, xmm0
ucomiss xmm6, xmm1
ja 0x100df86e
ucomiss xmm2, xmm6
jbe 0x100df763
nop dword [eax]
cmp ebx, esi
jae 0x100df721
lea eax, [ebx + 2]
cmp word [ebx], 0xa
mov ebx, eax
jne 0x100df750
mov ebx, eax
jmp 0x100df721
subss xmm4, dword [ebp - 0xe8]
mov ecx, dword [0x102709d0]
mov eax, dword [ecx + 0x18d0]
movss xmm2, dword [ecx + 0x18d4]
divss xmm2, dword [eax + 0x10]
lea ecx, [eax + 0xc]
xorps xmm1, xmm1
nop word [eax + eax]
cmp ebx, esi
jae 0x100df7c1
movzx edx, word [ebx]
add ebx, 2
cmp edx, 0xd
je 0x100df790
cmp edx, 0xa
je 0x100df7c6
lea edi, [edx*4]
add edi, dword [eax + 8]
cmp dword [eax], edx
cmovle edi, ecx
movss xmm3, dword [edi]
mulss xmm3, xmm2
addss xmm1, xmm3
jmp 0x100df790
xorps xmm2, xmm2
jmp 0x100df7d7
xorps xmm3, xmm3
movaps xmm2, xmm1
cmpless xmm2, xmm3
andnps xmm2, xmm1
xorps xmm1, xmm1
maxss xmm1, xmm2
xorps xmm2, xmm2
ucomiss xmm2, xmm1
jb 0x100df6a4
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x18d0]
mov ecx, dword [eax + 8]
sub ecx, 0xffffff80
lea edx, [eax + 0xc]
cmp dword [eax], 0x21
cmovge edx, ecx
movss xmm1, dword [edx]
mulss xmm1, dword [0x10141dd0]
cvttps2dq xmm1, xmm1
cvtdq2ps xmm1, xmm1
jmp 0x100df6a4
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0x278]
mov dword [ebp - 0x10], 0xffffffff
push 0xf
push 0
push dword [ebp - 0x1c0]
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0xa4]
push eax
movups xmmword [ebp - 0xf8], xmm6
call fcn.100bf150
movss xmm7, dword [ebp - 0x38]
movups xmm6, xmmword [ebp - 0xf8]
movups xmm5, xmmword [ebp - 0x70]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x28]
movss xmm0, dword [eax + 0x18d4]
jmp 0x100df71a
xor esi, esi
cmp dword [ebp - 0x34], 0
mov edi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x44]
jne 0x100df89a
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x48]
cmp eax, 0x1fffff
movups xmm3, xmmword [ebp - 0x158]
jg 0x100df929
lea esi, [ebp - 0x190]
movzx eax, cl
mov dword [ebp - 0x10], 0xffffffff
push 0x3f800000
push eax
call fcn.100a5500
add esp, 8
mov ecx, dword [ebx + 0x278]
movups xmm0, xmmword [ebp - 0xb4]
subss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0xa4], xmm0
movups xmm0, xmmword [ebp - 0x58]
movss dword [ebp - 0xa0], xmm0
movss xmm0, dword [edi + 0x18d4]
mov edx, dword [edi + 0x18d0]
sub esp, 0x20
mov dword [esp + 0x1c], esi
mov dword [esp + 0xc], eax
lea eax, [ebp - 0xa4]
mov dword [esp + 8], eax
mov dword [esp], edx
mov eax, dword [ebp - 0x20]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x48]
mov dword [esp + 0x10], eax
movss dword [esp + 4], xmm0
mov dword [esp + 0x18], 0
call fcn.100bfa70
movups xmm3, xmmword [ebp - 0x158]
movups xmm0, xmmword [ebp - 0x148]
unpcklps xmm3, xmm0
cmp byte [ebp - 0x3c], 0
mov esi, dword [ebp + 8]
je 0x100df9e3
movss xmm0, dword [edi + 0x18]
mov eax, dword [ebp - 0x24]
addss xmm0, dword [eax + 0xe60]
movss dword [eax + 0xe60], xmm0
cmp byte [edi + 0xb2], 0
movups xmm1, xmmword [ebp - 0xb4]
movups xmm2, xmmword [ebp - 0x58]
movlhps xmm2, xmm1
shufps xmm2, xmm1, 0xe2
mov al, 1
mov edi, dword [ebp + 0x1c]
je 0x100dfb72
xorps xmm1, xmm1
ucomiss xmm1, xmm0
movzx ebx, byte [ebp - 0x60]
jae 0x100dfb76
cvtss2sd xmm0, xmm0
sub esp, 0x10
movsd qword [esp], xmm0
mov dword [esp + 0xc], 0x3ff33333
mov dword [esp + 8], 0x40000000
movups xmmword [ebp - 0x158], xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll_fmod
movups xmm3, xmmword [ebp - 0x158]
add esp, 0x10
fstp dword [ebp - 0x174]
movss xmm0, dword [0x10142280]
ucomiss xmm0, dword [ebp - 0x174]
setae al
movsd xmm2, qword [ebp - 0x120]
jmp 0x100dfb76
mov edi, dword [ebp + 0x1c]
movzx ebx, byte [ebp - 0x60]
cmp dword [ebp - 0x34], 0
je 0x100dfaa6
mov eax, dword [ebp - 0x28]
movd xmm0, dword [eax + 0x18d4]
movq xmm0, xmm0
xorps xmm1, xmm1
shufps xmm0, xmm1, 0xe2
addps xmm3, xmm0
movlps qword [ebp - 0x170], xmm3
mov eax, dword [0x102709d0]
mov ecx, dword [eax + 0x1a08]
mov byte [ecx + 0x7c], 1
mov eax, dword [eax + 0x1a08]
cmp byte [eax + 0x7f], 0
mov dword [ebp - 0x10], 0xffffffff
jne 0x100dfa87
mov ecx, dword [eax + 0xc8]
mov edx, dword [eax + 0xcc]
movsd xmm0, qword [eax + 0xc8]
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0xa0], edx
addps xmm3, xmm0
movlps qword [ebp - 0x9c], xmm3
lea eax, [ebp - 0x170]
push 0xbf800000
push eax
call fcn.100b6300
add esp, 8
lea eax, [ebp - 0xa4]
push 0
push 0
push eax
call fcn.100b64d0
add esp, 0xc
call fcn.100b6070
call fcn.100b8550
test bl, bl
jne 0x100dfaaa
mov dword [ebp - 0x10], 0xffffffff
call fcn.100b75b0
mov ebx, dword [ebp - 0x5c]
jmp 0x100dfad5
test bl, bl
je 0x100dfa95
mov eax, dword [ebp - 0x28]
cmp byte [eax + 0x2de4], 0
mov ebx, dword [ebp - 0x5c]
je 0x100dfad5
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x120]
push dword [ebp - 0x20]
push dword [ebp - 0x48]
push eax
call fcn.100a5da0
add esp, 0xc
movss xmm0, dword [ebp - 0x180]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x100dfb39
movss xmm0, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x28]
addss xmm0, dword [eax + 0x1554]
movss xmm1, dword [ebp - 0x128]
addss xmm1, dword [eax + 0x1568]
mov dword [ebp - 0x10], 0xffffffff
sub esp, 0x14
mov dword [esp + 8], esi
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
call fcn.100a5bd0
add esp, 0x14
mov edx, edi
mov eax, edi
shr eax, 0x15
and eax, 1
mov ecx, ebx
xor cl, 1
or cl, al
jne 0x100dfb60
mov dword [ebp - 0x10], 0xffffffff
push dword [ebp - 0x30]
call fcn.100a8250
mov edx, edi
add esp, 4
test dl, 0x20
movzx ecx, bl
movzx eax, byte [ebp - 0x2c]
cmove eax, ecx
jmp 0x100dd44e
movzx ebx, byte [ebp - 0x60]
movups xmm4, xmmword [ebp - 0xd4]
movups xmm0, xmmword [ebp - 0x108]
unpcklps xmm4, xmm0
addps xmm4, xmm2
movaps xmm5, xmm4
shufps xmm5, xmm4, 0x55
movss xmm6, dword [0x1014db10]
addss xmm6, xmm5
mov ecx, dword [ebp - 0x28]
movss xmm0, dword [ecx + 0x18d4]
movups xmm1, xmmword [ebp - 0xe8]
unpcklps xmm1, xmm0
subps xmm4, xmm1
movaps xmm0, xmmword [0x1014db20]
addps xmm0, xmm4
movss dword [ebp - 0xa4], xmm4
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xe1
movlps qword [ebp - 0xa0], xmm1
movss dword [ebp - 0x98], xmm6
test al, al
je 0x100dfcb9
ucomiss xmm6, dword [ebp - 0x18c]
jbe 0x100dfcb9
movss xmm1, dword [ebp - 0x184]
movaps xmm2, xmm0
shufps xmm2, xmm0, 0x55
ucomiss xmm1, xmm2
jbe 0x100dfcb9
ucomiss xmm0, dword [ebp - 0x190]
jbe 0x100dfcb9
movss xmm0, dword [ebp - 0x188]
ucomiss xmm0, xmm4
jbe 0x100dfcb9
mov eax, dword [ebp - 0x44]
mov edi, dword [eax + 0x278]
mov dword [ebp - 0x10], 0xffffffff
push 0x3f800000
push 0
movups xmmword [ebp - 0x158], xmm3
movups xmmword [ebp - 0xd4], xmm4
movups xmmword [ebp - 0xc4], xmm5
movss dword [ebp - 0xe8], xmm6
call fcn.100a5500
add esp, 8
movups xmm0, xmmword [ebp - 0xd4]
movss dword [ebp - 0x170], xmm0
movss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0x16c], xmm0
lea edx, [ebp - 0x170]
lea esi, [ebp - 0xa4]
mov ecx, edi
push 0x3f800000
push eax
push edx
push esi
mov esi, dword [ebp + 8]
call fcn.100beef0
movups xmm5, xmmword [ebp - 0xc4]
movups xmm4, xmmword [ebp - 0xd4]
mov edi, dword [ebp + 0x1c]
movups xmm3, xmmword [ebp - 0x158]
test edi, 0x4000
jne 0x100df9ea
mov eax, dword [ebp - 0x28]
subss xmm5, dword [eax + 0x18d4]
addss xmm4, dword [0x10141e70]
movss dword [eax + 0x2da8], xmm4
movss dword [eax + 0x2dac], xmm5
jmp 0x100df9ea
mov eax, dword [0x102709d0]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x100dfd64
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100b5a20
add esp, 8
cmp dword [ebp - 0x34], 0
je 0x100dfd5f
test al, al
je 0x100dfd5f
mov eax, dword [ebp - 0x148]
cmp byte [eax], 0
je 0x100dfe80
mov ecx, dword [ebp - 0x44]
movss xmm0, dword [ecx + 0x54]
mov eax, dword [ebp - 0x28]
subss xmm0, dword [eax + 0x18d4]
xorps xmm1, xmm1
cmpless xmm1, xmm0
andps xmm1, xmm0
sub esp, 8
mov dword [esp], ecx
movss dword [esp + 4], xmm1
jmp 0x100dfdcc
mov dword [ebp - 0xd8], 0
jmp 0x100decf4
mov eax, dword [0x102709d0]
mov ecx, dword [eax + 0x44]
test ecx, ecx
js 0x100dfdef
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100b5a20
add esp, 8
cmp dword [ebp - 0x34], 0
je 0x100dfdea
test al, al
je 0x100dfdea
mov eax, dword [ebp - 0x148]
cmp byte [eax], 0
je 0x100dfecf
call fcn.100b8b60
fstp dword [ebp - 0x178]
mov ecx, dword [ebp - 0x44]
movss xmm0, dword [ecx + 0x54]
mov eax, dword [ebp - 0x28]
addss xmm0, dword [eax + 0x18d4]
minss xmm0, dword [ebp - 0x178]
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], ecx
call fcn.100b8b70
add esp, 8
jmp 0x100dee76
mov dword [ebp - 0xd8], 0
mov edx, ebx
jmp 0x100decf4
mov eax, dword [0x102709d0]
mov ecx, dword [eax + 0x50]
test ecx, ecx
js 0x100dfe28
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100b5a20
add esp, 8
test al, al
je 0x100dfe23
mov eax, dword [ebp - 0x148]
movzx eax, byte [eax]
add eax, eax
or eax, esi
or eax, 0x200004
jmp 0x100dee6e
mov eax, dword [0x102709d0]
mov ecx, dword [eax + 0x54]
test ecx, ecx
js 0x100dfe9b
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100b5a20
add esp, 8
test al, al
je 0x100dfe96
mov eax, dword [ebp - 0x148]
movzx eax, byte [eax]
add eax, eax
or eax, esi
or eax, 0x200005
jmp 0x100dee6e
mov edx, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x24]
cmp edi, esi
jne 0x100dec10
jmp 0x100debd6
mov edx, dword [ebp + 0x1c]
cmp edi, dword [ebp - 0x58]
jne 0x100deca0
jmp 0x100dec7a
movzx eax, byte [ebp - 0xd4]
shl eax, 2
or eax, esi
or eax, 0x200002
jmp 0x100dee6e
mov eax, dword [0x102709d0]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x100dfeea
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100b5a20
add esp, 8
test dword [ebp + 0x1c], 0x4000
jne 0x100dfee5
test al, al
je 0x100dfee5
or esi, 0x200008
mov ecx, ebx
push esi
jmp 0x100dee71
movzx eax, byte [ebp - 0xd4]
shl eax, 2
or eax, esi
or eax, 0x200003
jmp 0x100dee6e
mov eax, dword [0x102709d0]
mov ecx, dword [eax + 0x60]
test ecx, ecx
js 0x100dff5e
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100b5a20
add esp, 8
test dword [ebp + 0x1c], 0x4000
jne 0x100dff59
test al, al
je 0x100dff59
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
mov edi, dword [ebp - 0x30]
jne 0x100dff35
mov eax, 0x60000c
cmp byte [ebp - 0x108], 0
je 0x100e0159
mov ecx, ebx
push eax
call fcn.100e03d0
or esi, 0x200009
mov ecx, ebx
push esi
call fcn.100e03d0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp - 0x70]
jmp 0x100dee8a
mov eax, dword [0x102709d0]
mov ecx, dword [eax + 0x68]
test ecx, ecx
mov esi, dword [ebp - 0x148]
js 0x100dff86
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100b5a20
add esp, 8
test al, al
jne 0x100dffa3
mov eax, dword [0x102709d0]
mov ecx, dword [eax + 0x70]
test ecx, ecx
js 0x100e0004
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100b5a20
add esp, 8
test al, al
je 0x100dffff
cmp dword [ebp - 0x34], 0
je 0x100dfff1
movzx ecx, byte [esi]
movzx eax, byte [ebp - 0x70]
mov esi, dword [ebp + 0x1c]
test esi, 0x800
mov edi, dword [ebp - 0x30]
jne 0x100e00f6
test cl, cl
mov edx, 1
cmovne eax, edx
mov dword [ebp - 0x20], 0
test esi, 0x4000
jne 0x100e0259
mov edx, ecx
mov dword [ebp - 0x2c], edx
test cl, cl
je 0x100e0123
jmp 0x100dee8a
mov al, 1
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x20], 0
jmp 0x100e002d
mov eax, dword [0x102709d0]
mov eax, dword [eax + 0x6c]
test eax, eax
js 0x100e0034
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
call fcn.100b5a20
add esp, 8
test al, al
je 0x100e0034
mov al, 1
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x2c], 0
mov al, 1
jmp 0x100dee87
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x2c]
or cl, al
cmp cl, 1
jne 0x100e0066
movzx eax, al
xor eax, 0x20000b
mov dword [ebp - 0x10], 0xffffffff
mov ecx, ebx
push eax
call fcn.100e03d0
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x40], eax
jmp 0x100dee76
cmp edi, dword [ebp - 0x58]
jne 0x100e00ad
mov eax, dword [0x102709d0]
mov eax, dword [eax + 0x74]
test eax, eax
js 0x100e00ad
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
call fcn.100b5a20
add esp, 8
test al, al
je 0x100e00ad
mov dword [ebx + 0x40], 0
mov eax, dword [ebx + 4]
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0x4b], 0
mov byte [ebx + 0xe64], 1
jmp 0x100dee76
mov eax, dword [ebp - 0xb4]
or al, byte [ebp - 0xf8]
cmp al, 1
jne 0x100e019b
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0xd4], 0
je 0x100e02c6
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + 0x40]
mov ebx, dword [ecx + 0x44]
cmp eax, ebx
jne 0x100e0261
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax + 4]
mov dword [ebp - 0x10], 0xffffffff
xor edx, edx
jmp 0x100e0272
mov edx, ecx
xor dl, 1
mov dword [ebp - 0x2c], edx
test cl, cl
mov edx, 1
cmove eax, edx
mov dword [ebp - 0x20], 0
test esi, 0x4000
jne 0x100dee8a
test cl, cl
je 0x100dee8a
mov dword [ebp - 0xa4], 0xa
lea ecx, [ebp - 0xa4]
mov edx, dword [ebp + 0x1c]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
call fcn.100e1610
add esp, 8
test al, al
je 0x100dff43
mov ecx, ebx
push dword [ebp - 0xa4]
jmp 0x100dff3e
cmp byte [ebp - 0x71], 0
je 0x100dff35
mov eax, dword [ebp - 0x28]
cmp byte [eax + 0x103], 0
je 0x100dff35
mov eax, dword [ebp - 0x138]
cmp byte [eax], 0
jne 0x100dff35
mov eax, dword [ebp - 0x148]
cmp byte [eax], 0
jne 0x100dff35
mov eax, 0x600004
jmp 0x100dff2d
mov dword [ebp - 0x20], 0
cmp byte [ebp - 0xd8], 0
je 0x100e0387
mov dword [ebp - 0x10], 0xffffffff
call fcn.100a87d0
test eax, eax
je 0x100e0380
mov edi, eax
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
lea eax, [eax*2 + 2]
push eax
call fcn.100a46d0
add esp, 4
mov dword [ebp - 0xb4], eax
cmp byte [edi], 0
je 0x100e0367
mov dword [ebp - 0x58], 0
lea ebx, [ebp - 0xa4]
jmp 0x100e020d
add edi, esi
cmp byte [edi], 0
lea ebx, [ebp - 0xa4]
je 0x100e0332
push 0
push edi
push ebx
call fcn.100a40e0
add esp, 0xc
cmp dword [ebp - 0xa4], 0
je 0x100e0332
mov esi, eax
mov ecx, ebx
mov edx, dword [ebp + 0x1c]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
call fcn.100e1610
add esp, 8
test al, al
je 0x100e01fc
movzx eax, word [ebp - 0xa4]
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0x58]
mov word [ecx + edx*2], ax
inc edx
mov dword [ebp - 0x58], edx
jmp 0x100e01fc
mov dword [ebp - 0x2c], ecx
jmp 0x100dee8a
mov ecx, ebx
cmovl ecx, eax
mov edx, ecx
cmovg ebx, eax
mov dword [ebp - 0x10], 0xffffffff
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14]
lea ecx, [eax + ebx*2]
mov dword [ebp - 0x58], edx
lea eax, [eax + edx*2]
push ecx
push eax
call fcn.100a4d20
add esp, 8
mov edi, eax
inc edi
push edi
call fcn.100a46d0
add esp, 4
mov esi, eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14]
lea ecx, [eax + ebx*2]
mov edx, dword [ebp - 0x58]
lea eax, [eax + edx*2]
push ecx
push eax
push edi
push esi
call fcn.100a4c50
add esp, 0x10
push esi
call fcn.100a8800
add esp, 4
push esi
call fcn.100a4700
add esp, 4
mov dword [ebp - 0x20], 0
cmp byte [ebp - 0xf8], 0
je 0x100e0387
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x40]
mov eax, dword [eax + 0x44]
cmp ecx, eax
jne 0x100e0300
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 0x40], 0
mov eax, dword [ecx + 4]
mov dword [ecx + 0x44], eax
mov dword [ecx + 0x3c], eax
mov byte [ecx + 0x4b], 0
xor ecx, ecx
mov edx, dword [ebp - 0x24]
mov byte [edx + 0xe64], 1
mov dword [ebp - 0x20], 0
cmp ecx, eax
je 0x100e0387
mov ebx, dword [ebp - 0x24]
lea edx, [ebx + 0x3c]
mov dword [ebp - 0x10], 0xffffffff
mov ecx, ebx
call fcn.100e6660
mov byte [ebx + 0x4b], 0
jmp 0x100dee76
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x58]
mov word [eax + ecx*2], 0
test ecx, ecx
jle 0x100e0372
mov esi, dword [ebp - 0x24]
lea edx, [esi + 0x3c]
mov ecx, esi
push dword [ebp - 0x58]
push dword [ebp - 0xb4]
call fcn.100e1780
add esp, 8
mov byte [esi + 0xe64], 1
jmp 0x100e0372
mov eax, dword [ebp - 0xb4]
mov word [eax], 0
push dword [ebp - 0xb4]
call fcn.100a4700
add esp, 4
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp - 0x70]
mov edi, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x24]
jmp 0x100dee8a