Function at 0x100d5fe0
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], 0x100e04d0
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov ebx, dword [0x102a2d10]
mov eax, dword [ebx + 0x1a08]
mov byte [eax + 0x7c], 1
mov eax, dword [ebx + 0x1a08]
cmp byte [eax + 0x7f], 0
je 0x100d6043
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 0x100d606a
call fcn.100b0650
mov edi, dword [ebp + 0x18]
mov ecx, dword [ebp - 0xc4]
push 0
push esi
call fcn.1009f860
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x180]
push 0xbf800000
push 1
push 0
push esi
push eax
call fcn.1009e7b0
add esp, 0x14
cmp dword [ebp - 0x34], 0
je 0x100d60af
movss xmm0, dword [ebx + 0x18d4]
mulss xmm0, dword [0x1014966c]
jmp 0x100d60b7
movss xmm0, dword [ebp - 0x17c]
movss xmm1, dword [ebx + 0x1554]
addss xmm1, xmm1
addss xmm1, xmm0
movss dword [ebp - 0xe8], xmm1
call fcn.100b0480
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.100b0540
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 0x100d6139
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 0x100d62df
lea eax, [ebp - 0x130]
lea edi, [ebp - 0x1a0]
push eax
mov esi, dword [ebp - 0x30]
push esi
push edi
call fcn.100ae7e0
add esp, 0xc
test al, al
je 0x100d63ad
lea eax, [ebx + 0x1640]
push eax
push 3
call fcn.1009da20
add esp, 8
movss xmm0, dword [ebx + 0x1558]
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], 6
call fcn.1009dbb0
add esp, 8
movss xmm0, dword [ebx + 0x155c]
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], 7
call fcn.1009dbb0
add esp, 8
push dword [ebp - 0xe8]
push 1
call fcn.1009dce0
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.100ae000
add esp, 0x14
mov edi, ebx
mov ebx, eax
push 3
call fcn.1009de10
add esp, 4
push 1
call fcn.1009db50
add esp, 4
test bl, bl
je 0x100d63cb
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 0x100d6330
movss xmm0, dword [ebx + 0x1554]
sub esp, 8
movss dword [esp + 4], xmm0
lea eax, [ebp - 0x1a0]
mov dword [esp], eax
call fcn.100b0210
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.100ae7e0
add esp, 0xc
mov dword [ebp - 0x44], edi
test al, al
je 0x100d602c
lea eax, [ebp - 0x130]
push esi
push eax
call fcn.100a0690
add esp, 8
mov byte [ebp - 0x20], al
test al, al
je 0x100d6351
mov dword [ebx + 0x1dac], 1
mov eax, dword [0x102a2d10]
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.100a0970
add esp, 8
mov byte [ebp - 0x118], al
test al, al
je 0x100d6398
cmp dword [ebx + 0x1c58], edi
je 0x100d63da
mov dword [ebp - 0x70], 0
cmp byte [ebp - 0x20], 0
je 0x100d63f2
cmp byte [ebx + 0x3e0], 0
setne al
mov dword [ebp - 0x38], eax
jmp 0x100d63f9
movss xmm0, dword [ebx + 0x1554]
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], edi
call fcn.100b0210
add esp, 8
jmp 0x100d63d0
call fcn.100ae380
call fcn.100b0800
jmp 0x100d602c
mov eax, dword [ebx + 0x1c60]
cmp eax, dword [edi + 0x19c]
sete al
mov dword [ebp - 0x70], eax
cmp byte [ebp - 0x20], 0
jne 0x100d639e
mov dword [ebp - 0x38], 0
mov edi, dword [ebx + 0x1a3c]
mov eax, dword [ebp - 0x30]
cmp edi, eax
jne 0x100d640f
mov dword [ebp - 0x58], 0
jmp 0x100d6434
mov cl, 1
mov dword [ebp - 0x58], ecx
cmp dword [ebx + 0x1b50], eax
je 0x100d6434
mov eax, dword [ebp - 0x30]
cmp dword [ebx + 0x1b44], eax
jne 0x100d6406
cmp dword [ebx + 0x1b68], 3
sete al
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x34], 0
je 0x100d6458
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x30]
jne 0x100d6458
test edi, edi
je 0x100d6463
mov dword [ebp - 0x3c], 0
mov ebx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x44]
jmp 0x100d648b
mov dword [ebp - 0x3c], 0
xor edx, edx
jmp 0x100d64a4
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.1009fe50
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.1009fe50
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 0x100d64d6
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 0x100d6540
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 0x100d653e
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 0x100d6596
mov eax, dword [edi + 0x1eac]
mov ebx, esi
jmp 0x100d6601
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x1a3c]
cmp eax, edi
mov edx, dword [ebp + 0x1c]
jne 0x100d656c
cmp dword [ebp - 0x40], edi
mov ebx, dword [ebp - 0x24]
je 0x100d656f
mov esi, edx
mov ebx, ecx
call fcn.100a04f0
mov ecx, ebx
mov edx, esi
xor ebx, ebx
jmp 0x100d68e2
mov ebx, dword [ebp - 0x24]
cmp eax, edi
jne 0x100d68f3
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 0x100d6907
test ecx, ecx
mov ebx, esi
je 0x100d65a9
mov eax, ecx
shr eax, 0x1f
add eax, ecx
sar eax, 1
add eax, ecx
jmp 0x100d65ae
mov eax, 8
cmp eax, edx
mov dword [ebp - 0x24], edx
cmovle eax, edx
mov esi, eax
push eax
call fcn.1009ca00
add esp, 4
mov edi, dword [ebp - 0x28]
mov ecx, dword [edi + 0x1eac]
test ecx, ecx
je 0x100d65f2
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.1009ca30
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 0x100d6698
test eax, eax
je 0x100d663c
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x100d6641
mov ecx, 8
cmp ecx, esi
cmovle ecx, esi
mov dword [ebp - 0x24], ecx
lea eax, [ecx + ecx]
push eax
call fcn.1009ca00
add esp, 4
mov edi, dword [ebp - 0x28]
mov edx, dword [edi + 0x1e94]
test edx, edx
je 0x100d6689
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.1009ca30
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 0x100d66eb
push 0
call fcn.1009ca00
add esp, 4
mov esi, eax
mov eax, dword [edi + 0x1ea0]
test eax, eax
je 0x100d66db
push dword [edi + 0x1e98]
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push dword [edi + 0x1ea0]
call fcn.1009ca30
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.1009ce90
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 0x100d676c
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 0x100d67d4
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 0x100d67ea
mov eax, dword [ebp - 0x28]
mov byte [eax + 0x1ec8], 1
cmp dword [ebp - 0x34], 0
jne 0x100d6817
movzx eax, byte [ebp - 0x118]
xor al, 1
or al, byte [ebp - 0x70]
cmp al, 1
jne 0x100d6812
cmp byte [ebp - 0x38], 0
je 0x100d6817
mov eax, dword [ebp - 0x28]
cmp byte [eax + 0x100], 0
je 0x100d6817
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 0x100d68da
mov ebx, dword [ebp - 0xc4]
push ebx
push esi
call fcn.100a0400
add esp, 8
push ebx
push esi
call fcn.100b1f10
add esp, 8
push ebx
call fcn.100a2080
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 [0x10152f70]
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 0x100d68d0
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 0x100d68e2
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 0x100d6577
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 0x100d6952
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 0x100d6959
mov dword [ebp - 0xa4], 0
mov ecx, dword [ebp + 0x14]
lea edx, [ecx + 1]
mov eax, dword [ebx + 0x10]
cmp eax, ecx
jle 0x100d6964
mov ecx, dword [ebx + 0x14]
jmp 0x100d69cd
xor ecx, ecx
jmp 0x100d6a2e
mov ecx, dword [ebp - 0x118]
jmp 0x100d6a2c
test eax, eax
je 0x100d6975
mov ebx, eax
shr ebx, 0x1f
add ebx, eax
sar ebx, 1
add ebx, eax
jmp 0x100d697a
mov ebx, 8
cmp ebx, edx
mov dword [ebp - 0xc4], edx
cmovle ebx, edx
lea eax, [ebx + ebx]
push eax
call fcn.1009ca00
add esp, 4
mov ecx, eax
mov edi, dword [ebp - 0x24]
mov eax, dword [edi + 0x14]
test eax, eax
je 0x100d69bc
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.1009ca30
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.1009ce90
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 0x100d6a4c
mov dword [ebp - 0xc4], 0
test ebx, ebx
jne 0x100d6a65
jmp 0x100d6a84
mov dword [ebp - 0xc4], 0
test ebx, ebx
je 0x100d6a84
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x1a3c], edi
jne 0x100d6a84
mov eax, edx
and eax, 0x4000
mov eax, dword [ebp + 0xc]
jne 0x100d6a87
cmp byte [ebx + 0x30], 0
mov esi, edx
setne dl
mov dword [ebp - 0xc4], edx
mov edx, esi
jmp 0x100d6a87
mov eax, dword [ebp + 0xc]
test eax, eax
mov dword [ebp - 0x118], ecx
je 0x100d6aa8
mov eax, dword [ebp + 0x10]
cmp byte [ebp - 0xc4], 0
je 0x100d6aa0
mov eax, dword [ebx + 0x20]
cmp byte [eax], 0
sete cl
jmp 0x100d6aaa
xor ecx, ecx
test dx, dx
setns al
mov dword [ebp - 0x40], ecx
or al, cl
mov byte [ebp - 0x60], al
jne 0x100d6b44
mov esi, dword [ebp - 0x28]
mov ecx, dword [esi + 0x18d0]
push 0x2a
mov edi, edx
call fcn.100c2ca0
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.100af740
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 0x100d6eca
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 0x100d6bc2
movss xmm1, dword [esi + 0xec]
mov ecx, dword [ebp - 0x44]
subss xmm1, dword [ecx + 0xcc]
subss xmm1, dword [esi + 0x1554]
jmp 0x100d6bd2
movss xmm1, dword [esi + 0x18d4]
mulss xmm1, dword [0x10147680]
mov ch, byte [esi + 0xb1]
cmp byte [ebp - 0x2c], 0
je 0x100d6c31
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 0x100d6c12
cmp byte [esi + 0xf0], 0
jne 0x100d6c12
mov byte [ebx + 0xe65], 0
cmp byte [esi + 0x100], 0
je 0x100d6c73
movzx eax, byte [esi + 0x102]
test al, al
sete bl
test ch, ch
je 0x100d6c88
test al, al
jne 0x100d6c7b
jmp 0x100d6c88
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 0x100d6cff
cmp byte [esi + 0x3e5], 0
jne 0x100d6bde
jmp 0x100d6d33
test ch, ch
je 0x100d6da5
mov eax, dword [ebp - 0x28]
cmp byte [eax + 0x103], 0
setne bl
test dword [ebp + 0x1c], 0x400
je 0x100d6e2c
mov eax, dword [0x102a2d10]
mov eax, dword [eax + 0x34]
test eax, eax
js 0x100d6e2c
push 1
push eax
call fcn.100add50
add esp, 8
xor al, 1
or al, bl
jne 0x100d6e2c
test dword [ebp + 0x1c], 0x4000
jne 0x100d6e2c
mov eax, dword [ebp - 0x28]
cmp byte [eax + 0x101], 0
jne 0x100d6e2c
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x150c]
mov eax, dword [eax + 0x1514]
lea ecx, [eax + ecx*2]
cmp eax, ecx
jae 0x100d6df2
cmp word [eax], 9
lea eax, [eax + 2]
jne 0x100d6ce9
jmp 0x100d6e2c
test ch, ch
je 0x100d6d33
test cl, cl
jne 0x100d6d33
cmp byte [esi + 0x3e5], 0
je 0x100d6d33
mov byte [ebp - 0x20], ch
mov ecx, ebx
push 0x20000c
call fcn.100d8fb0
mov ecx, ebx
push 0x60000d
call fcn.100d8fb0
mov ch, byte [ebp - 0x20]
jmp 0x100d6bf9
cmp byte [esi + 0x3e0], 0
je 0x100d6d45
cmp byte [ebx + 0xe65], 0
je 0x100d6db6
test al, al
je 0x100d6bf9
cmp byte [ebx + 0xe65], 0
jne 0x100d6bf9
movss xmm3, dword [esi + 0x378]
xorps xmm2, xmm2
ucomiss xmm3, xmm2
jne 0x100d6d7f
jp 0x100d6d7f
movss xmm3, dword [esi + 0x37c]
ucomiss xmm3, xmm2
jne 0x100d6d7f
jnp 0x100d6bf9
lea edx, [ebx + 0x3c]
mov byte [ebp - 0x20], ch
mov ecx, ebx
call fcn.100da1c0
mov ch, byte [ebp - 0x20]
mov dword [ebx + 0xe60], 0xbe99999a
mov byte [ebx + 0xe64], 1
jmp 0x100d6bf9
xor ebx, ebx
test dword [ebp + 0x1c], 0x400
jne 0x100d6c95
jmp 0x100d6e2c
cmp byte [ebp - 0x20], 0
je 0x100d6bf9
mov byte [ebp - 0x20], ch
cmp byte [ebx + 0x4c], 0
je 0x100d6dcc
xorps xmm1, xmm1
mov ecx, ebx
call fcn.100dfb20
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 0x100d6bf9
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.100da1f0
add esp, 8
test al, al
je 0x100d6e2c
mov ecx, dword [ebp - 0x24]
push dword [ebp - 0xa4]
call fcn.100d8fb0
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x150c], 0
jle 0x100d6ec1
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 0x100d7180
cmp dword [ebx + 0x1510], 0
mov edi, ebx
mov edx, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x24]
jns 0x100d6eb5
mov dword [ebp - 0x10], 0xffffffff
push 0
call fcn.1009ca00
add esp, 4
mov esi, eax
mov eax, dword [edi + 0x1514]
test eax, eax
je 0x100d6ea2
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.1009ca30
add esp, 4
mov dword [edi + 0x1514], esi
mov dword [edi + 0x1510], 0
mov edx, dword [ebp + 0x1c]
mov dword [edi + 0x150c], 0
jmp 0x100d6eca
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 0x100d6f69
cmp byte [edi + 0x1a48], 0
jne 0x100d71f0
cmp byte [ebp - 0xd4], 0
je 0x100d71e9
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 0x100d75f2
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 0x100d76b5
movzx eax, byte [esi]
or al, cl
sete al
mov dword [ebp - 0xd4], eax
jmp 0x100d76bf
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x2c], 0
mov edi, dword [ebp - 0x30]
cmp ecx, edi
jne 0x100d7a9b
test edx, 0x4000
jne 0x100d7156
mov eax, dword [ebp - 0x20]
xor al, 1
jne 0x100d7156
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 0x100d7156
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 0x100d7057
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.1009cf20
add esp, 8
inc eax
lea ecx, [ebp - 0xa4]
push eax
call fcn.100da150
push 0
push dword [ebp - 0xd4]
push dword [ebp - 0x58]
push dword [ebp - 0xa4]
push dword [ebp - 0x9c]
call fcn.1009ce90
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.100df820
add esp, 8
test esi, esi
jle 0x100d70e1
test eax, eax
je 0x100d70e1
mov ecx, esi
and ecx, 3
xor edx, edx
cmp esi, 4
jb 0x100d70ce
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 0x100d7095
test ecx, ecx
je 0x100d70e1
mov esi, dword [ebx + 0x14]
movzx esi, word [esi + edx*2]
mov word [eax + edx*2], si
inc edx
dec ecx
jne 0x100d70d2
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.1009d050
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 0x100d7632
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 0x100d7140
jmp 0x100d763e
mov dword [ebp - 0x58], 0
mov dword [ebp - 0xb4], 0
cmp byte [ebp - 0x20], 0
jne 0x100d769d
mov dword [ebp - 0xb4], 0
jmp 0x100d7201
xor edi, edi
lea esi, [ebp - 0xa4]
jmp 0x100d71a6
cmp byte [ebx + 0x101], 0
je 0x100d71bb
inc edi
cmp edi, dword [ebx + 0x150c]
jge 0x100d6e53
mov eax, dword [ebx + 0x1514]
movzx eax, word [eax + edi*2]
mov dword [ebp - 0xa4], eax
cmp eax, 9
je 0x100d7190
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
mov edx, dword [ebp + 0x1c]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
call fcn.100da1f0
add esp, 8
test al, al
je 0x100d7199
mov ecx, dword [ebp - 0x24]
push dword [ebp - 0xa4]
call fcn.100d8fb0
jmp 0x100d7199
mov dword [ebp - 0x58], 0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0x2c], 0
test edx, 0x4000
jne 0x100d72ab
mov byte [ebx + 0x30], 1
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x1c]
lea edi, [ecx*4 + 1]
cmp eax, edi
jge 0x100d723a
test eax, eax
je 0x100d724a
mov ebx, eax
shr ebx, 0x1f
add ebx, eax
sar ebx, 1
add ebx, eax
mov dword [ebp - 0x10], 0xffffffff
jmp 0x100d724f
mov esi, ebx
mov ebx, edx
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x10], 0xffffffff
jmp 0x100d7295
mov ebx, 8
cmp ebx, edi
cmovle ebx, edi
mov dword [ebp - 0x10], 0xffffffff
push ebx
call fcn.1009ca00
add esp, 4
mov esi, dword [ebp - 0x24]
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x100d728c
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.1009ca30
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.1009cf80
add esp, 0x10
mov edx, ebx
mov ebx, esi
test edx, 0x1c0
je 0x100d74df
test dl, 0x40
je 0x100d72ee
mov eax, dword [0x102a2d10]
mov eax, dword [eax + 0x34]
test eax, eax
js 0x100d72ee
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
mov esi, edx
call fcn.100add50
mov edx, esi
add esp, 8
test al, al
je 0x100d72ee
mov eax, 0x40
xor ecx, ecx
jmp 0x100d736e
test dl, dl
jns 0x100d7358
mov eax, dword [0x102a2d10]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x100d732b
mov esi, edx
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100add50
add esp, 8
test al, al
je 0x100d7324
mov eax, 0x80
mov ecx, 3
mov edx, esi
jmp 0x100d736e
mov eax, dword [0x102a2d10]
mov edx, esi
mov eax, dword [eax + 0x44]
test eax, eax
js 0x100d7358
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
mov esi, edx
call fcn.100add50
mov edx, esi
add esp, 8
test al, al
je 0x100d7358
mov eax, 0x80
mov ecx, 4
jmp 0x100d736e
test edx, 0x100
je 0x100d74df
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.1009d050
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.1009d050
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.1009d050
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 0x100d7440
mov ecx, dword [ebp - 0x90]
add eax, ecx
push eax
push ecx
call fcn.1009cf20
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 0x100d7460
mov ecx, dword [ebp - 0x90]
add eax, ecx
push eax
push ecx
call fcn.1009cf20
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 0x100d7486
mov ecx, dword [ebp - 0x90]
add eax, ecx
push eax
push ecx
mov esi, edx
call fcn.1009cf20
mov edx, esi
add esp, 8
mov dword [ebx + 0x44], eax
cmp byte [ebp - 0x84], 0
je 0x100d74df
mov esi, edx
test edx, 0x40000
je 0x100d74af
mov eax, dword [ebp - 0x8c]
sub eax, dword [ebp - 0x5c]
jle 0x100d74af
lea ecx, [ebx + 0xc]
add eax, dword [ecx]
push eax
call fcn.100da150
push 0
push 0
push dword [ebp - 0x90]
push dword [ebx + 0xc]
push dword [ebx + 0x14]
call fcn.1009ce90
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 0x100d750a
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 0x100d7508
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 0x100d75cf
mov dword [ebp - 0x10], 0xffffffff
test edx, 0x40000
jne 0x100d7539
mov esi, edx
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0x14]
mov edi, dword [ebp - 0xb4]
jmp 0x100d75b7
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.1009c9d0
add esp, 0xc
mov edx, esi
mov dword [ebx + 0xe68], 0
mov dword [ebx + 0xe6c], 0
mov dword [ebx + 0xe70], 0
jmp 0x100d7aa2
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 0x100d76c6
mov esi, dword [ebp - 0xd4]
mov edi, dword [ebp - 0x108]
mov word [edi], 0
test esi, esi
jle 0x100d7673
mov dword [ebp - 0x10], 1
xor edx, edx
push esi
push dword [ebp - 0xf8]
call fcn.100df0e0
add esp, 8
test al, al
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xd4]
je 0x100d7673
mov dword [eax + 0x3c], ecx
mov byte [eax + 0x4b], 0
mov eax, dword [ebp - 0x9c]
test eax, eax
je 0x100d768d
mov dword [ebp - 0x10], 0
push eax
call fcn.1009ca30
add esp, 4
cmp byte [ebp - 0x20], 0
mov edx, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x24]
je 0x100d7201
test dl, 0x20
je 0x100d750a
cmp byte [ebp - 0x2c], 0
jne 0x100d7201
jmp 0x100d750a
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 0x100d7735
mov eax, dword [0x102a2d10]
mov eax, dword [eax + 0x80]
test eax, eax
js 0x100d7735
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
mov esi, ebx
mov ebx, edx
call fcn.100add50
mov edx, ebx
mov ebx, esi
mov esi, dword [ebp - 0x58]
add esp, 8
test al, al
je 0x100d7735
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 0x100d77b6
cmp dword [ebp - 0x34], 0
jne 0x100d7793
jmp 0x100d77b6
cmp edi, 2
jne 0x100d77a8
mov eax, dword [0x102a2d10]
mov eax, dword [eax + 0x5c]
test eax, eax
js 0x100d77a8
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.100add50
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 0x100d8a3c
cmp dword [ebp - 0x34], 0
mov edx, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x24]
je 0x100d77b2
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
setne al
mov dword [ebp - 0xf8], eax
cmp edi, esi
jne 0x100d77f0
jmp 0x100d77b6
mov dword [ebp - 0xf8], 0
cmp edi, esi
jne 0x100d77f0
mov eax, dword [0x102a2d10]
mov eax, dword [eax + 0x78]
test eax, eax
js 0x100d77f0
mov esi, ebx
mov ebx, edx
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
call fcn.100add50
add esp, 8
test al, al
je 0x100d77ee
mov edx, ebx
mov eax, ebx
and eax, 0x108000
cmp eax, 0x100000
je 0x100d7835
jmp 0x100d785a
mov edx, ebx
cmp edi, 1
jne 0x100d784b
mov eax, dword [0x102a2d10]
mov eax, dword [eax + 0x58]
test eax, eax
js 0x100d784b
test dx, dx
setns bl
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
call fcn.100add50
add esp, 8
and al, bl
cmp dword [ebp - 0x34], 0
mov dword [ebp - 0xb4], eax
je 0x100d8a4f
test al, al
mov edx, dword [ebp + 0x1c]
mov esi, dword [ebp - 0x24]
je 0x100d7855
mov eax, dword [esi + 0x40]
cmp eax, dword [esi + 0x44]
setne al
mov dword [ebp - 0xb4], eax
cmp edi, dword [ebp - 0x58]
jne 0x100d7880
jmp 0x100d785a
mov dword [ebp - 0xb4], 0
cmp edi, dword [ebp - 0x58]
jne 0x100d7880
mov eax, dword [0x102a2d10]
mov eax, dword [eax + 0x7c]
test eax, eax
js 0x100d7880
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
mov ebx, edx
call fcn.100add50
mov edx, ebx
add esp, 8
test al, al
jne 0x100d78b6
cmp edi, 2
jne 0x100d78c7
mov eax, dword [0x102a2d10]
mov eax, dword [eax + 0x58]
test eax, eax
mov esi, dword [ebp - 0x20]
js 0x100d8930
mov ebx, edx
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
call fcn.100add50
add esp, 8
test al, al
je 0x100d89b9
mov edx, ebx
test edx, 0x4000
sete al
mov dword [ebp - 0xd8], eax
jmp 0x100d78d1
mov dword [ebp - 0xd8], 0
mov esi, dword [ebp - 0x20]
cmp edi, dword [ebp - 0x58]
jne 0x100d790f
mov dword [ebp - 0x134], edi
mov edi, esi
mov esi, dword [0x102a2d10]
mov ecx, dword [esi + 0x88]
test ecx, ecx
js 0x100d7918
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
mov ebx, edx
call fcn.100add50
mov edx, ebx
add esp, 8
mov esi, dword [0x102a2d10]
jmp 0x100d791a
mov dword [ebp - 0x20], 0
jmp 0x100d7965
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 0x100d795d
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
call fcn.100add50
add esp, 8
test al, al
mov esi, edi
mov edi, dword [ebp - 0x134]
je 0x100d7965
jmp 0x100d799c
mov esi, edi
mov edi, dword [ebp - 0x134]
cmp byte [ebp - 0x2c], 0
je 0x100d79ae
mov eax, dword [0x102a2d10]
mov eax, dword [eax + 0x88]
test eax, eax
mov ebx, dword [ebp + 0x1c]
js 0x100d79ae
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
call fcn.100add50
add esp, 8
test al, al
je 0x100d79ae
test ebx, 0x4000
sete bl
mov eax, dword [ebp + 0x1c]
test eax, 0x10000
sete al
and al, bl
mov dword [ebp - 0x2c], eax
jmp 0x100d79b5
mov dword [ebp - 0x2c], 0
mov ebx, dword [ebp - 0x24]
shl esi, 0x16
mov eax, dword [0x102a2d10]
mov ecx, dword [eax + 0x38]
test ecx, ecx
js 0x100d7a04
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100add50
add esp, 8
test al, al
je 0x100d79ff
cmp byte [ebp - 0x108], 0
mov eax, 0x200000
mov ecx, 0x20000c
cmove ecx, eax
cmp byte [ebp - 0xd4], 0
mov eax, 0x200004
jmp 0x100d7a49
mov eax, dword [0x102a2d10]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
js 0x100d88d2
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100add50
add esp, 8
test al, al
je 0x100d88cd
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.100d8fb0
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 0x100d6f82
mov dword [ebp - 0x5c], 0
cmp byte [ebp - 0x70], 0
mov edi, edx
je 0x100d7ac4
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x30]
cmp dword [eax + 0x1a3c], ecx
jne 0x100d7ac4
mov dword [ebp - 0x10], 0xffffffff
call fcn.100a04f0
cmp dword [ebp - 0x34], 0
jne 0x100d7b31
mov dword [ebp - 0x10], 0xffffffff
push 1
push dword [ebp - 0x30]
lea eax, [ebp - 0x130]
push eax
call fcn.1009eed0
add esp, 0xc
mov eax, dword [ebp - 0x28]
movss xmm0, dword [eax + 0x1558]
movss dword [ebp - 0x58], xmm0
push 0x3f800000
push 7
call fcn.1009d830
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.1009e930
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 0x100d7b94
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 0x100d7baf
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 0x100d7bc1
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x48], eax
test cl, cl
movups xmmword [ebp - 0x70], xmm2
je 0x100d7bef
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 0x100d7d0a
mov dword [ebp - 0x48], esi
jmp 0x100d7c11
movzx eax, byte [ebp - 0x3c]
or al, byte [ebp - 0x118]
cmp al, 1
movups xmm1, xmmword [ebp - 0x168]
jne 0x100d7d25
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 0x100d7c57
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 0x100d7c7f
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 0x100d7cab
test edx, edx
je 0x100d7db2
add ecx, 2
movzx edx, word [ecx]
cmp edx, 0xa
jne 0x100d7ca0
inc edi
cmp dword [ebp - 0xe8], 0xffffffff
jne 0x100d7ce0
mov dword [ebp - 0xe8], 0xffffffff
cmp ecx, esi
jb 0x100d7ce0
cmp eax, 2
jl 0x100d7da4
dec eax
mov dword [ebp - 0xe8], edi
nop dword [eax + eax]
cmp dword [ebp - 0xc4], 0xffffffff
jne 0x100d7ca8
mov dword [ebp - 0xc4], 0xffffffff
cmp ecx, dword [ebp - 0x58]
jb 0x100d7ca8
cmp eax, 2
jl 0x100d7dac
dec eax
mov dword [ebp - 0xc4], edi
jmp 0x100d7ca8
xorps xmm0, xmm0
cmp dword [ebp - 0x34], 0
movups xmm1, xmmword [ebp - 0x168]
mov ecx, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x20]
jne 0x100d7d31
jmp 0x100d803c
cmp dword [ebp - 0x34], 0
je 0x100d7d7f
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 0x100d7d50
cmp ecx, 0xa
jne 0x100d7d40
inc eax
jmp 0x100d7d40
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 0x100d803c
jmp 0x100d8059
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x30]
cmp dword [eax + 0x1a3c], edx
jne 0x100d8023
mov ebx, dword [ebx + 8]
mov eax, dword [ebp - 0x48]
add ebx, eax
xorps xmm0, xmm0
mov dword [ebp - 0x38], eax
jmp 0x100d803c
mov dword [ebp - 0xe8], edi
jmp 0x100d7db2
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0x10], 0xffffffff
push dword [ebp - 0x38]
push esi
call fcn.1009ca60
add esp, 8
mov edx, dword [0x102a2d10]
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 0x100d7e54
movzx edx, word [eax]
add eax, 2
cmp edx, 0xd
je 0x100d7e00
cmp edx, 0xa
je 0x100d7e41
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 0x100d7e00
movaps xmm1, xmm4
cmpless xmm1, xmm3
andps xmm3, xmm1
andnps xmm1, xmm4
orps xmm3, xmm1
jmp 0x100d7df0
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 0x100d7f67
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.1009ca60
movups xmm3, xmmword [ebp - 0xe8]
movups xmm5, xmmword [ebp - 0x108]
movups xmm4, xmmword [ebp - 0xd4]
add esp, 8
mov edx, dword [0x102a2d10]
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 0x100d7f49
movzx esi, word [eax]
add eax, 2
cmp esi, 0xd
je 0x100d7f00
cmp esi, 0xa
je 0x100d7f36
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 0x100d7f00
movaps xmm2, xmm7
cmpless xmm2, xmm1
andps xmm1, xmm2
andnps xmm2, xmm7
orps xmm1, xmm2
jmp 0x100d7efd
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 0x100d7f86
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 0x100d8175
cmp byte [esi + 0xe64], 0
je 0x100d8175
test eax, 0x1000
jne 0x100d8017
movss xmm0, dword [0x1014aa1c]
movups xmm3, xmmword [ebp - 0x168]
mulss xmm0, xmm3
movss xmm1, dword [esi + 0x38]
ucomiss xmm1, xmm4
jbe 0x100d80f4
movaps xmm1, xmm4
subss xmm1, xmm0
xorps xmm0, xmm0
movaps xmm2, xmm1
cmpless xmm2, xmm0
andnps xmm2, xmm1
cvttps2dq xmm0, xmm2
jmp 0x100d8108
mov dword [esi + 0x38], 0
jmp 0x100d8110
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 0x100d80dd
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.1009d830
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.100b8570
movups xmm3, xmmword [ebp - 0x158]
mov dword [ebp - 0x48], esi
mov esi, dword [ebp + 8]
jmp 0x100d85c6
mov dword [ebp - 0x48], edx
mov esi, dword [ebp + 8]
movzx ebx, byte [ebp - 0x60]
test bl, bl
jne 0x100d868a
jmp 0x100d8675
movaps xmm2, xmm4
subss xmm2, xmm3
ucomiss xmm2, xmm1
jb 0x100d8110
addss xmm0, xmm2
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x38], xmm0
cmp dword [ebp - 0x34], 0
je 0x100d816e
movss xmm0, dword [edx + 0x54]
movaps xmm2, xmm5
subss xmm2, dword [ecx + 0x18d4]
ucomiss xmm0, xmm2
jbe 0x100d813b
xorps xmm3, xmm3
movaps xmm1, xmm2
cmpless xmm1, xmm3
andnps xmm1, xmm2
jmp 0x100d8151
movaps xmm2, xmm5
subss xmm2, dword [ebp - 0x1c0]
ucomiss xmm2, xmm0
movaps xmm1, xmm0
jb 0x100d8151
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 0x100d844e
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 0x100d81c2
movss xmm0, dword [0x1014c170]
jmp 0x100d81ca
movss xmm0, dword [0x10147700]
mov dword [ebp - 0x10], 0xffffffff
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], 0x2a
call fcn.1009d830
add esp, 8
mov dword [ebp - 0x1c0], eax
xorps xmm7, xmm7
cmp dword [ebp - 0x34], 0
jne 0x100d8200
movss xmm7, dword [0x10147720]
cmp ebx, esi
mov ecx, dword [ebp - 0x40]
movups xmm5, xmmword [ebp - 0x70]
movups xmm6, xmmword [ebp - 0xf8]
movups xmm4, xmmword [ebp - 0xc4]
jge 0x100d844e
xorps xmm0, xmm0
movups xmmword [ebp - 0x168], xmm0
cmp dword [ebp - 0x34], 0
jne 0x100d823c
movss xmm0, dword [0x10149034]
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 0x100d8314
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 [0x10146ac0], 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 0x100d83f7
movups xmm2, xmmword [ebp - 0x118]
addss xmm6, xmm0
movups xmm4, xmmword [ebp - 0xb4]
cmp ebx, esi
jae 0x100d844e
movups xmm1, xmmword [ebp - 0xc4]
addss xmm1, xmm0
ucomiss xmm6, xmm1
ja 0x100d844e
ucomiss xmm2, xmm6
jbe 0x100d8343
nop dword [eax]
cmp ebx, esi
jae 0x100d8301
lea eax, [ebx + 2]
cmp word [ebx], 0xa
mov ebx, eax
jne 0x100d8330
mov ebx, eax
jmp 0x100d8301
subss xmm4, dword [ebp - 0xe8]
mov ecx, dword [0x102a2d10]
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 0x100d83a1
movzx edx, word [ebx]
add ebx, 2
cmp edx, 0xd
je 0x100d8370
cmp edx, 0xa
je 0x100d83a6
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 0x100d8370
xorps xmm2, xmm2
jmp 0x100d83b7
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 0x100d8284
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 [0x10147680]
cvttps2dq xmm1, xmm1
cvtdq2ps xmm1, xmm1
jmp 0x100d8284
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.100b7400
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 0x100d82fa
xor esi, esi
cmp dword [ebp - 0x34], 0
mov edi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x44]
jne 0x100d847a
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x48]
cmp eax, 0x1fffff
movups xmm3, xmmword [ebp - 0x158]
jg 0x100d8509
lea esi, [ebp - 0x190]
movzx eax, cl
mov dword [ebp - 0x10], 0xffffffff
push 0x3f800000
push eax
call fcn.1009d830
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.100b8570
movups xmm3, xmmword [ebp - 0x158]
movups xmm0, xmmword [ebp - 0x148]
unpcklps xmm3, xmm0
cmp byte [ebp - 0x3c], 0
mov esi, dword [ebp + 8]
je 0x100d85c3
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 0x100d8752
xorps xmm1, xmm1
ucomiss xmm1, xmm0
movzx ebx, byte [ebp - 0x60]
jae 0x100d8756
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 [0x10147b14]
ucomiss xmm0, dword [ebp - 0x174]
setae al
movsd xmm2, qword [ebp - 0x120]
jmp 0x100d8756
mov edi, dword [ebp + 0x1c]
movzx ebx, byte [ebp - 0x60]
cmp dword [ebp - 0x34], 0
je 0x100d8686
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 [0x102a2d10]
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 0x100d8667
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.100ae610
add esp, 8
lea eax, [ebp - 0xa4]
push 0
push 0
push eax
call fcn.100ae7e0
add esp, 0xc
call fcn.100ae380
call fcn.100b0800
test bl, bl
jne 0x100d868a
mov dword [ebp - 0x10], 0xffffffff
call fcn.100af8c0
mov ebx, dword [ebp - 0x5c]
jmp 0x100d86b5
test bl, bl
je 0x100d8675
mov eax, dword [ebp - 0x28]
cmp byte [eax + 0x2de4], 0
mov ebx, dword [ebp - 0x5c]
je 0x100d86b5
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x120]
push dword [ebp - 0x20]
push dword [ebp - 0x48]
push eax
call fcn.1009e0d0
add esp, 0xc
movss xmm0, dword [ebp - 0x180]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x100d8719
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.1009df00
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 0x100d8740
mov dword [ebp - 0x10], 0xffffffff
push dword [ebp - 0x30]
call fcn.100a0580
mov edx, edi
add esp, 4
test dl, 0x20
movzx ecx, bl
movzx eax, byte [ebp - 0x2c]
cmove eax, ecx
jmp 0x100d602e
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 [0x10152f80]
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 [0x10152f90]
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 0x100d8899
ucomiss xmm6, dword [ebp - 0x18c]
jbe 0x100d8899
movss xmm1, dword [ebp - 0x184]
movaps xmm2, xmm0
shufps xmm2, xmm0, 0x55
ucomiss xmm1, xmm2
jbe 0x100d8899
ucomiss xmm0, dword [ebp - 0x190]
jbe 0x100d8899
movss xmm0, dword [ebp - 0x188]
ucomiss xmm0, xmm4
jbe 0x100d8899
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.1009d830
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.100b71a0
movups xmm5, xmmword [ebp - 0xc4]
movups xmm4, xmmword [ebp - 0xd4]
mov edi, dword [ebp + 0x1c]
movups xmm3, xmmword [ebp - 0x158]
test edi, 0x4000
jne 0x100d85ca
mov eax, dword [ebp - 0x28]
subss xmm5, dword [eax + 0x18d4]
addss xmm4, dword [0x10147720]
movss dword [eax + 0x2da8], xmm4
movss dword [eax + 0x2dac], xmm5
jmp 0x100d85ca
mov eax, dword [0x102a2d10]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x100d8944
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100add50
add esp, 8
cmp dword [ebp - 0x34], 0
je 0x100d893f
test al, al
je 0x100d893f
mov eax, dword [ebp - 0x148]
cmp byte [eax], 0
je 0x100d8a60
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 0x100d89ac
mov dword [ebp - 0xd8], 0
jmp 0x100d78d4
mov eax, dword [0x102a2d10]
mov ecx, dword [eax + 0x44]
test ecx, ecx
js 0x100d89cf
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100add50
add esp, 8
cmp dword [ebp - 0x34], 0
je 0x100d89ca
test al, al
je 0x100d89ca
mov eax, dword [ebp - 0x148]
cmp byte [eax], 0
je 0x100d8aaf
call fcn.100b0e10
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.100b0e20
add esp, 8
jmp 0x100d7a56
mov dword [ebp - 0xd8], 0
mov edx, ebx
jmp 0x100d78d4
mov eax, dword [0x102a2d10]
mov ecx, dword [eax + 0x50]
test ecx, ecx
js 0x100d8a08
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100add50
add esp, 8
test al, al
je 0x100d8a03
mov eax, dword [ebp - 0x148]
movzx eax, byte [eax]
add eax, eax
or eax, esi
or eax, 0x200004
jmp 0x100d7a4e
mov eax, dword [0x102a2d10]
mov ecx, dword [eax + 0x54]
test ecx, ecx
js 0x100d8a7b
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100add50
add esp, 8
test al, al
je 0x100d8a76
mov eax, dword [ebp - 0x148]
movzx eax, byte [eax]
add eax, eax
or eax, esi
or eax, 0x200005
jmp 0x100d7a4e
mov edx, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x24]
cmp edi, esi
jne 0x100d77f0
jmp 0x100d77b6
mov edx, dword [ebp + 0x1c]
cmp edi, dword [ebp - 0x58]
jne 0x100d7880
jmp 0x100d785a
movzx eax, byte [ebp - 0xd4]
shl eax, 2
or eax, esi
or eax, 0x200002
jmp 0x100d7a4e
mov eax, dword [0x102a2d10]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x100d8aca
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100add50
add esp, 8
test dword [ebp + 0x1c], 0x4000
jne 0x100d8ac5
test al, al
je 0x100d8ac5
or esi, 0x200008
mov ecx, ebx
push esi
jmp 0x100d7a51
movzx eax, byte [ebp - 0xd4]
shl eax, 2
or eax, esi
or eax, 0x200003
jmp 0x100d7a4e
mov eax, dword [0x102a2d10]
mov ecx, dword [eax + 0x60]
test ecx, ecx
js 0x100d8b3e
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100add50
add esp, 8
test dword [ebp + 0x1c], 0x4000
jne 0x100d8b39
test al, al
je 0x100d8b39
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
mov edi, dword [ebp - 0x30]
jne 0x100d8b15
mov eax, 0x60000c
cmp byte [ebp - 0x108], 0
je 0x100d8d39
mov ecx, ebx
push eax
call fcn.100d8fb0
or esi, 0x200009
mov ecx, ebx
push esi
call fcn.100d8fb0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp - 0x70]
jmp 0x100d7a6a
mov eax, dword [0x102a2d10]
mov ecx, dword [eax + 0x68]
test ecx, ecx
mov esi, dword [ebp - 0x148]
js 0x100d8b66
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100add50
add esp, 8
test al, al
jne 0x100d8b83
mov eax, dword [0x102a2d10]
mov ecx, dword [eax + 0x70]
test ecx, ecx
js 0x100d8be4
mov dword [ebp - 0x10], 0xffffffff
push 1
push ecx
call fcn.100add50
add esp, 8
test al, al
je 0x100d8bdf
cmp dword [ebp - 0x34], 0
je 0x100d8bd1
movzx ecx, byte [esi]
movzx eax, byte [ebp - 0x70]
mov esi, dword [ebp + 0x1c]
test esi, 0x800
mov edi, dword [ebp - 0x30]
jne 0x100d8cd6
test cl, cl
mov edx, 1
cmovne eax, edx
mov dword [ebp - 0x20], 0
test esi, 0x4000
jne 0x100d8e39
mov edx, ecx
mov dword [ebp - 0x2c], edx
test cl, cl
je 0x100d8d03
jmp 0x100d7a6a
mov al, 1
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x20], 0
jmp 0x100d8c0d
mov eax, dword [0x102a2d10]
mov eax, dword [eax + 0x6c]
test eax, eax
js 0x100d8c14
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
call fcn.100add50
add esp, 8
test al, al
je 0x100d8c14
mov al, 1
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x2c], 0
mov al, 1
jmp 0x100d7a67
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x2c]
or cl, al
cmp cl, 1
jne 0x100d8c46
movzx eax, al
xor eax, 0x20000b
mov dword [ebp - 0x10], 0xffffffff
mov ecx, ebx
push eax
call fcn.100d8fb0
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x40], eax
jmp 0x100d7a56
cmp edi, dword [ebp - 0x58]
jne 0x100d8c8d
mov eax, dword [0x102a2d10]
mov eax, dword [eax + 0x74]
test eax, eax
js 0x100d8c8d
mov dword [ebp - 0x10], 0xffffffff
push 1
push eax
call fcn.100add50
add esp, 8
test al, al
je 0x100d8c8d
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 0x100d7a56
mov eax, dword [ebp - 0xb4]
or al, byte [ebp - 0xf8]
cmp al, 1
jne 0x100d8d7b
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0xd4], 0
je 0x100d8ea6
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + 0x40]
mov ebx, dword [ecx + 0x44]
cmp eax, ebx
jne 0x100d8e41
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax + 4]
mov dword [ebp - 0x10], 0xffffffff
xor edx, edx
jmp 0x100d8e52
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 0x100d7a6a
test cl, cl
je 0x100d7a6a
mov dword [ebp - 0xa4], 0xa
lea ecx, [ebp - 0xa4]
mov edx, dword [ebp + 0x1c]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
call fcn.100da1f0
add esp, 8
test al, al
je 0x100d8b23
mov ecx, ebx
push dword [ebp - 0xa4]
jmp 0x100d8b1e
cmp byte [ebp - 0x71], 0
je 0x100d8b15
mov eax, dword [ebp - 0x28]
cmp byte [eax + 0x103], 0
je 0x100d8b15
mov eax, dword [ebp - 0x138]
cmp byte [eax], 0
jne 0x100d8b15
mov eax, dword [ebp - 0x148]
cmp byte [eax], 0
jne 0x100d8b15
mov eax, 0x600004
jmp 0x100d8b0d
mov dword [ebp - 0x20], 0
cmp byte [ebp - 0xd8], 0
je 0x100d8f67
mov dword [ebp - 0x10], 0xffffffff
call fcn.100a0b00
test eax, eax
je 0x100d8f60
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.1009ca00
add esp, 4
mov dword [ebp - 0xb4], eax
cmp byte [edi], 0
je 0x100d8f47
mov dword [ebp - 0x58], 0
lea ebx, [ebp - 0xa4]
jmp 0x100d8ded
add edi, esi
cmp byte [edi], 0
lea ebx, [ebp - 0xa4]
je 0x100d8f12
push 0
push edi
push ebx
call fcn.1009c410
add esp, 0xc
cmp dword [ebp - 0xa4], 0
je 0x100d8f12
mov esi, eax
mov ecx, ebx
mov edx, dword [ebp + 0x1c]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
call fcn.100da1f0
add esp, 8
test al, al
je 0x100d8ddc
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 0x100d8ddc
mov dword [ebp - 0x2c], ecx
jmp 0x100d7a6a
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.1009d050
add esp, 8
mov edi, eax
inc edi
push edi
call fcn.1009ca00
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.1009cf80
add esp, 0x10
push esi
call fcn.100a0b30
add esp, 4
push esi
call fcn.1009ca30
add esp, 4
mov dword [ebp - 0x20], 0
cmp byte [ebp - 0xf8], 0
je 0x100d8f67
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x40]
mov eax, dword [eax + 0x44]
cmp ecx, eax
jne 0x100d8ee0
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 0x100d8f67
mov ebx, dword [ebp - 0x24]
lea edx, [ebx + 0x3c]
mov dword [ebp - 0x10], 0xffffffff
mov ecx, ebx
call fcn.100df240
mov byte [ebx + 0x4b], 0
jmp 0x100d7a56
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x58]
mov word [eax + ecx*2], 0
test ecx, ecx
jle 0x100d8f52
mov esi, dword [ebp - 0x24]
lea edx, [esi + 0x3c]
mov ecx, esi
push dword [ebp - 0x58]
push dword [ebp - 0xb4]
call fcn.100da360
add esp, 8
mov byte [esi + 0xe64], 1
jmp 0x100d8f52
mov eax, dword [ebp - 0xb4]
mov word [eax], 0
push dword [ebp - 0xb4]
call fcn.1009ca30
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 0x100d7a6a