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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x1ac
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x100de820
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov ebx, dword [0x102a05a0]
mov eax, dword [ebx + 0x1a08]
mov byte [eax + 0x7c], 1
mov eax, dword [ebx + 0x1a08]
cmp byte [eax + 0x7f], 0
je 0x100d41f3
xor eax, eax
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
add esp, 0x1ac
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp + 0x1c]
mov esi, dword [ebp + 8]
test ax, ax
setns cl
mov dword [ebp - 0x34], ecx
and eax, 0x100000
mov dword [ebp - 0x38], eax
je 0x100d4217
call fcn.100aecb0
mov edi, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x9c]
push 0
push esi
call fcn.1009e590
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x180]
push 0xbf800000
push 1
push 0
push esi
push eax
call fcn.1009d470
add esp, 0x14
cmp dword [ebp - 0x38], 0
je 0x100d425c
vmovss xmm0, dword [ebx + 0x18d4]
vmulss xmm0, xmm0, dword [0x10147548]
jmp 0x100d4264
vmovss xmm0, dword [ebp - 0x17c]
vmovss xmm1, dword [ebx + 0x1554]
vfmadd132ss xmm1, xmm0, dword [0x10146fcc]
vmovss dword [ebp - 0xec], xmm1
call fcn.100aeae0
vmovss xmm0, dword [edi]
vmovss xmm1, dword [edi + 4]
sub esp, 0x14
vmovss xmm2, dword [ebp - 0xec]
vmovss dword [esp + 0x10], xmm2
fstp dword [esp + 0xc]
vmovss dword [esp + 8], xmm1
vmovss dword [esp + 4], xmm0
lea eax, [ebp - 0x1b8]
mov dword [esp], eax
call fcn.100aeba0
add esp, 0x14
vmovsd xmm0, qword [ebp - 0x1b8]
vmovups xmmword [ebp - 0xec], xmm0
vmovss xmm1, dword [ebp - 0x180]
vxorps xmm0, xmm0, xmm0
vucomiss xmm1, xmm0
jbe 0x100d42e7
vaddss xmm0, xmm1, dword [ebx + 0x1568]
mov edi, dword [ebp - 0x9c]
mov eax, dword [edi + 0xc8]
mov ecx, dword [edi + 0xcc]
vmovsd xmm1, qword [edi + 0xc8]
mov dword [ebp - 0x124], ecx
mov dword [ebp - 0x1ac], ecx
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x1b0], eax
lea eax, [ebx + 0x1550]
mov dword [ebp - 0x68], eax
vmovups xmm3, xmmword [ebp - 0xec]
vmovss dword [ebp - 0x64], xmm3
vaddss xmm0, xmm3, xmm0
vaddps xmm2, xmm3, xmm1
vmovlps qword [ebp - 0x120], xmm2
vblendps xmm0, xmm0, xmm3, 2
vaddps xmm0, xmm0, xmm1
vmovlps qword [ebp - 0x1a8], xmm0
cmp dword [ebp - 0x38], 0
je 0x100d446a
lea eax, [ebp - 0x128]
lea esi, [ebp - 0x1b0]
push eax
mov edi, dword [ebp - 0x28]
push edi
push esi
call fcn.100ace10
add esp, 0xc
test al, al
je 0x100d4540
lea eax, [ebx + 0x1640]
push eax
push 3
call fcn.1009c6e0
add esp, 8
vmovss xmm0, dword [ebx + 0x1558]
sub esp, 8
vmovss dword [esp + 4], xmm0
mov dword [esp], 6
call fcn.1009c870
add esp, 8
vmovss xmm0, dword [ebx + 0x155c]
sub esp, 8
vmovss dword [esp + 4], xmm0
mov dword [esp], 7
call fcn.1009c870
add esp, 8
push dword [ebp - 0x68]
push 1
call fcn.1009c9a0
add esp, 8
vmovsd xmm0, qword [ebp - 0x128]
vmovsd xmm1, qword [ebp - 0x120]
vsubps xmm0, xmm1, xmm0
vmovlps qword [ebp - 0xcc], xmm0
lea eax, [ebp - 0xcc]
push 0x10004
push 1
push eax
push edi
push dword [ebp + 8]
call fcn.100ac670
add esp, 0x14
mov edi, ebx
mov ebx, eax
push 3
call fcn.1009cad0
add esp, 4
push 1
call fcn.1009c810
add esp, 4
test bl, bl
je 0x100d455e
mov ecx, dword [edi + 0x1a08]
mov eax, dword [ecx + 0x138]
or dword [ecx + 0x140], eax
mov dword [ebp - 0x50], ecx
vmovss xmm0, dword [ebp - 0x64]
vsubss xmm0, xmm0, dword [ecx + 0x70]
vmovss dword [ebp - 0xf0], xmm0
vmovss dword [ebp - 0x64], xmm0
mov ebx, edi
mov esi, dword [ebp - 0x28]
mov edi, dword [ebp - 0x9c]
jmp 0x100d44bd
vmovss xmm0, dword [ebx + 0x1554]
sub esp, 8
vmovss dword [esp + 4], xmm0
lea eax, [ebp - 0x1b0]
mov dword [esp], eax
call fcn.100ae870
add esp, 8
lea eax, [ebp - 0x128]
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0xf0], xmm0
push eax
mov esi, dword [ebp - 0x28]
push esi
lea eax, [ebp - 0x1b0]
push eax
call fcn.100ace10
add esp, 0xc
mov dword [ebp - 0x50], edi
test al, al
je 0x100d41dc
lea eax, [ebp - 0x128]
push esi
push eax
call fcn.1009f130
add esp, 8
mov byte [ebp - 0x20], al
test al, al
je 0x100d44de
mov dword [ebx + 0x1dac], 1
mov eax, dword [0x102a05a0]
mov edx, dword [eax + 0x1e80]
add eax, 0x1e80
xor ecx, ecx
mov dword [ebp - 0x44], edx
cmp edx, esi
mov dword [ebp - 0x88], 0
cmovne eax, ecx
mov dword [ebp - 0x24], eax
push esi
push edi
call fcn.1009f410
add esp, 8
mov byte [ebp - 0x100], al
test al, al
je 0x100d452b
cmp dword [ebx + 0x1c58], edi
je 0x100d456d
mov dword [ebp - 0x88], 0
cmp byte [ebp - 0x20], 0
je 0x100d4588
cmp byte [ebx + 0x3e0], 0
setne al
mov dword [ebp - 0x40], eax
jmp 0x100d458f
vmovss xmm0, dword [ebx + 0x1554]
sub esp, 8
vmovss dword [esp + 4], xmm0
mov dword [esp], esi
call fcn.100ae870
add esp, 8
jmp 0x100d4563
call fcn.100ac9e0
call fcn.100aee60
jmp 0x100d41dc
mov eax, dword [ebx + 0x1c60]
cmp eax, dword [edi + 0x19c]
sete al
mov dword [ebp - 0x88], eax
cmp byte [ebp - 0x20], 0
jne 0x100d4531
mov dword [ebp - 0x40], 0
mov edi, dword [ebx + 0x1a3c]
mov eax, dword [ebp - 0x28]
cmp edi, eax
jne 0x100d45a5
mov dword [ebp - 0x78], 0
jmp 0x100d45ca
mov cl, 1
mov dword [ebp - 0x78], ecx
cmp dword [ebx + 0x1b50], eax
je 0x100d45ca
mov eax, dword [ebp - 0x28]
cmp dword [ebx + 0x1b44], eax
jne 0x100d459c
cmp dword [ebx + 0x1b68], 3
sete al
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x38], 0
je 0x100d45ee
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x28]
jne 0x100d45ee
test edi, edi
je 0x100d45f9
mov dword [ebp - 0x48], 0
mov ebx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x50]
jmp 0x100d4621
mov dword [ebp - 0x48], 0
xor edx, edx
jmp 0x100d463a
mov ebx, dword [ebp - 0x2c]
mov edi, dword [ebx + 0x1a74]
mov esi, dword [ebp - 0x50]
mov ecx, esi
push 0
push str.SCROLLY
call fcn.1009e8f0
cmp edi, eax
sete al
mov dword [ebp - 0x48], eax
mov edi, dword [ebx + 0x1a3c]
mov ecx, esi
push 0
push str.SCROLLY
call fcn.1009e8f0
cmp edi, eax
sete dl
mov edi, dword [ebx + 0x1a3c]
mov esi, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x28]
cmp edi, eax
mov edi, eax
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x170], edx
jne 0x100d466f
movzx eax, byte [ebp - 0x100]
or al, byte [ebp - 0x40]
mov ecx, dword [ebp - 0x48]
or cl, byte [ebp - 0x78]
or cl, al
or cl, dl
mov dword [ebp - 0x30], 0
jmp 0x100d46dc
cmp dword [ebp - 0x38], 0
sete cl
mov eax, dword [ebp + 0x1c]
shr al, 4
mov ebx, dword [ebp - 0x78]
or al, bl
mov byte [ebp - 0xdc], cl
and al, cl
mov dword [ebp - 0x30], eax
movzx eax, byte [ebp - 0x100]
or al, byte [ebp - 0x40]
mov ecx, dword [ebp - 0x48]
or cl, bl
or cl, al
mov eax, ecx
or al, dl
cmp al, 1
jne 0x100d46da
mov dword [ebp - 0x48], ecx
mov edi, dword [ebp - 0x2c]
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 0x100d4735
mov eax, dword [edi + 0x1eac]
mov ebx, esi
jmp 0x100d47a0
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x1a3c]
cmp eax, edi
mov edx, dword [ebp + 0x1c]
jne 0x100d4708
cmp dword [ebp - 0x44], edi
mov ebx, dword [ebp - 0x24]
je 0x100d470b
mov esi, edx
mov ebx, ecx
call fcn.1009ef90
mov ecx, ebx
mov edx, esi
xor ebx, ebx
jmp 0x100d4a8a
mov ebx, dword [ebp - 0x24]
cmp eax, edi
jne 0x100d4a9b
mov eax, dword [ebp - 0x2c]
cmp byte [eax + 0x3e0], 0
sete al
or cl, al
mov eax, ecx
xor al, 1
mov dword [ebp - 0x88], eax
mov byte [ebp - 0x48], 1
jmp 0x100d4ab5
test ecx, ecx
mov ebx, esi
je 0x100d4748
mov eax, ecx
shr eax, 0x1f
add eax, ecx
sar eax, 1
add eax, ecx
jmp 0x100d474d
mov eax, 8
cmp eax, edx
mov dword [ebp - 0x24], edx
cmovle eax, edx
mov esi, eax
push eax
call fcn.1009b6d0
add esp, 4
mov edi, dword [ebp - 0x2c]
mov ecx, dword [edi + 0x1eac]
test ecx, ecx
je 0x100d4791
push dword [edi + 0x1ea4]
push ecx
push eax
mov dword [ebp - 0x44], eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push dword [edi + 0x1eac]
call fcn.1009b700
mov eax, dword [ebp - 0x44]
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 - 0xcc], 0
lea esi, [ebx + 1]
mov eax, dword [edi + 0x1e90]
cmp eax, ebx
jg 0x100d4837
test eax, eax
je 0x100d47db
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x100d47e0
mov ecx, 8
cmp ecx, esi
cmovle ecx, esi
mov dword [ebp - 0x24], ecx
lea eax, [ecx + ecx]
push eax
call fcn.1009b6d0
add esp, 4
mov edi, dword [ebp - 0x2c]
mov edx, dword [edi + 0x1e94]
test edx, edx
je 0x100d4828
mov ecx, dword [edi + 0x1e8c]
add ecx, ecx
push ecx
push edx
push eax
mov dword [ebp - 0x44], eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push dword [edi + 0x1e94]
call fcn.1009b700
mov eax, dword [ebp - 0x44]
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 0x100d488a
push 0
call fcn.1009b6d0
add esp, 4
mov esi, eax
mov eax, dword [edi + 0x1ea0]
test eax, eax
je 0x100d487a
push dword [edi + 0x1e98]
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push dword [edi + 0x1ea0]
call fcn.1009b700
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 - 0xcc]
push eax
push 0
mov esi, dword [ebp + 0x10]
push esi
push ebx
push dword [edi + 0x1e94]
call fcn.1009bb60
add esp, 0x14
mov dword [edi + 0x1e84], eax
mov ecx, dword [ebp - 0xcc]
sub ecx, esi
mov dword [edi + 0x1e88], ecx
mov edx, dword [ebp - 0x28]
cmp dword [edi + 0x1e80], edx
jne 0x100d4907
vmovq xmm0, qword [edi + 0x1ebc]
vmovd xmm1, eax
vpbroadcastd xmm1, xmm1
vpminsd xmm0, xmm0, xmm1
vmovq qword [edi + 0x1ebc], xmm0
mov ecx, dword [edi + 0x1ec4]
cmp ecx, eax
cmovl eax, ecx
mov dword [edi + 0x1ec4], eax
jmp 0x100d4977
movzx ecx, byte [ebp - 0x30]
cmp byte [ebp - 0x88], 0
mov eax, 1
cmove eax, ecx
xor ecx, ecx
cmp dword [ebp - 0x38], 0
cmove ecx, eax
mov dword [ebp - 0x30], ecx
mov dword [edi + 0x1e80], edx
vxorps xmm0, xmm0, xmm0
vmovups 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 - 0xdc]
mov byte [edi + 0x1ecc], al
mov dword [edi + 0x1ec8], 0x10000
test dword [ebp + 0x1c], 0x2000
mov ecx, dword [ebp - 0x48]
je 0x100d498d
mov eax, dword [ebp - 0x2c]
mov byte [eax + 0x1ec8], 1
cmp dword [ebp - 0x38], 0
jne 0x100d49bd
movzx eax, byte [ebp - 0x100]
xor al, 1
or al, byte [ebp - 0x88]
cmp al, 1
jne 0x100d49b8
cmp byte [ebp - 0x40], 0
je 0x100d49bd
mov eax, dword [ebp - 0x2c]
cmp byte [eax + 0x100], 0
je 0x100d49bd
mov al, 1
mov dword [ebp - 0x30], eax
mov edi, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x28]
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 0x100d4a82
mov ebx, dword [ebp - 0x9c]
push ebx
push esi
call fcn.1009eea0
add esp, 8
push ebx
push esi
call fcn.100b0550
add esp, 8
push ebx
call fcn.100a0320
add esp, 4
mov edx, dword [ebp + 0x1c]
test edx, 0x100080
mov eax, 3
mov ecx, 0xf
cmove ecx, eax
cmp dword [ebp - 0x38], 0
vpbroadcastd xmm0, dword [0x101510fc]
vpinsrd xmm0, xmm0, ecx, 0
vmovq xmm1, qword [edi + 0x1a50]
vpor xmm0, xmm1, xmm0
vmovq qword [edi + 0x1a50], xmm0
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 0x100d4a78
or eax, 1
mov dword [edi + 0x1a5c], ecx
mov dword [edi + 0x1a58], eax
mov edi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x24]
mov cl, 1
jmp 0x100d4a8a
mov edx, dword [ebp + 0x1c]
mov edi, esi
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x1a3c]
cmp eax, edi
je 0x100d4713
test ebx, ebx
setne al
and al, byte [ebp - 0x170]
mov byte [ebp - 0x48], al
mov cl, 1
mov dword [ebp - 0x88], 0
mov dword [ebp - 0xdc], ecx
test ebx, ebx
mov dword [ebp - 0x24], ebx
je 0x100d4b00
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 - 0x48]
and dl, cl
mov dword [ebp - 0x100], edx
and al, cl
cmp al, 1
jne 0x100d4b07
mov dword [ebp - 0xcc], 0
mov ecx, dword [ebp + 0x14]
lea edx, [ecx + 1]
mov eax, dword [ebx + 0x10]
cmp eax, ecx
jle 0x100d4b12
mov ecx, dword [ebx + 0x14]
jmp 0x100d4b7b
xor ecx, ecx
jmp 0x100d4bdc
mov ecx, dword [ebp - 0x100]
jmp 0x100d4bda
test eax, eax
je 0x100d4b23
mov ebx, eax
shr ebx, 0x1f
add ebx, eax
sar ebx, 1
add ebx, eax
jmp 0x100d4b28
mov ebx, 8
cmp ebx, edx
mov dword [ebp - 0x9c], edx
cmovle ebx, edx
lea eax, [ebx + ebx]
push eax
call fcn.1009b6d0
add esp, 4
mov ecx, eax
mov edi, dword [ebp - 0x24]
mov eax, dword [edi + 0x14]
test eax, eax
je 0x100d4b6a
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.1009b700
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 - 0x9c]
mov dword [ebx + 0xc], edx
lea eax, [ebp - 0xcc]
push eax
push 0
mov ebx, dword [ebp + 0x10]
push ebx
push edx
push ecx
call fcn.1009bb60
add esp, 0x14
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0xcc]
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 - 0x100]
and cl, al
mov edi, dword [ebp - 0x28]
mov edx, esi
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x40], eax
movzx eax, byte [ebp - 0x48]
or al, cl
je 0x100d4bfa
mov dword [ebp - 0x9c], 0
test ebx, ebx
jne 0x100d4c13
jmp 0x100d4c32
mov dword [ebp - 0x9c], 0
test ebx, ebx
je 0x100d4c32
mov eax, dword [ebp - 0x2c]
cmp dword [eax + 0x1a3c], edi
jne 0x100d4c32
mov eax, edx
and eax, 0x4000
mov eax, dword [ebp + 0xc]
jne 0x100d4c35
cmp byte [ebx + 0x30], 0
mov esi, edx
setne dl
mov dword [ebp - 0x9c], edx
mov edx, esi
jmp 0x100d4c35
mov eax, dword [ebp + 0xc]
test eax, eax
mov dword [ebp - 0x100], ecx
je 0x100d4c56
mov eax, dword [ebp + 0x10]
cmp byte [ebp - 0x9c], 0
je 0x100d4c4e
mov eax, dword [ebx + 0x20]
cmp byte [eax], 0
sete cl
jmp 0x100d4c58
xor ecx, ecx
test dx, dx
setns al
mov dword [ebp - 0x44], ecx
or al, cl
mov byte [ebp - 0x39], al
jne 0x100d4cf2
mov esi, dword [ebp - 0x2c]
mov ecx, dword [esi + 0x18d0]
push 0x2a
mov edi, edx
call fcn.100c1240
lea ecx, [esi + 0x2cf4]
mov edx, dword [esi + 0x18d0]
vmovss xmm0, dword [edx + 0x10]
vmovss dword [esi + 0x2d04], xmm0
vmovss xmm0, dword [edx + 0x48]
vmovss dword [esi + 0x2d3c], xmm0
vmovsd xmm0, qword [edx + 0x30]
vmovsd qword [esi + 0x2d24], xmm0
vmovss xmm0, dword [edx + 0x4c]
vmovss dword [esi + 0x2d40], xmm0
vmovss xmm0, dword [edx + 0x50]
vmovss dword [esi + 0x2d44], xmm0
mov edx, dword [edx + 0x38]
mov dword [esi + 0x2d2c], edx
mov dword [esi + 0x2d20], eax
vmovss xmm0, dword [eax + 4]
vmovss dword [esi + 0x2d00], xmm0
push ecx
call fcn.100adda0
mov edx, edi
add esp, 4
mov dword [ebp - 0x170], 0
mov edi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
cmp dword [edi + 0x1a3c], eax
vmovss xmm1, dword [ebp - 0x64]
jne 0x100d509b
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 - 0x170], edx
mov byte [edi + 0x1a49], cl
mov dword [edi + 0x3008], 1
cmp dword [ebp - 0x38], 0
mov esi, edi
je 0x100d4d7b
vmovss xmm0, dword [esi + 0xec]
mov ecx, dword [ebp - 0x50]
vsubss xmm0, xmm0, dword [ecx + 0xcc]
vsubss xmm1, xmm0, dword [esi + 0x1554]
jmp 0x100d4d8b
vmovss xmm0, dword [esi + 0x18d4]
vmulss xmm1, xmm0, dword [0x10145a98]
mov ch, byte [esi + 0xb1]
cmp byte [ebp - 0x30], 0
je 0x100d4def
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 0x100d4dcb
cmp byte [esi + 0xf0], 0
jne 0x100d4dcb
mov byte [ebx + 0xe65], 0
cmp byte [esi + 0x100], 0
vmovss xmm1, dword [ebp - 0x64]
je 0x100d4e31
movzx eax, byte [esi + 0x102]
test al, al
sete bl
test ch, ch
je 0x100d4e46
test al, al
jne 0x100d4e39
jmp 0x100d4e46
vmovss xmm0, dword [esi + 0xe8]
vsubss xmm0, xmm0, dword [ebp - 0x128]
vsubss xmm0, xmm0, dword [esi + 0x1550]
vaddss xmm0, xmm0, dword [ebx + 0x38]
test ch, ch
setne dl
mov cl, byte [ebp - 0x20]
xor cl, 1
or dl, cl
jne 0x100d4ec2
cmp byte [esi + 0x3e5], 0
jne 0x100d4d97
jmp 0x100d4ef6
test ch, ch
je 0x100d4f6b
mov eax, dword [ebp - 0x2c]
cmp byte [eax + 0x103], 0
setne bl
test dword [ebp + 0x1c], 0x400
je 0x100d4ff8
mov eax, dword [0x102a05a0]
mov eax, dword [eax + 0x34]
test eax, eax
js 0x100d4ff8
push 1
push eax
call fcn.100ac3b0
vmovss xmm1, dword [ebp - 0x64]
add esp, 8
xor al, 1
or al, bl
jne 0x100d4ff8
test dword [ebp + 0x1c], 0x4000
jne 0x100d4ff8
mov eax, dword [ebp - 0x2c]
cmp byte [eax + 0x101], 0
jne 0x100d4ff8
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0x150c]
mov eax, dword [eax + 0x1514]
lea ecx, [eax + ecx*2]
cmp eax, ecx
jae 0x100d4fb9
cmp word [eax], 9
lea eax, [eax + 2]
jne 0x100d4eac
jmp 0x100d4ff8
test ch, ch
je 0x100d4ef6
test cl, cl
jne 0x100d4ef6
cmp byte [esi + 0x3e5], 0
je 0x100d4ef6
mov byte [ebp - 0x20], ch
mov ecx, ebx
push 0x20000c
call fcn.100d7250
mov ecx, ebx
push 0x60000d
call fcn.100d7250
mov ch, byte [ebp - 0x20]
jmp 0x100d4db2
cmp byte [esi + 0x3e0], 0
je 0x100d4f08
cmp byte [ebx + 0xe65], 0
je 0x100d4f7c
test al, al
je 0x100d4db2
cmp byte [ebx + 0xe65], 0
jne 0x100d4db2
vmovss xmm3, dword [esi + 0x378]
vxorps xmm2, xmm2, xmm2
vucomiss xmm3, xmm2
jne 0x100d4f45
jp 0x100d4f45
vmovss xmm3, dword [esi + 0x37c]
vucomiss xmm3, xmm2
jne 0x100d4f45
jnp 0x100d4db2
lea edx, [ebx + 0x3c]
mov byte [ebp - 0x20], ch
mov ecx, ebx
call fcn.100d85c0
mov ch, byte [ebp - 0x20]
mov dword [ebx + 0xe60], 0xbe99999a
mov byte [ebx + 0xe64], 1
jmp 0x100d4db2
xor ebx, ebx
test dword [ebp + 0x1c], 0x400
jne 0x100d4e53
jmp 0x100d4ff8
cmp byte [ebp - 0x20], 0
je 0x100d4db2
mov byte [ebp - 0x20], ch
cmp byte [ebx + 0x4c], 0
je 0x100d4f93
vxorps xmm1, xmm1, xmm1
mov ecx, ebx
call fcn.100ddee0
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 0x100d4db2
mov dword [ebp - 0xcc], 9
mov dword [ebp - 0x10], 0xffffffff
lea ecx, [ebp - 0xcc]
mov edx, dword [ebp + 0x1c]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
call fcn.100d85f0
add esp, 8
test al, al
je 0x100d4ff3
mov ecx, dword [ebp - 0x24]
push dword [ebp - 0xcc]
call fcn.100d7250
vmovss xmm1, dword [ebp - 0x64]
mov eax, dword [ebp - 0x2c]
cmp dword [eax + 0x150c], 0
jle 0x100d5092
mov eax, dword [ebp + 0x1c]
shr eax, 0xe
and eax, 1
or bl, byte [ebp - 0x78]
or bl, al
mov ebx, dword [ebp - 0x2c]
je 0x100d5370
cmp dword [ebx + 0x1510], 0
mov edi, ebx
mov edx, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x24]
jns 0x100d5081
mov dword [ebp - 0x10], 0xffffffff
push 0
call fcn.1009b6d0
add esp, 4
mov esi, eax
mov eax, dword [edi + 0x1514]
test eax, eax
je 0x100d506e
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.1009b700
add esp, 4
mov dword [edi + 0x1514], esi
mov dword [edi + 0x1510], 0
mov edx, dword [ebp + 0x1c]
mov dword [edi + 0x150c], 0
vmovss xmm1, dword [ebp - 0x64]
jmp 0x100d509b
mov edx, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x24]
mov ecx, dword [edi + 0x1a3c]
mov dword [ebp - 0x78], 0
cmp ecx, dword [ebp - 0x28]
jne 0x100d50d0
cmp byte [edi + 0x1a48], 0
je 0x100d52ea
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov esi, dword [ebp - 0x28]
jmp 0x100d54b5
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x30], 0
mov esi, dword [ebp - 0x28]
cmp ecx, esi
jne 0x100d5d05
test edx, 0x4000
jne 0x100d52c6
mov eax, dword [ebp - 0x20]
xor al, 1
jne 0x100d52c6
mov eax, dword [ebx + 0x2c]
mov dword [ebp - 0x78], eax
push eax
push dword [ebp + 0x10]
mov edi, esi
mov esi, edx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
mov edx, esi
mov esi, edi
vmovd xmm1, dword [ebp - 0x64]
add esp, 8
test eax, eax
je 0x100d52c6
mov esi, dword [ebx + 0x24]
lea ecx, [esi - 1]
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc4], 0
xor edi, edi
mov edx, 0
mov eax, 0
cmp esi, 2
mov dword [ebp - 0x34], ecx
jl 0x100d51be
mov dword [ebp - 0x4c], esi
mov eax, dword [ebp - 0x78]
add ecx, eax
mov dword [ebp - 0x10], 1
mov dword [ebp - 0xdc], ecx
push ecx
push eax
call fcn.1009bbf0
add esp, 8
inc eax
lea ecx, [ebp - 0xcc]
push eax
call fcn.100d8550
push 0
push dword [ebp - 0xdc]
push dword [ebp - 0x78]
push dword [ebp - 0xcc]
push dword [ebp - 0xc4]
call fcn.1009bb60
add esp, 0x14
mov eax, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xc4]
mov ebx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x4c]
xor edi, edi
mov dword [ebp - 0x118], edx
dec eax
cmp esi, 2
cmovl eax, edi
mov esi, dword [ebx + 4]
lea ecx, [ebx + 0x54]
xor edx, edx
mov dword [ebp - 0xdc], eax
push eax
push esi
call fcn.100ddbe0
add esp, 8
test esi, esi
jle 0x100d5248
test eax, eax
je 0x100d5248
mov ecx, esi
and ecx, 3
xor edx, edx
cmp esi, 4
jb 0x100d5235
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 0x100d51fc
test ecx, ecx
je 0x100d5248
mov esi, dword [ebx + 0x14]
movzx esi, word [esi + edx*2]
mov word [eax + edx*2], si
inc edx
dec ecx
jne 0x100d5239
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 0x14]
mov dword [ebp - 0x138], eax
lea eax, [ecx + eax*2]
mov dword [ebp - 0x10], 1
push eax
mov dword [ebp - 0x4c], ecx
push ecx
call fcn.1009bd20
add esp, 8
mov ecx, dword [ebp - 0x24]
vmovq xmm0, qword [ecx + 4]
mov esi, dword [ebp - 0x138]
vmovd xmm1, esi
vpinsrd xmm1, xmm1, eax, 1
vpsubd xmm0, xmm0, xmm1
vmovq qword [ecx + 4], xmm0
mov edx, dword [ecx + 0x14]
movzx eax, word [edx + esi*2]
test ax, ax
je 0x100d5436
lea edx, [edx + esi*2]
add edx, 2
mov esi, dword [ebp - 0xdc]
mov edi, dword [ebp - 0x4c]
nop dword [eax + eax]
mov word [edi], ax
add edi, 2
movzx eax, word [edx]
add edx, 2
test ax, ax
jne 0x100d52b0
jmp 0x100d543f
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x34], 0
cmp byte [ebp - 0x20], 0
jne 0x100d54a2
mov dword [ebp - 0x34], 0
jmp 0x100d54b5
cmp byte [ebp - 0xdc], 0
mov esi, dword [ebp - 0x28]
je 0x100d53d9
mov eax, dword [ebp - 0x2c]
movzx esi, byte [eax + 0x101]
movzx ecx, byte [eax + 0xb1]
mov byte [ebp - 0x160], cl
test cl, cl
je 0x100d53f3
mov edi, esi
mov ecx, dword [eax + 0x380]
mov dword [ebp - 0x78], ecx
cmp ecx, 0xa
sete cl
mov dword [ebp - 0xdc], ecx
lea ecx, [eax + 0x102]
mov dword [ebp - 0x8c], ecx
lea esi, [eax + 0x100]
movzx ecx, byte [eax + 0x102]
mov byte [ebp - 0x30], cl
cmp byte [eax + 0x103], 0
mov dword [ebp - 0x138], esi
je 0x100d58f6
movzx eax, byte [esi]
or al, byte [ebp - 0x30]
sete al
mov dword [ebp - 0x4c], eax
jmp 0x100d58fd
xor edi, edi
lea esi, [ebp - 0xcc]
jmp 0x100d5396
cmp byte [ebx + 0x101], 0
je 0x100d53ab
inc edi
cmp edi, dword [ebx + 0x150c]
jge 0x100d501f
mov eax, dword [ebx + 0x1514]
movzx eax, word [eax + edi*2]
mov dword [ebp - 0xcc], eax
cmp eax, 9
je 0x100d5380
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
mov edx, dword [ebp + 0x1c]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
call fcn.100d85f0
add esp, 8
test al, al
je 0x100d5389
mov ecx, dword [ebp - 0x24]
push dword [ebp - 0xcc]
call fcn.100d7250
jmp 0x100d5389
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
jmp 0x100d54b5
lea ecx, [eax + 0x102]
mov dword [ebp - 0x8c], ecx
lea ecx, [eax + 0x100]
mov dword [ebp - 0x138], ecx
movzx ecx, byte [eax + 0x100]
mov byte [ebp - 0x30], cl
mov edi, dword [eax + 0x380]
mov ecx, 1
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0x4c], 0
jmp 0x100d5907
mov esi, dword [ebp - 0xdc]
mov edi, dword [ebp - 0x4c]
mov word [edi], 0
test esi, esi
jle 0x100d5474
mov dword [ebp - 0x10], 1
xor edx, edx
push esi
push dword [ebp - 0x118]
call fcn.100dd480
add esp, 8
test al, al
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xdc]
je 0x100d5474
mov dword [eax + 0x3c], ecx
mov byte [eax + 0x4b], 0
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x100d548e
mov dword [ebp - 0x10], 0
push eax
call fcn.1009b700
add esp, 4
cmp byte [ebp - 0x20], 0
mov edx, dword [ebp + 0x1c]
mov esi, dword [ebp - 0x28]
vmovss xmm1, dword [ebp - 0x64]
mov ebx, dword [ebp - 0x24]
je 0x100d54b5
test dl, 0x20
je 0x100d580b
cmp byte [ebp - 0x30], 0
je 0x100d580b
test edx, 0x4000
jne 0x100d5561
mov byte [ebx + 0x30], 1
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x1c]
lea edi, [ecx*4 + 1]
cmp eax, edi
jge 0x100d54ee
test eax, eax
je 0x100d54fa
mov ebx, eax
shr ebx, 0x1f
add ebx, eax
sar ebx, 1
add ebx, eax
mov dword [ebp - 0x10], 0xffffffff
jmp 0x100d54ff
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x10], 0xffffffff
jmp 0x100d5544
mov ebx, 8
cmp ebx, edi
cmovle ebx, edi
mov dword [ebp - 0x10], 0xffffffff
push ebx
call fcn.1009b6d0
add esp, 4
mov esi, dword [ebp - 0x24]
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x100d553c
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.1009b700
mov eax, dword [ebp - 0x20]
add esp, 4
mov dword [esi + 0x20], eax
mov dword [esi + 0x1c], ebx
mov ebx, esi
mov dword [ebx + 0x18], edi
push 0
push dword [ebx + 0x14]
push edi
push eax
call fcn.1009bc50
add esp, 0x10
mov esi, dword [ebp - 0x28]
vmovss xmm1, dword [ebp - 0x64]
mov edx, dword [ebp + 0x1c]
test edx, 0x1c0
je 0x100d57db
test dl, 0x40
je 0x100d55ad
mov eax, dword [0x102a05a0]
mov eax, dword [eax + 0x34]
test eax, eax
js 0x100d55ad
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
mov edi, esi
mov esi, edx
call fcn.100ac3b0
mov edx, esi
mov esi, edi
vmovss xmm1, dword [ebp - 0x64]
add esp, 8
test al, al
je 0x100d55ad
mov eax, 0x40
xor ecx, ecx
jmp 0x100d563f
test dl, dl
jns 0x100d5629
mov eax, dword [0x102a05a0]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x100d55f3
mov edi, esi
mov esi, edx
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100ac3b0
add esp, 8
test al, al
je 0x100d55e5
mov eax, 0x80
mov ecx, 3
mov edx, esi
jmp 0x100d563f
mov eax, dword [0x102a05a0]
vmovss xmm1, dword [ebp - 0x64]
mov edx, esi
mov esi, edi
mov eax, dword [eax + 0x44]
test eax, eax
js 0x100d5629
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
mov edi, esi
mov esi, edx
call fcn.100ac3b0
mov edx, esi
mov esi, edi
vmovss xmm1, dword [ebp - 0x64]
add esp, 8
test al, al
je 0x100d5629
mov eax, 0x80
mov ecx, 4
jmp 0x100d563f
test edx, 0x100
je 0x100d57db
mov eax, 0x100
mov ecx, 0x16
vpxor xmm0, xmm0, xmm0
vmovdqu ymmword [ebp - 0xc0], ymm0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xbc], ecx
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebx + 0x34]
mov dword [ebp - 0xb0], eax
mov byte [ebp - 0xac], 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
vzeroupper
call fcn.1009bd20
add esp, 8
mov edi, eax
mov dword [ebp - 0xa8], eax
mov eax, dword [ebx + 0x40]
lea eax, [esi + eax*2]
push eax
push esi
call fcn.1009bd20
add esp, 8
mov dword [ebp - 0x20], eax
mov dword [ebp - 0xa4], eax
mov eax, dword [ebx + 0x44]
lea eax, [esi + eax*2]
push eax
push esi
call fcn.1009bd20
add esp, 8
mov esi, eax
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0xcc]
push eax
call dword [ebp + 0x20]
add esp, 4
mov eax, dword [ebp - 0xa8]
cmp eax, edi
je 0x100d571e
mov ecx, dword [ebp - 0xb8]
add eax, ecx
push eax
push ecx
call fcn.1009bbf0
add esp, 8
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 0x3c], eax
mov byte [ecx + 0xe64], 1
mov eax, dword [ebp - 0xa4]
cmp eax, dword [ebp - 0x20]
je 0x100d5741
mov ecx, dword [ebp - 0xb8]
add eax, ecx
push eax
push ecx
call fcn.1009bbf0
add esp, 8
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 0xa0]
cmp eax, esi
mov edx, dword [ebp + 0x1c]
mov esi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x24]
je 0x100d5771
mov ecx, dword [ebp - 0xb8]
add eax, ecx
push eax
push ecx
mov edi, esi
mov esi, edx
call fcn.1009bbf0
mov edx, esi
mov esi, edi
add esp, 8
mov dword [ebx + 0x44], eax
cmp byte [ebp - 0xac], 0
vmovss xmm1, dword [ebp - 0x64]
je 0x100d57db
mov edi, esi
mov esi, edx
test edx, 0x40000
je 0x100d57a4
mov eax, dword [ebp - 0xb4]
sub eax, dword [ebp - 0x170]
jle 0x100d57a4
lea ecx, [ebx + 0xc]
add eax, dword [ecx]
push eax
call fcn.100d8550
push 0
push 0
push dword [ebp - 0xb8]
push dword [ebx + 0xc]
push dword [ebx + 0x14]
call fcn.1009bb60
add esp, 0x14
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0xb4]
mov dword [ebx + 8], eax
mov dword [ebx + 0xe60], 0xbe99999a
vmovss xmm1, dword [ebp - 0x64]
mov edx, esi
mov esi, edi
test edx, 0x4000
jne 0x100d580b
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 0x100d5801
mov eax, dword [ebx + 8]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x78], esi
vmovss xmm1, dword [ebp - 0x64]
mov edx, edi
mov esi, dword [ebp - 0x28]
cmp dword [ebp - 0x78], 0
setne al
mov dword [ebp - 0x4c], eax
je 0x100d58d3
mov dword [ebp - 0x10], 0xffffffff
test edx, 0x40000
jne 0x100d5837
mov esi, edx
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0x14]
mov edi, dword [ebp - 0x34]
jmp 0x100d58b3
vpxor xmm0, xmm0, xmm0
vmovdqu ymmword [ebp - 0xc0], ymm0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0xcc], 0x40000
mov esi, edx
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0xb4], ecx
inc ecx
mov eax, dword [ebp + 0x14]
cmp eax, ecx
cmovg ecx, eax
mov dword [ebp - 0xb0], ecx
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0xc4], eax
lea eax, [ebp - 0xcc]
push eax
vzeroupper
call dword [ebp + 0x20]
add esp, 4
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xb0]
lea edi, [edx - 1]
cmp eax, edi
cmovl edi, eax
inc edi
cmp edi, edx
cmovge edi, edx
push edi
push dword [ebp - 0x78]
mov dword [ebp - 0x54], ecx
push ecx
call fcn.1009b6a0
add esp, 0xc
vmovss xmm1, dword [ebp - 0x64]
mov edx, esi
mov esi, dword [ebp - 0x28]
mov dword [ebx + 0xe68], 0
mov dword [ebx + 0xe6c], 0
mov dword [ebx + 0xe70], 0
jmp 0x100d5d0c
mov dword [ebp - 0x4c], 0
mov ecx, 8
mov esi, edi
mov edi, dword [ebp - 0x78]
cmp edi, ecx
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x20], ecx
jne 0x100d5975
mov eax, dword [0x102a05a0]
mov eax, dword [eax + 0x80]
test eax, eax
js 0x100d5975
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
mov edi, esi
mov esi, edx
call fcn.100ac3b0
mov ecx, dword [ebp - 0x20]
mov edx, esi
mov esi, edi
mov edi, dword [ebp - 0x78]
add esp, 8
test al, al
je 0x100d5975
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 - 0x118], ecx
test al, al
jne 0x100d6d41
cmp dword [ebp - 0x38], 0
mov ecx, dword [ebp - 0x20]
jne 0x100d59d6
jmp 0x100d59f9
cmp edi, 2
jne 0x100d59eb
mov eax, dword [0x102a05a0]
mov eax, dword [eax + 0x5c]
test eax, eax
js 0x100d59eb
test dx, dx
sets byte [ebp - 0x118]
mov ebx, edx
shr ebx, 0xe
and ebx, 1
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
call fcn.100ac3b0
add esp, 8
xor al, 1
or al, byte [ebp - 0x118]
or al, bl
mov ecx, eax
xor cl, 1
mov dword [ebp - 0x118], ecx
test al, al
jne 0x100d6ccc
cmp dword [ebp - 0x38], 0
mov edx, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
je 0x100d59f5
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
setne al
mov dword [ebp - 0x118], eax
cmp edi, ecx
jne 0x100d5a43
jmp 0x100d59f9
mov dword [ebp - 0x118], 0
cmp edi, ecx
jne 0x100d5a43
mov eax, dword [0x102a05a0]
mov eax, dword [eax + 0x78]
test eax, eax
js 0x100d5a43
mov edi, esi
mov esi, edx
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
call fcn.100ac3b0
add esp, 8
test al, al
je 0x100d5a39
mov edx, esi
mov eax, esi
and eax, 0x108000
cmp eax, 0x100000
mov esi, edi
mov edi, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x20]
je 0x100d5a88
jmp 0x100d5aa5
mov edx, esi
mov esi, edi
mov edi, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x20]
cmp edi, 1
jne 0x100d5a9a
mov eax, dword [0x102a05a0]
mov eax, dword [eax + 0x58]
test eax, eax
js 0x100d5a9a
test dx, dx
setns bl
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
call fcn.100ac3b0
add esp, 8
and al, bl
cmp dword [ebp - 0x38], 0
mov dword [ebp - 0x34], eax
je 0x100d6ce2
test al, al
mov edx, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
je 0x100d5aa1
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
setne al
mov dword [ebp - 0x34], eax
cmp edi, ecx
jne 0x100d5ad5
jmp 0x100d5aa5
mov dword [ebp - 0x34], 0
cmp edi, ecx
jne 0x100d5ad5
mov eax, dword [0x102a05a0]
mov eax, dword [eax + 0x7c]
test eax, eax
js 0x100d5ad5
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
mov edi, esi
mov esi, edx
call fcn.100ac3b0
mov ecx, dword [ebp - 0x20]
mov edx, esi
mov esi, edi
mov edi, dword [ebp - 0x78]
add esp, 8
test al, al
jne 0x100d5b07
cmp edi, 2
jne 0x100d5b20
mov eax, dword [0x102a05a0]
mov eax, dword [eax + 0x58]
test eax, eax
js 0x100d5b20
mov ebx, edx
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
call fcn.100ac3b0
add esp, 8
test al, al
je 0x100d5bac
mov edx, ebx
mov ecx, dword [ebp - 0x20]
test edx, 0x4000
sete al
mov dword [ebp - 0x150], eax
cmp edi, ecx
jne 0x100d5bc3
jmp 0x100d5b32
mov dword [ebp - 0x150], 0
cmp edi, ecx
jne 0x100d5bc3
mov edi, dword [0x102a05a0]
mov ecx, dword [edi + 0x88]
test ecx, ecx
js 0x100d5b64
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
mov edi, esi
mov esi, edx
call fcn.100ac3b0
mov edx, esi
mov esi, edi
add esp, 8
mov edi, dword [0x102a05a0]
jmp 0x100d5b66
xor eax, eax
test edx, 0x10000
sete cl
test edx, 0x4000
sete bl
and al, bl
and al, cl
mov dword [ebp - 0x190], eax
mov eax, dword [edi + 0x84]
test eax, eax
js 0x100d5ba7
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
call fcn.100ac3b0
add esp, 8
test al, al
mov edi, dword [ebp - 0x78]
je 0x100d5bcd
jmp 0x100d5c07
mov edi, dword [ebp - 0x78]
jmp 0x100d5bcd
mov dword [ebp - 0x150], 0
mov edx, ebx
mov ecx, dword [ebp - 0x20]
cmp edi, ecx
je 0x100d5b32
mov dword [ebp - 0x190], 0
cmp byte [ebp - 0xdc], 0
je 0x100d5c19
mov eax, dword [0x102a05a0]
mov eax, dword [eax + 0x88]
test eax, eax
mov ebx, dword [ebp + 0x1c]
js 0x100d5c19
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
call fcn.100ac3b0
add esp, 8
test al, al
je 0x100d5c19
test ebx, 0x4000
sete bl
mov eax, dword [ebp + 0x1c]
test eax, 0x10000
sete al
and al, bl
mov dword [ebp - 0x78], eax
jmp 0x100d5c20
mov dword [ebp - 0x78], 0
mov ebx, dword [ebp - 0x24]
shl esi, 0x16
mov eax, dword [0x102a05a0]
mov ecx, dword [eax + 0x38]
test ecx, ecx
js 0x100d5c69
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100ac3b0
add esp, 8
test al, al
je 0x100d5c64
cmp byte [ebp - 0x30], 0
mov eax, 0x200000
mov ecx, 0x20000c
cmove ecx, eax
cmp byte [ebp - 0x4c], 0
mov eax, 0x200004
jmp 0x100d5ca8
mov eax, dword [0x102a05a0]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
js 0x100d6b84
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100ac3b0
add esp, 8
test al, al
je 0x100d6b7f
cmp byte [ebp - 0x30], 0
mov eax, 0x200001
mov ecx, 0x20000d
cmove ecx, eax
cmp byte [ebp - 0x4c], 0
mov eax, 0x200005
cmove eax, ecx
or eax, esi
mov ecx, ebx
push eax
call fcn.100d7250
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x30], 0
mov eax, dword [ebp - 0x88]
mov esi, dword [ebp - 0x28]
vmovss xmm1, dword [ebp - 0x64]
mov ecx, dword [ebx + 0x40]
cmp ecx, dword [ebx + 0x44]
movzx ecx, byte [ebp - 0x100]
movzx edx, byte [ebp - 0x48]
cmove edx, ecx
mov dword [ebp - 0x100], edx
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ecx + 0x1a3c]
mov dword [ebp - 0x88], eax
mov edx, dword [ebp + 0x1c]
cmp ecx, esi
je 0x100d50e9
mov dword [ebp - 0x4c], 0
cmp byte [ebp - 0x88], 0
mov edi, edx
je 0x100d5d33
mov eax, dword [ebp - 0x2c]
cmp dword [eax + 0x1a3c], esi
jne 0x100d5d33
mov dword [ebp - 0x10], 0xffffffff
call fcn.1009ef90
vmovss xmm1, dword [ebp - 0x64]
cmp dword [ebp - 0x38], 0
jne 0x100d5da5
mov dword [ebp - 0x10], 0xffffffff
push 1
push esi
lea eax, [ebp - 0x128]
push eax
call fcn.1009dc00
add esp, 0xc
mov eax, dword [ebp - 0x2c]
vmovss xmm0, dword [eax + 0x1558]
vmovss dword [ebp - 0x78], xmm0
push 0x3f800000
push 7
call fcn.1009c4d0
add esp, 8
vmovdqu xmm0, xmmword [ebp - 0x128]
sub esp, 0x1c
vmovss xmm1, dword [ebp - 0x78]
vmovss dword [esp + 0x18], xmm1
mov dword [esp + 0x10], eax
vmovdqu xmmword [esp], xmm0
mov dword [esp + 0x14], 1
call fcn.1009d5f0
vmovss xmm1, dword [ebp - 0x64]
add esp, 0x1c
vmovsd xmm2, qword [ebp - 0x128]
vmovshdup xmm3, xmm2
vmovshdup xmm0, xmmword [ebp - 0xec]
vmovups xmmword [ebp - 0x190], xmm0
vaddss xmm4, xmm0, xmm3
vaddss xmm0, xmm1, xmm2
vmovsd qword [ebp - 0x1a0], xmm2
vmovups xmmword [ebp - 0x170], xmm0
vmovss dword [ebp - 0x198], xmm0
vmovss dword [ebp - 0x194], xmm4
cmp dword [ebp - 0x38], 0
je 0x100d5e21
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx + 0xc8]
mov ecx, dword [ecx + 0xcc]
mov dword [ebp - 0x104], ecx
mov dword [ebp - 0x108], eax
vmovd xmm0, ecx
vmovdqu xmmword [ebp - 0xdc], xmm0
vmovd xmm0, eax
vmovdqu xmmword [ebp - 0x78], xmm0
jmp 0x100d5e45
mov eax, dword [ebp - 0x68]
vmovsd xmm0, qword [eax]
vaddps xmm0, xmm2, xmm0
vmovlps qword [ebp - 0x108], xmm0
vmovups xmmword [ebp - 0x78], xmm0
vmovshdup xmm0, xmm0
vmovups xmmword [ebp - 0xdc], xmm0
mov ecx, dword [ebp - 0x44]
cmp byte [ebp - 0x9c], 0
je 0x100d5e57
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x54], eax
test cl, cl
vmovups xmmword [ebp - 0x138], xmm3
vmovups xmmword [ebp - 0x118], xmm4
vmovups xmmword [ebp - 0x88], xmm2
je 0x100d5e98
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 - 0x34], eax
movzx eax, byte [ebp - 0x48]
or al, byte [ebp - 0x100]
je 0x100d5f2d
mov edx, esi
jmp 0x100d5eb5
movzx eax, byte [ebp - 0x48]
or al, byte [ebp - 0x100]
cmp al, 1
jne 0x100d5f4f
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 0x54]
add eax, edx
mov dword [ebp - 0x34], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x9c], 0xfffffc18
mov esi, 0
mov dword [ebp - 0xec], 0xfffffc18
mov ecx, 0
cmp byte [ebp - 0x48], 0
je 0x100d5efe
mov eax, dword [ebx + 0x3c]
mov ecx, dword [ebp - 0x20]
lea esi, [ecx + eax*2]
mov ecx, 1
mov dword [ebp - 0xec], 0xffffffff
cmp byte [ebp - 0x100], 0
mov dword [ebp - 0x54], edx
je 0x100d5f84
mov eax, dword [ebx + 0x40]
mov edx, dword [ebx + 0x44]
cmp eax, edx
cmovl edx, eax
mov ebx, dword [ebp - 0x20]
lea eax, [ebx + edx*2]
mov edx, ebx
mov dword [ebp - 0x68], eax
inc ecx
mov dword [ebp - 0x9c], 0xffffffff
jmp 0x100d5f87
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0xec], xmm0
cmp dword [ebp - 0x38], 0
vmovss xmm1, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x34]
jne 0x100d5f5f
jmp 0x100d62cb
cmp dword [ebp - 0x38], 0
je 0x100d6037
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x40], eax
xor eax, eax
mov ebx, dword [ebp - 0x40]
nop word cs:[eax + eax]
movzx ecx, byte [ebx]
inc ebx
test ecx, ecx
je 0x100d6006
cmp ecx, 0xa
jne 0x100d5f70
inc eax
jmp 0x100d5f70
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
shr eax, 0x14
add eax, ecx
xor ebx, ebx
mov ecx, edx
jmp 0x100d5fab
test edx, edx
je 0x100d6070
add ecx, 2
movzx edx, word [ecx]
cmp edx, 0xa
jne 0x100d5fa0
inc ebx
cmp dword [ebp - 0xec], 0xffffffff
jne 0x100d5fe0
mov dword [ebp - 0xec], 0xffffffff
cmp ecx, esi
jb 0x100d5fe0
cmp eax, 2
jl 0x100d6062
dec eax
mov dword [ebp - 0xec], ebx
nop dword [eax + eax]
cmp dword [ebp - 0x9c], 0xffffffff
jne 0x100d5fa8
mov dword [ebp - 0x9c], 0xffffffff
cmp ecx, dword [ebp - 0x68]
jb 0x100d5fa8
cmp eax, 2
jl 0x100d606a
dec eax
mov dword [ebp - 0x9c], ebx
jmp 0x100d5fa8
inc eax
dec ebx
xor esi, esi
vcvtsi2ss xmm0, xmm5, eax
mov eax, dword [ebp - 0x2c]
vmulss xmm0, xmm0, dword [eax + 0x18d4]
vmovss dword [ebp - 0xec], xmm0
vmovaps xmm0, xmm1
cmp dword [ebp - 0x38], 0
mov ecx, dword [ebp - 0x44]
je 0x100d62cb
jmp 0x100d62ec
mov eax, dword [ebp - 0x2c]
cmp dword [eax + 0x1a3c], esi
jne 0x100d62a9
mov ebx, dword [ebx + 8]
mov eax, dword [ebp - 0x54]
add ebx, eax
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0xec], xmm0
mov dword [ebp - 0x40], eax
jmp 0x100d62cb
mov dword [ebp - 0xec], ebx
jmp 0x100d6070
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x10], 0xffffffff
push dword [ebp - 0x20]
push esi
call fcn.1009b730
add esp, 8
mov edx, dword [0x102a05a0]
mov ecx, dword [edx + 0x18d0]
vmovss xmm0, dword [edx + 0x18d4]
vdivss xmm0, xmm0, dword [ecx + 0x10]
mov dword [ebp - 0x40], ecx
add ecx, 0xc
mov dword [ebp - 0x160], ecx
vxorps xmm4, xmm4, xmm4
vxorps xmm7, xmm7, xmm7
cmp eax, esi
jae 0x100d60f4
movzx edx, word [eax]
add eax, 2
cmp edx, 0xd
je 0x100d60b0
cmp edx, 0xa
je 0x100d60e7
lea ecx, [edx*4]
mov edi, dword [ebp - 0x40]
add ecx, dword [edi + 8]
mov edi, dword [ebp - 0x40]
cmp dword [edi], edx
cmovle ecx, dword [ebp - 0x160]
vmulss xmm1, xmm0, dword [ecx]
vaddss xmm7, xmm7, xmm1
jmp 0x100d60b0
vcmpless xmm1, xmm7, xmm4
vblendvps xmm4, xmm7, xmm4, xmm1
jmp 0x100d60ac
inc ebx
mov edi, dword [ebp - 0xec]
cmp edi, 0xffffffff
cmove edi, ebx
mov ecx, dword [ebp - 0x9c]
cmp ecx, 0xffffffff
cmove ecx, ebx
mov eax, dword [ebp - 0x2c]
vmovss xmm1, dword [eax + 0x18d4]
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0xec], xmm0
vmovss dword [ebp - 0x40], xmm1
vmovaps xmm0, xmm1
vxorps xmm5, xmm5, xmm5
vxorps xmm6, xmm6, xmm6
mov dword [ebp - 0x9c], ecx
test ecx, ecx
js 0x100d620e
mov dword [ebp - 0x10], 0xffffffff
push dword [ebp - 0x20]
push dword [ebp - 0x68]
vmovups xmmword [ebp - 0x160], xmm4
vmovups xmmword [ebp - 0x150], xmm7
call fcn.1009b730
vmovups xmm7, xmmword [ebp - 0x150]
vmovups xmm4, xmmword [ebp - 0x160]
add esp, 8
mov edx, dword [0x102a05a0]
mov ecx, dword [edx + 0x18d0]
vmovss xmm0, dword [edx + 0x18d4]
vdivss xmm1, xmm0, dword [ecx + 0x10]
lea edx, [ecx + 0xc]
mov dword [ebp - 0x8c], edx
vxorps xmm0, xmm0, xmm0
vxorps xmm2, xmm2, xmm2
nop word cs:[eax + eax]
cmp eax, dword [ebp - 0x68]
jae 0x100d61ef
movzx esi, word [eax]
add eax, 2
cmp esi, 0xd
je 0x100d61b0
cmp esi, 0xa
je 0x100d61e2
lea edx, [esi*4]
add edx, dword [ecx + 8]
cmp dword [ecx], esi
cmovle edx, dword [ebp - 0x8c]
vmulss xmm3, xmm1, dword [edx]
vaddss xmm2, xmm2, xmm3
jmp 0x100d61b0
vcmpless xmm3, xmm2, xmm0
vblendvps xmm0, xmm2, xmm0, xmm3
jmp 0x100d619e
vxorps xmm5, xmm5, xmm5
vcvtsi2ss xmm1, xmm5, dword [ebp - 0x9c]
vmaxss xmm5, xmm2, xmm0
mov eax, dword [ebp - 0x2c]
vmovss xmm0, dword [eax + 0x18d4]
vmulss xmm6, xmm0, xmm1
vcvtsi2ss xmm1, xmm7, edi
cmp dword [ebp - 0x38], 0
je 0x100d6228
vcvtsi2ss xmm2, xmm7, ebx
vmulss xmm0, xmm0, xmm2
vmovss dword [ebp - 0xec], xmm0
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x20]
vmaxss xmm3, xmm7, xmm4
vmulss xmm4, xmm1, dword [ebp - 0x40]
cmp byte [ebp - 0x48], 0
vmovss dword [ebp - 0x20], xmm3
vmovss dword [ebp - 0x40], xmm4
je 0x100d640d
cmp byte [edx + 0xe64], 0
je 0x100d640d
test eax, 0x1000
jne 0x100d629a
vmovss xmm2, dword [ebp - 0x64]
vmulss xmm0, xmm2, dword [0x10148a90]
vmovss xmm1, dword [edx + 0x38]
vucomiss xmm1, xmm3
mov eax, dword [ebp - 0x2c]
jbe 0x100d6388
vsubss xmm0, xmm3, xmm0
vxorps xmm1, xmm1, xmm1
vcmpless xmm1, xmm0, xmm1
vandnps xmm0, xmm1, xmm0
jmp 0x100d6396
mov dword [edx + 0x38], 0
mov eax, dword [ebp - 0x2c]
jmp 0x100d63a3
mov esi, dword [ebp - 0x54]
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov ecx, dword [ebp - 0x44]
add esp, 4
mov ebx, eax
add ebx, esi
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0xec], xmm0
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x34], ebx
mov edx, dword [ebp - 0x40]
sub ebx, edx
cmp ebx, 0x1fffff
jg 0x100d6371
lea esi, [ebp - 0x1a0]
vmovaps xmm1, xmm0
mov ebx, dword [ebp - 0x34]
vmovss dword [ebp - 0x64], xmm1
movzx eax, cl
mov dword [ebp - 0x10], 0xffffffff
push 0x3f800000
push eax
call fcn.1009c4d0
add esp, 8
mov ecx, dword [ebp - 0x50]
mov ecx, dword [ecx + 0x278]
mov edx, dword [ebp - 0x2c]
vmovss 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 - 0x108]
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [ebp - 0x34], ebx
mov dword [esp + 0x14], ebx
mov esi, dword [ebp - 0x40]
mov dword [esp + 0x10], esi
vmovss dword [esp + 4], xmm0
mov dword [esp + 0x18], 0
call fcn.100b61d0
mov dword [ebp - 0x54], esi
vmovss xmm0, dword [ebp - 0x64]
vmovss dword [ebp - 0xf0], xmm0
jmp 0x100d6879
mov dword [ebp - 0x54], edx
mov esi, dword [ebp + 8]
movzx ebx, byte [ebp - 0x39]
test bl, bl
jne 0x100d695d
jmp 0x100d6948
vsubss xmm2, xmm3, xmm2
vucomiss xmm2, xmm1
jb 0x100d63a3
vaddss xmm0, xmm0, xmm2
vcvttps2dq xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vmovss dword [edx + 0x38], xmm0
cmp dword [ebp - 0x38], 0
je 0x100d6406
vmovss xmm0, dword [ecx + 0x54]
vsubss xmm1, xmm4, dword [eax + 0x18d4]
vucomiss xmm0, xmm1
jbe 0x100d63cb
vxorps xmm2, xmm2, xmm2
vcmpless xmm2, xmm1, xmm2
vandnps xmm1, xmm2, xmm1
jmp 0x100d63e1
vsubss xmm2, xmm4, dword [ebp - 0x190]
vucomiss xmm2, xmm0
vmovaps xmm1, xmm0
jb 0x100d63e1
vmovaps xmm1, xmm2
vsubss xmm0, xmm0, xmm1
vmovups xmm2, xmmword [ebp - 0xdc]
vaddss xmm2, xmm2, xmm0
vmovups xmmword [ebp - 0xdc], xmm2
vmovss dword [ebp - 0x104], xmm2
vmovss dword [ecx + 0x54], xmm1
mov byte [edx + 0xe64], 0
mov ecx, dword [ebp - 0x44]
vmovss xmm0, dword [edx + 0x38]
vmovss dword [ebp - 0x9c], xmm0
cmp byte [ebp - 0x100], 0
je 0x100d671f
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 - 0x48], 0
vmovss dword [ebp - 0x150], xmm5
vmovss dword [ebp - 0x8c], xmm6
jne 0x100d645d
vmovss xmm0, dword [0x1014a1f0]
jmp 0x100d6465
vmovss xmm0, dword [0x10144ae0]
mov dword [ebp - 0x10], 0xffffffff
sub esp, 8
vmovss dword [esp + 4], xmm0
mov dword [esp], 0x2a
call fcn.1009c4d0
add esp, 8
mov dword [ebp - 0x160], eax
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x68], xmm0
cmp dword [ebp - 0x38], 0
jne 0x100d64a6
vmovss xmm0, dword [0x10145a68]
vmovss dword [ebp - 0x68], xmm0
cmp ebx, esi
mov ecx, dword [ebp - 0x44]
vmovups xmm5, xmmword [ebp - 0x138]
vmovups xmm6, xmmword [ebp - 0x118]
vmovss xmm1, dword [ebp - 0x150]
vmovss xmm3, dword [ebp - 0x8c]
jge 0x100d671f
vxorps xmm0, xmm0, xmm0
vmovups xmmword [ebp - 0x64], xmm0
cmp dword [ebp - 0x38], 0
vmovups xmm2, xmmword [ebp - 0x88]
jne 0x100d64f5
vmovss xmm0, dword [0x10146fcc]
vmovups xmmword [ebp - 0x64], xmm0
lea esi, [edi + esi*2]
lea ebx, [edi + ebx*2]
vaddss xmm1, xmm1, dword [ebp - 0x78]
vaddss xmm4, xmm3, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x2c]
vmovss xmm0, dword [eax + 0x18d4]
vinsertps xmm2, xmm2, dword [ebp - 0x170], 0x20
vinsertps xmm2, xmm2, xmm6, 0x30
vmovups xmmword [ebp - 0x100], xmm2
jmp 0x100d65d5
vmovss xmm3, dword [ebp - 0x68]
vsubss xmm3, xmm3, xmm0
vblendps xmm3, xmm3, xmmword [0x10147180], 0xe
vinsertps xmm1, xmm1, xmm4, 0x10
vinsertps xmm1, xmm1, dword [ebp - 0x64], 0x30
vshufps xmm1, xmm1, xmm1, 0xc4
vinsertps xmm2, xmm2, xmm4, 0x1c
vshufps xmm2, xmm3, xmm2, 0x41
vaddps xmm1, xmm1, xmm2
vmovups xmm7, xmmword [ebp - 0x100]
vcmpleps xmm2, xmm7, xmm1
vcmpltps xmm3, xmm1, xmm7
vblendps xmm2, xmm3, xmm2, 3
vblendvps xmm1, xmm7, xmm1, xmm2
vmovups xmmword [ebp - 0xcc], xmm1
vshufps xmm2, xmm6, xmm1, 0xb4
vinsertps xmm2, xmm2, dword [ebp - 0x170], 0x10
vshufps xmm1, xmm1, xmm5, 0xc1
vinsertps xmm1, xmm1, dword [ebp - 0x88], 0x30
vcmpltps xmm1, xmm1, xmm2
vpslld xmm1, xmm1, 0x1f
vtestps xmm1, xmmword [0x10147210]
mov ecx, dword [ebp - 0x44]
jb 0x100d66bf
vaddss xmm4, xmm4, xmm0
vmovups xmm1, xmmword [ebp - 0x78]
cmp ebx, esi
jae 0x100d671f
vaddss xmm2, xmm6, xmm0
vucomiss xmm4, xmm2
ja 0x100d671f
vucomiss xmm5, xmm4
jbe 0x100d6603
nop dword [eax]
cmp ebx, esi
jae 0x100d65c4
lea eax, [ebx + 2]
cmp word [ebx], 0xa
mov ebx, eax
jne 0x100d65f0
mov ebx, eax
jmp 0x100d65c4
vsubss xmm1, xmm1, dword [ebp - 0x9c]
mov ecx, dword [0x102a05a0]
mov eax, dword [ecx + 0x18d0]
vmovss xmm2, dword [ecx + 0x18d4]
vdivss xmm3, xmm2, dword [eax + 0x10]
lea ecx, [eax + 0xc]
vxorps xmm2, xmm2, xmm2
nop dword [eax + eax]
cmp ebx, esi
jae 0x100d6665
movzx edx, word [ebx]
add ebx, 2
cmp edx, 0xd
je 0x100d6630
cmp edx, 0xa
je 0x100d666b
lea edi, [edx*4]
add edi, dword [eax + 8]
cmp dword [eax], edx
cmovle edi, ecx
vmovaps xmm7, xmm4
vmulss xmm4, xmm3, dword [edi]
vaddss xmm2, xmm2, xmm4
vmovaps xmm4, xmm7
jmp 0x100d6630
vxorps xmm3, xmm3, xmm3
jmp 0x100d667c
vxorps xmm3, xmm3, xmm3
vcmpless xmm3, xmm2, xmm3
vandnps xmm3, xmm3, xmm2
vxorps xmm2, xmm2, xmm2
vmaxss xmm2, xmm2, xmm3
vxorps xmm3, xmm3, xmm3
vucomiss xmm3, xmm2
jb 0x100d6530
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x18d0]
mov ecx, dword [eax + 8]
sub ecx, 0xffffff80
lea edx, [eax + 0xc]
cmp dword [eax], 0x21
cmovge edx, ecx
vmovss xmm2, dword [0x10145a98]
vmulss xmm2, xmm2, dword [edx]
vcvttps2dq xmm2, xmm2
vcvtdq2ps xmm2, xmm2
jmp 0x100d6530
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x278]
mov dword [ebp - 0x10], 0xffffffff
push 0xf
push 0
push dword [ebp - 0x160]
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0xcc]
push eax
vmovups xmmword [ebp - 0x190], xmm4
call fcn.100b5050
vmovups xmm4, xmmword [ebp - 0x190]
vmovups xmm6, xmmword [ebp - 0x118]
vmovups xmm5, xmmword [ebp - 0x138]
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x2c]
vmovss xmm0, dword [eax + 0x18d4]
jmp 0x100d65c4
xor esi, esi
cmp dword [ebp - 0x38], 0
mov edi, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x50]
jne 0x100d6744
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x54]
cmp eax, 0x1fffff
jg 0x100d67ce
lea esi, [ebp - 0x1a0]
movzx eax, cl
mov dword [ebp - 0x10], 0xffffffff
push 0x3f800000
push eax
call fcn.1009c4d0
add esp, 8
mov ecx, dword [ebx + 0x278]
vmovups xmm0, xmmword [ebp - 0x78]
vsubss xmm0, xmm0, dword [ebp - 0x9c]
vmovss dword [ebp - 0xcc], xmm0
vmovups xmm0, xmmword [ebp - 0xdc]
vmovss dword [ebp - 0xc8], xmm0
vmovss 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 - 0xcc]
mov dword [esp + 8], eax
mov dword [esp], edx
mov eax, dword [ebp - 0x34]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x54]
mov dword [esp + 0x10], eax
vmovss dword [esp + 4], xmm0
mov dword [esp + 0x18], 0
call fcn.100b61d0
cmp byte [ebp - 0x48], 0
je 0x100d6876
vmovss xmm0, dword [edi + 0x18]
mov eax, dword [ebp - 0x24]
vaddss xmm0, xmm0, dword [eax + 0xe60]
vmovss dword [eax + 0xe60], xmm0
cmp byte [edi + 0xb2], 0
mov al, 1
mov edi, dword [ebp + 0x1c]
mov esi, dword [ebp + 8]
je 0x100d6a27
vxorps xmm1, xmm1, xmm1
vucomiss xmm1, xmm0
movzx ebx, byte [ebp - 0x39]
jae 0x100d6a2b
vcvtss2sd xmm0, xmm0, xmm0
sub esp, 0x10
vmovsd qword [esp], xmm0
mov dword [esp + 0xc], 0x3ff33333
mov dword [esp + 8], 0x40000000
call sub.api_ms_win_crt_math_l1_1_0.dll_fmod
add esp, 0x10
fstp dword [ebp - 0x174]
vmovss xmm0, dword [0x10145ad0]
vucomiss xmm0, dword [ebp - 0x174]
setae al
vmovss xmm0, dword [ebp - 0x108]
vmovups xmmword [ebp - 0x78], xmm0
vmovss xmm0, dword [ebp - 0x104]
vmovups xmmword [ebp - 0xdc], xmm0
jmp 0x100d6a2b
mov edi, dword [ebp + 0x1c]
mov esi, dword [ebp + 8]
movzx ebx, byte [ebp - 0x39]
cmp dword [ebp - 0x38], 0
je 0x100d6959
mov eax, dword [ebp - 0x2c]
vmovss xmm0, dword [ebp - 0xec]
vaddss xmm0, xmm0, dword [eax + 0x18d4]
vxorps xmm1, xmm1, xmm1
vaddss xmm1, xmm1, dword [ebp - 0xf0]
vmovss dword [ebp - 0x140], xmm1
vmovss dword [ebp - 0x13c], xmm0
mov eax, dword [0x102a05a0]
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 0x100d693a
vaddss xmm0, xmm0, dword [eax + 0xcc]
vaddss xmm1, xmm1, dword [eax + 0xc8]
mov ecx, dword [eax + 0xc8]
mov eax, dword [eax + 0xcc]
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xc8], eax
vmovss dword [ebp - 0xc4], xmm1
vmovss dword [ebp - 0xc0], xmm0
lea eax, [ebp - 0x140]
push 0xbf800000
push eax
call fcn.100acc60
add esp, 8
lea eax, [ebp - 0xcc]
push 0
push 0
push eax
call fcn.100ace10
add esp, 0xc
call fcn.100ac9e0
call fcn.100aee60
test bl, bl
jne 0x100d695d
mov dword [ebp - 0x10], 0xffffffff
call fcn.100adf20
mov ebx, dword [ebp - 0x4c]
jmp 0x100d6988
test bl, bl
je 0x100d6948
mov eax, dword [ebp - 0x2c]
cmp byte [eax + 0x2de4], 0
mov ebx, dword [ebp - 0x4c]
je 0x100d6988
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x108]
push dword [ebp - 0x34]
push dword [ebp - 0x54]
push eax
call fcn.1009cda0
add esp, 0xc
vmovss xmm0, dword [ebp - 0x180]
vxorps xmm1, xmm1, xmm1
vucomiss xmm0, xmm1
jbe 0x100d69ee
vmovss xmm0, dword [ebp - 0x124]
mov eax, dword [ebp - 0x2c]
vaddss xmm0, xmm0, dword [eax + 0x1554]
vmovss xmm1, dword [ebp - 0x120]
vaddss xmm1, xmm1, dword [eax + 0x1568]
mov dword [ebp - 0x10], 0xffffffff
sub esp, 0x14
mov dword [esp + 8], esi
vmovss dword [esp + 4], xmm0
vmovss dword [esp], xmm1
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
call fcn.1009cbc0
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 0x100d6a15
mov dword [ebp - 0x10], 0xffffffff
push dword [ebp - 0x28]
call fcn.1009f020
mov edx, edi
add esp, 4
test dl, 0x20
movzx ecx, bl
movzx eax, byte [ebp - 0x30]
cmove eax, ecx
jmp 0x100d41de
movzx ebx, byte [ebp - 0x39]
vmovss xmm0, dword [ebp - 0x40]
vaddss xmm3, xmm0, dword [ebp - 0xdc]
vmovss xmm0, dword [ebp - 0x20]
vaddss xmm0, xmm0, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x2c]
vsubss xmm2, xmm3, dword [ecx + 0x18d4]
vsubss xmm4, xmm0, dword [ebp - 0x9c]
vaddss xmm5, xmm3, dword [0x101510f8]
vaddss xmm1, xmm4, dword [0x10144ae0]
vaddss xmm0, xmm2, dword [0x10145a98]
vmovss dword [ebp - 0xcc], xmm4
vmovss dword [ebp - 0xc8], xmm0
vmovss dword [ebp - 0xc4], xmm1
vmovss dword [ebp - 0xc0], xmm5
test al, al
je 0x100d6b4b
vmovups xmm2, xmmword [ebp - 0x1a0]
vinsertps xmm1, xmm1, xmm5, 0x10
vinsertps xmm1, xmm1, xmm4, 0x20
vinsertps xmm0, xmm1, xmm0, 0x30
vcmpltps xmm1, xmm0, xmm2
vcmpltps xmm0, xmm2, xmm0
vblendps xmm0, xmm1, xmm0, 3
vpslld xmm0, xmm0, 0x1f
vpcmpeqd xmm1, xmm1, xmm1
vtestps xmm0, xmm1
jae 0x100d6b4b
mov eax, dword [ebp - 0x50]
mov edi, dword [eax + 0x278]
mov dword [ebp - 0x10], 0xffffffff
push 0x3f800000
push 0
vmovss dword [ebp - 0x68], xmm3
vmovups xmmword [ebp - 0x9c], xmm4
vmovups xmmword [ebp - 0x64], xmm5
call fcn.1009c4d0
add esp, 8
vmovups xmm0, xmmword [ebp - 0x9c]
vmovss dword [ebp - 0x140], xmm0
vmovups xmm0, xmmword [ebp - 0x64]
vmovss dword [ebp - 0x13c], xmm0
lea edx, [ebp - 0x140]
lea esi, [ebp - 0xcc]
mov ecx, edi
push 0x3f800000
push eax
push edx
push esi
mov esi, dword [ebp + 8]
call fcn.100b4dd0
vmovups xmm4, xmmword [ebp - 0x9c]
vmovss xmm3, dword [ebp - 0x68]
mov edi, dword [ebp + 0x1c]
test edi, 0x4000
jne 0x100d6880
mov eax, dword [ebp - 0x2c]
vsubss xmm0, xmm3, dword [eax + 0x18d4]
vaddss xmm1, xmm4, dword [0x10145a68]
vmovss dword [eax + 0x2da8], xmm1
vmovss dword [eax + 0x2dac], xmm0
jmp 0x100d6880
mov eax, dword [0x102a05a0]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x100d6be9
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100ac3b0
add esp, 8
cmp dword [ebp - 0x38], 0
je 0x100d6be4
test al, al
je 0x100d6be4
mov eax, dword [ebp - 0x138]
cmp byte [eax], 0
je 0x100d6cf5
mov ecx, dword [ebp - 0x50]
vmovss xmm0, dword [ecx + 0x54]
mov eax, dword [ebp - 0x2c]
vsubss xmm0, xmm0, dword [eax + 0x18d4]
vxorps xmm1, xmm1, xmm1
vcmpless xmm1, xmm1, xmm0
vandps xmm0, xmm1, xmm0
sub esp, 8
mov dword [esp], ecx
vmovss dword [esp + 4], xmm0
jmp 0x100d6c4d
mov eax, dword [0x102a05a0]
mov ecx, dword [eax + 0x44]
test ecx, ecx
js 0x100d6c5f
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100ac3b0
add esp, 8
cmp dword [ebp - 0x38], 0
je 0x100d6c5a
test al, al
je 0x100d6c5a
mov eax, dword [ebp - 0x138]
cmp byte [eax], 0
je 0x100d6d49
call fcn.100af470
fstp dword [ebp - 0x178]
mov ecx, dword [ebp - 0x50]
vmovss xmm0, dword [ecx + 0x54]
mov eax, dword [ebp - 0x2c]
vaddss xmm0, xmm0, dword [eax + 0x18d4]
vminss xmm0, xmm0, dword [ebp - 0x178]
sub esp, 8
vmovss dword [esp + 4], xmm0
mov dword [esp], ecx
call fcn.100af480
add esp, 8
jmp 0x100d5cb5
mov eax, dword [0x102a05a0]
mov ecx, dword [eax + 0x50]
test ecx, ecx
js 0x100d6c98
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100ac3b0
add esp, 8
test al, al
je 0x100d6c93
mov eax, dword [ebp - 0x138]
movzx eax, byte [eax]
add eax, eax
or eax, esi
or eax, 0x200004
jmp 0x100d5cad
mov eax, dword [0x102a05a0]
mov ecx, dword [eax + 0x54]
test ecx, ecx
js 0x100d6d0d
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100ac3b0
add esp, 8
test al, al
je 0x100d6d08
mov eax, dword [ebp - 0x138]
movzx eax, byte [eax]
add eax, eax
or eax, esi
or eax, 0x200005
jmp 0x100d5cad
mov edx, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
cmp edi, ecx
jne 0x100d5a43
jmp 0x100d59f9
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp - 0x20]
cmp edi, ecx
jne 0x100d5ad5
jmp 0x100d5aa5
movzx eax, byte [ebp - 0x4c]
shl eax, 2
or eax, esi
or eax, 0x200002
jmp 0x100d5cad
mov eax, dword [0x102a05a0]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x100d6d61
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100ac3b0
add esp, 8
test dword [ebp + 0x1c], 0x4000
jne 0x100d6d5c
test al, al
je 0x100d6d5c
or esi, 0x200008
mov ecx, ebx
push esi
jmp 0x100d5cb0
mov ecx, dword [ebp - 0x20]
jmp 0x100d59f9
movzx eax, byte [ebp - 0x4c]
shl eax, 2
or eax, esi
or eax, 0x200003
jmp 0x100d5cad
mov eax, dword [0x102a05a0]
mov ecx, dword [eax + 0x60]
test ecx, ecx
js 0x100d6dd7
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100ac3b0
add esp, 8
test dword [ebp + 0x1c], 0x4000
jne 0x100d6dd2
test al, al
je 0x100d6dd2
mov edi, esi
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
mov esi, dword [ebp - 0x28]
jne 0x100d6dab
mov eax, 0x60000c
cmp byte [ebp - 0x30], 0
je 0x100d6fe2
mov ecx, ebx
push eax
call fcn.100d7250
or edi, 0x200009
mov ecx, ebx
push edi
call fcn.100d7250
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x30], 0
mov eax, dword [ebp - 0x88]
jmp 0x100d5ccc
mov eax, dword [0x102a05a0]
mov ecx, dword [eax + 0x68]
test ecx, ecx
mov esi, dword [ebp - 0x138]
js 0x100d6dff
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100ac3b0
add esp, 8
test al, al
jne 0x100d6e20
mov eax, dword [0x102a05a0]
mov ecx, dword [eax + 0x70]
test ecx, ecx
js 0x100d6e8b
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100ac3b0
add esp, 8
test al, al
je 0x100d6e86
cmp dword [ebp - 0x38], 0
je 0x100d6e78
movzx ecx, byte [esi]
movzx eax, byte [ebp - 0x88]
mov esi, dword [ebp + 0x1c]
test esi, 0x800
mov edi, dword [ebp - 0x28]
vmovss xmm1, dword [ebp - 0x64]
jne 0x100d6f7d
test cl, cl
mov edx, 1
cmovne eax, edx
mov dword [ebp - 0x20], 0
test esi, 0x4000
jne 0x100d70df
mov edx, ecx
mov dword [ebp - 0x30], edx
test cl, cl
mov esi, edi
je 0x100d6fac
jmp 0x100d5cd1
mov al, 1
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x20], 0
jmp 0x100d6eb4
mov eax, dword [0x102a05a0]
mov eax, dword [eax + 0x6c]
test eax, eax
js 0x100d6ebb
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
call fcn.100ac3b0
add esp, 8
test al, al
je 0x100d6ebb
mov al, 1
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x30], 0
mov al, 1
jmp 0x100d5cc9
mov eax, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x78]
or cl, al
cmp cl, 1
jne 0x100d6ef0
movzx eax, al
xor eax, 0x20000b
mov dword [ebp - 0x10], 0xffffffff
mov ecx, ebx
push eax
call fcn.100d7250
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x40], eax
jmp 0x100d5cb5
cmp edi, dword [ebp - 0x20]
jne 0x100d6f37
mov eax, dword [0x102a05a0]
mov eax, dword [eax + 0x74]
test eax, eax
js 0x100d6f37
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
call fcn.100ac3b0
add esp, 8
test al, al
je 0x100d6f37
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 0x100d5cb5
mov eax, dword [ebp - 0x34]
or al, byte [ebp - 0x118]
cmp al, 1
jne 0x100d7027
mov eax, dword [ebp - 0x2c]
cmp dword [eax + 0xd4], 0
je 0x100d714e
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + 0x40]
mov ebx, dword [ecx + 0x44]
cmp eax, ebx
jne 0x100d70e9
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax + 4]
mov dword [ebp - 0x10], 0xffffffff
xor edx, edx
jmp 0x100d70fa
mov edx, ecx
xor dl, 1
mov dword [ebp - 0x30], edx
test cl, cl
mov edx, 1
cmove eax, edx
mov dword [ebp - 0x20], 0
test esi, 0x4000
jne 0x100d70e2
test cl, cl
mov esi, edi
je 0x100d5cd1
mov dword [ebp - 0xcc], 0xa
lea ecx, [ebp - 0xcc]
mov edx, dword [ebp + 0x1c]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
call fcn.100d85f0
add esp, 8
test al, al
je 0x100d6db9
mov ecx, ebx
push dword [ebp - 0xcc]
jmp 0x100d6db4
cmp byte [ebp - 0x160], 0
je 0x100d6dab
mov eax, dword [ebp - 0x2c]
cmp byte [eax + 0x103], 0
je 0x100d6dab
mov eax, dword [ebp - 0x8c]
cmp byte [eax], 0
jne 0x100d6dab
mov eax, dword [ebp - 0x138]
cmp byte [eax], 0
jne 0x100d6dab
mov eax, 0x600004
jmp 0x100d6da3
mov dword [ebp - 0x20], 0
cmp byte [ebp - 0x150], 0
je 0x100d7203
mov dword [ebp - 0x10], 0xffffffff
call fcn.1009f5b0
test eax, eax
je 0x100d71fc
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.1009b6d0
add esp, 4
mov dword [ebp - 0x34], eax
cmp byte [edi], 0
je 0x100d71e9
mov dword [ebp - 0x78], 0
lea ebx, [ebp - 0xcc]
jmp 0x100d7096
add edi, esi
cmp byte [edi], 0
lea ebx, [ebp - 0xcc]
je 0x100d71ba
push 0
push edi
push ebx
call fcn.1009b140
add esp, 0xc
cmp dword [ebp - 0xcc], 0
je 0x100d71ba
mov esi, eax
mov ecx, ebx
mov edx, dword [ebp + 0x1c]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
call fcn.100d85f0
add esp, 8
test al, al
je 0x100d7085
movzx eax, word [ebp - 0xcc]
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x78]
mov word [ecx + edx*2], ax
inc edx
mov dword [ebp - 0x78], edx
jmp 0x100d7085
mov dword [ebp - 0x30], ecx
mov esi, edi
jmp 0x100d5cd1
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 - 0x78], edx
lea eax, [eax + edx*2]
push ecx
push eax
call fcn.1009bd20
add esp, 8
mov edi, eax
inc edi
push edi
call fcn.1009b6d0
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 - 0x78]
lea eax, [eax + edx*2]
push ecx
push eax
push edi
push esi
call fcn.1009bc50
add esp, 0x10
push esi
call fcn.1009f5e0
add esp, 4
push esi
call fcn.1009b700
add esp, 4
mov dword [ebp - 0x20], 0
cmp byte [ebp - 0x118], 0
je 0x100d7203
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x40]
mov eax, dword [eax + 0x44]
cmp ecx, eax
jne 0x100d7188
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 0x100d7203
mov ebx, dword [ebp - 0x24]
lea edx, [ebx + 0x3c]
mov dword [ebp - 0x10], 0xffffffff
mov ecx, ebx
call fcn.100dd5e0
mov byte [ebx + 0x4b], 0
jmp 0x100d5cb5
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x78]
mov word [eax + ecx*2], 0
test ecx, ecx
jle 0x100d71f1
mov esi, dword [ebp - 0x24]
lea edx, [esi + 0x3c]
mov ecx, esi
push dword [ebp - 0x78]
push dword [ebp - 0x34]
call fcn.100d8760
add esp, 8
mov byte [esi + 0xe64], 1
jmp 0x100d71f1
mov eax, dword [ebp - 0x34]
mov word [eax], 0
push dword [ebp - 0x34]
call fcn.1009b700
add esp, 4
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x30], 0
mov eax, dword [ebp - 0x88]
mov esi, dword [ebp - 0x28]
vmovss xmm1, dword [ebp - 0x64]
mov ebx, dword [ebp - 0x24]
jmp 0x100d5cd1