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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101a1990
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x150
push esi
push edi
mov edi, dword [0x1026a4b8]
mov esi, edi
mov dword [ebp - 0x48], edx
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0x40], esi
mov eax, dword [esi + 0x1bac]
mov byte [eax + 0xac], 1
mov eax, dword [esi + 0x1bac]
mov dword [ebp - 0x54], eax
cmp byte [eax + 0xaf], 0
jne 0x100d3cab
mov edx, dword [ebx + 0x14]
mov ecx, edx
shr ecx, 0x1a
and ecx, 0xffffff01
mov dword [ebp - 0x30], ecx
mov ecx, edx
shr ecx, 0xe
and ecx, 0xffffff01
mov dword [ebp - 0x58], ecx
mov ecx, edx
shr ecx, 0xf
and ecx, 0xffffff01
mov dword [ebp - 0xa0], ecx
mov ecx, edx
shr ecx, 0x10
not cl
and ecx, 0xffffff01
mov dword [ebp - 0x74], ecx
mov ecx, edx
shr ecx, 0x12
and ecx, 0xffffff01
cmp byte [ebp - 0x30], 0
mov dword [ebp - 0x90], ecx
je 0x100d39b0
call fcn.100bad00
mov edi, dword [0x1026a4b8]
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax + 0xe4]
xor edx, edx
mov eax, dword [eax + 0xec]
push dword [eax + ecx*4 - 4]
mov ecx, dword [ebp - 0xa4]
call fcn.100ae2f0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [edi + 0x1be0], eax
jne 0x100d39e1
mov dword [edi + 0x1be4], eax
cmp dword [edi + 0x1c1c], eax
jne 0x100d39f0
mov byte [edi + 0x1c20], 1
mov edx, dword [ebp - 0xa4]
mov eax, edx
cmp edx, 0xffffffff
jae 0x100d3a16
nop dword [eax]
mov cl, byte [eax]
test cl, cl
je 0x100d3a16
cmp cl, 0x23
jne 0x100d3a10
cmp byte [eax + 1], cl
je 0x100d3a16
inc eax
cmp eax, 0xffffffff
jb 0x100d3a00
movss xmm1, dword [edi + 0x1940]
movss xmm0, dword [0x10251864]
movss dword [ebp - 0x20], xmm1
movss dword [ebp - 0xec], xmm0
cmp edx, eax
jne 0x100d3a3c
xorps xmm5, xmm5
jmp 0x100d3a84
movss xmm3, dword [0x1025181c]
movaps xmm2, xmm1
push 0
push eax
push edx
push ecx
mov ecx, dword [edi + 0x193c]
lea eax, [ebp - 0x80]
mov dword [esp], 0xbf800000
push eax
call fcn.100c79a0
movss xmm0, dword [ebp - 0x80]
addss xmm0, dword [0x10251580]
movss xmm1, dword [ebp - 0x7c]
movss dword [ebp - 0x20], xmm1
cvttss2si eax, xmm0
movd xmm5, eax
cvtdq2ps xmm5, xmm5
cmp byte [ebp - 0x30], 0
xorps xmm4, xmm4
movss xmm0, dword [edi + 0x1564]
addss xmm0, xmm0
movss dword [ebp - 0xd0], xmm5
addss xmm0, dword [edi + 0x1940]
movss dword [ebp - 0x18], xmm0
je 0x100d3abe
movss xmm1, dword [esi + 0x1940]
mulss xmm1, dword [0x102516c0]
comiss xmm5, xmm4
movss xmm3, dword [esi + 0x1564]
movaps xmm2, xmm3
addss xmm2, xmm3
addss xmm2, xmm1
jbe 0x100d3ae3
movaps xmm3, xmm0
addss xmm3, dword [esi + 0x1578]
jmp 0x100d3ae6
xorps xmm3, xmm3
test byte [edi + 0x1c34], 1
mov eax, dword [edi + 0x1bac]
je 0x100d3aff
movss xmm0, dword [edi + 0x1c38]
jmp 0x100d3b07
movss xmm0, dword [eax + 0x1c0]
comiss xmm4, xmm0
jbe 0x100d3b46
cmp dword [eax + 0x1a4], 0
movss xmm1, dword [eax + 0x258]
jne 0x100d3b26
cmp dword [edi + 0x1f18], 0
je 0x100d3b2e
movss xmm1, dword [eax + 0x228]
subss xmm1, dword [eax + 0xf0]
addss xmm1, xmm0
movss xmm0, dword [0x10251588]
maxss xmm0, xmm1
cvttss2si eax, xmm0
lea ecx, [ebp - 0x80]
movd xmm1, eax
mov eax, dword [ebx + 0x10]
cvtdq2ps xmm1, xmm1
push dword [eax + 4]
subss xmm1, xmm3
push dword [eax]
call fcn.100bac20
movss xmm1, dword [ebp - 0xd0]
xorps xmm0, xmm0
movss xmm2, dword [ebp - 0x20]
add esp, 8
comiss xmm1, xmm0
jbe 0x100d3b82
movaps xmm7, xmm2
jmp 0x100d3b85
xorps xmm7, xmm7
movss xmm0, dword [ebp - 0x18]
jbe 0x100d3b99
movaps xmm1, xmm0
addss xmm1, dword [esi + 0x1578]
jmp 0x100d3b9c
xorps xmm1, xmm1
mov eax, dword [ebp - 0x54]
movss xmm4, dword [ebp - 0x80]
movss dword [ebp - 0x70], xmm4
movss xmm5, dword [eax + 0xf0]
movss xmm6, dword [eax + 0xf4]
movaps xmm3, xmm5
addss xmm3, xmm4
movaps xmm4, xmm6
addss xmm4, dword [ebp - 0x7c]
addss xmm3, xmm1
xorps xmm1, xmm1
addss xmm4, xmm7
movss xmm7, dword [ebp - 0xd0]
comiss xmm7, xmm1
ja 0x100d3cc0
xorps xmm2, xmm2
xorps xmm0, xmm0
cmp byte [ebp - 0x30], 0
movaps xmm1, xmm5
addss xmm1, xmm0
movss dword [ebp - 0xc4], xmm3
movaps xmm0, xmm6
movss dword [ebp - 0xc0], xmm4
addss xmm0, xmm2
movss dword [ebp - 0x100], xmm5
movss dword [ebp - 0xfc], xmm6
mov dword [ebp - 0x68], eax
movss dword [ebp - 0xcc], xmm1
addss xmm1, dword [ebp - 0x80]
movss dword [ebp - 0xc8], xmm0
addss xmm0, dword [ebp - 0x7c]
movss dword [ebp - 0xf8], xmm1
movss dword [ebp - 0xf4], xmm0
je 0x100d3e7d
mov edx, dword [ebp - 0x28]
lea eax, [ebp - 0xcc]
push ecx
push eax
lea ecx, [ebp - 0x100]
call fcn.100ba980
add esp, 8
test al, al
jne 0x100d3ccd
movss xmm0, dword [ebp - 0xf8]
lea ecx, [ebp - 0x80]
subss xmm0, dword [ebp - 0x100]
movss xmm1, dword [esi + 0x1564]
movss dword [ebp - 0x80], xmm0
movss xmm0, dword [ebp - 0xf4]
subss xmm0, dword [ebp - 0xfc]
movss dword [ebp - 0x7c], xmm0
call fcn.100ba850
call fcn.100bae30
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
addss xmm0, dword [esi + 0x1578]
jmp 0x100d3bea
mov esi, dword [0x1026a4b8]
lea eax, [ebp - 0xe4]
push eax
mov dword [ebp - 0xe4], 3
movups xmm0, xmmword [esi + 0x161c]
lea ecx, [esi + 0x1cd8]
movups xmmword [ebp - 0xe0], xmm0
call fcn.100c1120
mov edi, dword [ebp - 0x40]
lea eax, [ebp - 0x8c]
push eax
mov dword [ebp - 0x8c], 6
movups xmm0, xmmword [edi + 0x165c]
movups xmmword [esi + 0x161c], xmm0
mov esi, dword [0x1026a4b8]
movss xmm0, dword [edi + 0x1568]
movss dword [ebp - 0x3c], xmm0
movss xmm0, dword [esi + 0x1550]
lea ecx, [esi + 0x1ce4]
movss dword [ebp - 0x88], xmm0
call fcn.100c1050
movss xmm0, dword [ebp - 0x3c]
lea eax, [ebp - 0x8c]
movss dword [esi + 0x1550], xmm0
mov esi, dword [0x1026a4b8]
movss xmm0, dword [edi + 0x156c]
movss dword [ebp - 0x3c], xmm0
push eax
movss xmm0, dword [esi + 0x1554]
lea ecx, [esi + 0x1ce4]
mov dword [ebp - 0x8c], 7
movss dword [ebp - 0x88], xmm0
call fcn.100c1050
movss xmm0, dword [ebp - 0x3c]
lea edx, [edi + 0x1560]
mov ecx, 1
movss dword [esi + 0x1554], xmm0
call fcn.100af2a0
movss xmm1, dword [ebp - 0xc4]
lea eax, [ebp - 0x88]
movss xmm0, dword [ebp - 0xc0]
subss xmm1, dword [ebp - 0xcc]
subss xmm0, dword [ebp - 0xc8]
mov edx, dword [ebp - 0x28]
push 0x10004
push ecx
mov ecx, dword [ebp - 0xa4]
push eax
movss dword [ebp - 0x88], xmm1
movss dword [ebp - 0x84], xmm0
call fcn.100b4d00
add esp, 0xc
mov byte [ebp - 0x42], al
mov ecx, 3
call fcn.100af320
mov esi, dword [0x1026a4b8]
mov ecx, dword [esi + 0x1cd8]
lea edx, [ecx + ecx*4]
mov ecx, dword [esi + 0x1ce0]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
shl eax, 4
movups xmmword [eax + esi + 0x15ec], xmm0
dec dword [esi + 0x1cd8]
cmp byte [ebp - 0x42], 0
jne 0x100d3e50
call fcn.100b4f80
jmp 0x100d3ca6
movss xmm0, dword [ebp - 0x80]
mov esi, edi
mov edi, dword [esi + 0x1bac]
mov dword [ebp - 0x68], edi
subss xmm0, dword [edi + 0xa0]
mov ax, word [edi + 0x140]
or word [edi + 0x146], ax
movss dword [ebp - 0x70], xmm0
jmp 0x100d3ec9
subss xmm1, xmm5
subss xmm0, xmm6
lea ecx, [ebp - 0x88]
movss dword [ebp - 0x88], xmm1
movss xmm1, dword [esi + 0x1564]
movss dword [ebp - 0x84], xmm0
call fcn.100ba850
mov edx, dword [ebp - 0x28]
lea eax, [ebp - 0xcc]
push ecx
push eax
lea ecx, [ebp - 0x100]
call fcn.100ba980
add esp, 8
test al, al
je 0x100d3cab
mov edx, dword [ebp - 0x28]
lea ecx, [ebp - 0xcc]
call fcn.100b0ca0
mov edx, dword [ebp - 0x28]
xor ecx, ecx
mov byte [ebp - 0x41], al
test al, al
lea eax, [esi + 0x1fa8]
mov dword [ebp - 0x20], eax
mov edi, eax
je 0x100d3f14
cmp dword [eax], edx
mov dword [esi + 0x1e84], 1
cmovne edi, ecx
mov dword [ebp - 0x50], edi
cmp byte [esi + 0x3d8], cl
je 0x100d3f1c
mov byte [ebp - 0x13], 1
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x50], edi
jmp 0x100d3f20
cmp dword [eax], edx
cmovne edi, ecx
mov dword [ebp - 0x50], edi
mov byte [ebp - 0x13], 0
mov ecx, dword [esi + 0x1be0]
cmp ecx, edx
je 0x100d3f49
cmp dword [esi + 0x1d5c], edx
je 0x100d3f43
cmp dword [esi + 0x1d50], edx
jne 0x100d3f49
cmp dword [esi + 0x1d74], 2
jne 0x100d3f49
mov byte [ebp - 0x12], 1
jmp 0x100d3f4d
mov byte [ebp - 0x12], 0
mov eax, dword [ebp - 0x30]
test al, al
je 0x100d3f95
test edi, edi
je 0x100d3f95
test ecx, ecx
jne 0x100d3f95
mov eax, dword [ebp - 0x68]
xor edx, edx
mov ecx, dword [eax + 0xe4]
mov eax, dword [eax + 0xec]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.100ae2f0
add esp, 4
cmp dword [esi + 0x1c1c], eax
jne 0x100d3f8c
mov byte [ebp - 0x1a], 1
jmp 0x100d3fa1
mov ecx, dword [esi + 0x1be0]
mov eax, dword [ebp - 0x30]
mov byte [ebp - 0x1a], 0
test al, al
je 0x100d3fd1
test edi, edi
je 0x100d3fd1
mov eax, dword [ebp - 0x68]
mov ecx, str.SCROLLY
mov edx, dword [eax + 0xe4]
mov eax, dword [eax + 0xec]
push dword [eax + edx*4 - 4]
xor edx, edx
call fcn.100ae2f0
mov ecx, dword [esi + 0x1be0]
add esp, 4
cmp ecx, eax
jne 0x100d3fd1
mov al, 1
jmp 0x100d3fd3
xor al, al
mov dl, byte [ebp - 0x12]
mov byte [ebp - 0x2b], al
mov byte [ebp - 0x35], 0
cmp ecx, dword [ebp - 0x28]
je 0x100d3ff6
test byte [ebx + 0x14], 0x10
jne 0x100d3fec
test dl, dl
je 0x100d3ff6
cmp byte [ebp - 0x30], 0
mov byte [ebp - 0x5c], 1
je 0x100d3ffa
mov byte [ebp - 0x5c], 0
cmp byte [ebp - 0x13], 0
jne 0x100d4019
cmp byte [ebp - 0x1a], 0
jne 0x100d4019
test dl, dl
jne 0x100d4019
mov byte [ebp - 0x19], dl
test al, al
jne 0x100d401d
mov byte [ebp - 0x1a], al
jmp 0x100d4223
mov byte [ebp - 0x19], 1
mov byte [ebp - 0x1a], 1
mov dword [ebp - 0x50], edi
cmp ecx, dword [ebp - 0x28]
je 0x100d4223
mov edi, dword [ebp - 0x20]
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x50], edi
mov dword [edi + 0xe68], 0xbe99999a
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d4043
mov eax, dword [edi + 0x28]
sub ecx, edx
lea edx, [ecx + 1]
mov dword [ebp - 0x18], edx
cmp edx, eax
jle 0x100d4084
test eax, eax
je 0x100d406c
cdq
sub eax, edx
mov edx, dword [ebp - 0x18]
mov ecx, eax
sar ecx, 1
add ecx, dword [edi + 0x28]
jmp 0x100d4071
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [edi + 0x24]
push eax
call fcn.100c14e0
mov edx, dword [ebp - 0x18]
push edx
push dword [ebx + 8]
mov dword [edi + 0x24], edx
push dword [edi + 0x2c]
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [ebx + 0xc]
add esp, 0xc
mov eax, dword [edi + 0x10]
inc edx
mov dword [ebp - 0x18], edx
cmp edx, eax
jle 0x100d40cf
test eax, eax
je 0x100d40b7
cdq
sub eax, edx
mov edx, dword [ebp - 0x18]
mov ecx, eax
sar ecx, 1
add ecx, dword [edi + 0x10]
jmp 0x100d40bc
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [edi + 0xc]
push eax
call fcn.100c1560
mov edx, dword [ebp - 0x18]
lea eax, [edi + 0x18]
mov dword [edi + 0xc], edx
mov ecx, dword [eax + 4]
test ecx, ecx
jns 0x100d40f8
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [edi + 0x18]
call fcn.100c14e0
lea eax, [edi + 0x18]
mov esi, dword [ebx + 0xc]
mov dword [eax], 0
mov ecx, dword [edi + 0x14]
mov edx, ecx
mov eax, dword [ebx + 8]
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x20], ecx
lea ecx, [ecx + esi*2]
mov byte [edi + 0x30], 0
mov esi, dword [ebp - 0x40]
add ecx, 0xfffffffe
mov dword [ebp - 0x60], eax
cmp edx, ecx
jae 0x100d416a
mov edi, dword [ebx + 0xc]
mov esi, eax
cmp byte [esi], 0
je 0x100d4161
push 0
mov edx, esi
lea ecx, [ebp - 0x3c]
call fcn.100ae5a0
mov edx, dword [ebp - 0x20]
add esi, eax
mov eax, dword [ebp - 0x3c]
add esp, 4
mov dword [ebp - 0x60], esi
test eax, eax
je 0x100d4161
mov ecx, dword [ebp - 0x64]
mov word [edx], ax
lea eax, [edi - 1]
add edx, 2
mov dword [ebp - 0x20], edx
lea eax, [ecx + eax*2]
cmp edx, eax
jb 0x100d4128
mov edi, dword [ebp - 0x50]
mov esi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x60]
sub eax, dword [ebx + 8]
xor ecx, ecx
mov word [edx], cx
sub edx, dword [ebp - 0x64]
sar edx, 1
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x28]
mov dword [edi + 4], edx
cmp dword [edi], eax
jne 0x100d41ab
cmp dword [edi + 0x3c], edx
mov ecx, edx
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], edx
mov dword [edi + 0x3c], ecx
mov ecx, edx
cmovl ecx, dword [edi + 0x40]
cmp dword [edi + 0x44], edx
mov dword [edi + 0x40], ecx
cmovl edx, dword [edi + 0x44]
mov ecx, dword [ebp - 0x30]
mov dword [edi + 0x44], edx
jmp 0x100d41f4
mov dword [edi], eax
mov dword [edi + 0x38], ecx
mov dword [edi + 0xe60], ecx
mov dword [edi + 0x40], ecx
mov dword [edi + 0x44], ecx
mov dword [edi + 0x3c], ecx
mov dword [edi + 0x58], ecx
mov byte [edi + 0x50], cl
mov ecx, dword [ebp - 0x30]
mov al, cl
xor al, 1
mov dword [edi + 0xe5a], 0x630000
mov dword [edi + 0xe64], 0x3e7
mov word [edi + 0x51], 1
mov byte [edi + 0x53], al
mov byte [edi + 0x48], 0
mov dword [edi + 0x4c], 0
mov edx, dword [ebx + 0x14]
test edx, 0x2000
je 0x100d4203
mov byte [edi + 0x48], 1
test cl, cl
jne 0x100d4223
cmp byte [ebp - 0x13], cl
je 0x100d4223
mov eax, dword [ebp - 0x5c]
cmp byte [esi + 0xfc], cl
mov ecx, 1
movzx eax, al
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x28]
cmp dword [esi + 0x1be0], ecx
je 0x100d42c8
cmp byte [ebp - 0x19], 0
je 0x100d42c8
mov edx, dword [ebp - 0x54]
call fcn.100b0b40
call fcn.100bcb80
mov ecx, edx
call fcn.100b9ef0
mov eax, dword [esi + 0x1bf4]
mov edx, dword [ebx + 0x14]
or eax, 3
cmp byte [ebp - 0x30], 0
mov dword [esi + 0x1bf4], eax
jne 0x100d426c
test dl, dl
jns 0x100d4275
or eax, 0xc
mov dword [esi + 0x1bf4], eax
mov eax, dword [esi + 0x1c00]
or dword [esi + 0x1bf8], 2
or eax, 0x180
cmp byte [ebp - 0x30], 0
mov ecx, dword [esi + 0x1c04]
mov dword [esi + 0x1c00], eax
mov dword [esi + 0x1c04], ecx
je 0x100d42ae
or eax, 0x60
mov dword [esi + 0x1c04], ecx
mov dword [esi + 0x1c00], eax
test edx, 0x440
je 0x100d42c5
or eax, 1
mov dword [esi + 0x1c04], ecx
mov dword [esi + 0x1c00], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [esi + 0x1be0]
cmp eax, ecx
jne 0x100d4305
test edi, edi
jne 0x100d42e8
call fcn.100b0c10
mov eax, dword [esi + 0x1be0]
mov ecx, dword [ebp - 0x28]
cmp eax, ecx
jne 0x100d4305
cmp byte [esi + 0x3d8], 0
je 0x100d430f
cmp byte [ebp - 0x1a], 0
jne 0x100d430f
cmp byte [ebp - 0x19], 0
jne 0x100d430f
mov byte [ebp - 0x35], 1
mov dl, 1
jmp 0x100d4315
test edi, edi
je 0x100d4313
cmp byte [ebp - 0x2b], 0
je 0x100d4313
mov dl, 1
jmp 0x100d4315
xor dl, dl
mov byte [ebp - 0x23], dl
test edi, edi
je 0x100d432c
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x100d432c
test dl, dl
je 0x100d432c
mov al, 1
jmp 0x100d432e
xor al, al
cmp byte [ebp - 0x58], 0
mov byte [ebp - 0x22], al
mov byte [ebp - 0x42], 0
mov byte [ebp - 0x1a], 0
je 0x100d443b
test edi, edi
je 0x100d443b
test dl, dl
jne 0x100d4357
test al, al
je 0x100d4443
mov ecx, dword [ebx + 0xc]
mov eax, dword [edi + 0x10]
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, eax
jle 0x100d438e
test eax, eax
je 0x100d4375
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, dword [edi + 0x10]
jmp 0x100d437a
mov ecx, 8
mov eax, dword [ebp - 0x18]
cmp ecx, eax
cmovg eax, ecx
lea ecx, [edi + 0xc]
push eax
call fcn.100c1560
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebx + 8]
mov dword [edi + 0xc], ecx
dec ecx
mov edx, dword [edi + 0x14]
mov esi, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x34], edx
lea ecx, [esi + ecx*2]
cmp esi, ecx
mov dword [ebp - 0x60], ecx
mov esi, dword [ebp - 0x40]
jae 0x100d43e9
mov esi, eax
cmp byte [esi], 0
je 0x100d43e3
push 0
mov edx, esi
lea ecx, [ebp - 0x3c]
call fcn.100ae5a0
mov edx, dword [ebp - 0x34]
add esi, eax
mov eax, dword [ebp - 0x3c]
add esp, 4
mov dword [ebp - 0x20], esi
test eax, eax
je 0x100d43e3
mov word [edx], ax
add edx, 2
mov dword [ebp - 0x34], edx
cmp edx, dword [ebp - 0x60]
jb 0x100d43b2
mov esi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x20]
sub eax, dword [ebx + 8]
xor ecx, ecx
mov word [edx], cx
sub edx, dword [ebp - 0x18]
sar edx, 1
cmp dword [edi + 0x3c], edx
mov ecx, edx
mov dword [ebp - 0x34], edx
cmovl ecx, dword [edi + 0x3c]
mov dword [edi + 0x3c], ecx
mov ecx, edx
cmp dword [edi + 0x40], ecx
mov dword [edi + 4], edx
cmovl edx, dword [edi + 0x40]
cmp dword [edi + 0x44], ecx
mov dword [edi + 8], eax
cmovl ecx, dword [edi + 0x44]
movzx eax, byte [ebp - 0x22]
mov dword [ebp - 0x34], ecx
mov dword [edi + 0x44], ecx
xor ecx, ecx
cmp edx, dword [ebp - 0x34]
mov dword [edi + 0x40], edx
mov dl, byte [ebp - 0x23]
cmovne ecx, eax
mov al, cl
mov ecx, dword [ebp - 0x28]
mov byte [ebp - 0x22], al
test dl, dl
jne 0x100d444b
test al, al
jne 0x100d444b
cmp dword [esi + 0x1be0], ecx
jne 0x100d445f
cmp byte [ebp - 0x58], 0
jne 0x100d445f
test edi, edi
je 0x100d445f
cmp byte [edi + 0x30], 0
je 0x100d445f
mov al, 1
jmp 0x100d4461
xor al, al
cmp dword [ebp - 0x48], 0
mov byte [ebp - 0x69], al
je 0x100d447f
test al, al
je 0x100d4473
mov eax, dword [edi + 0x20]
jmp 0x100d4476
mov eax, dword [ebx + 8]
cmp byte [eax], 0
jne 0x100d447f
mov al, 1
jmp 0x100d4481
xor al, al
cmp byte [ebp - 0xa0], 0
mov byte [ebp - 0x24], al
je 0x100d4519
test al, al
jne 0x100d4519
mov edx, dword [esi + 0x193c]
cmp dword [edx + 0x14], 0x2a
ja 0x100d44aa
mov eax, dword [edx + 0x2c]
jmp 0x100d44c9
mov eax, dword [edx + 0x1c]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x100d44c0
mov eax, dword [edx + 0x2c]
jmp 0x100d44c9
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x28]
lea eax, [eax + ecx*8]
mov dword [ebp - 0x20], eax
lea ecx, [esi + 0x2e24]
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x193c]
mov eax, dword [eax + 0x44]
mov dword [ecx + 0x44], eax
mov eax, dword [esi + 0x193c]
mov eax, dword [eax + 0x48]
mov dword [ecx + 0x48], eax
mov eax, dword [esi + 0x193c]
mov eax, dword [eax + 0x4c]
mov dword [ecx + 0x4c], eax
mov eax, dword [esi + 0x193c]
mov eax, dword [eax + 0x30]
mov dword [ecx + 0x30], eax
mov eax, dword [ebp - 0x20]
mov dword [ecx + 0x2c], eax
mov eax, dword [eax + 4]
mov dword [ecx + 0xc], eax
call fcn.100ba110
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x60], 0
cmp dword [esi + 0x1be0], eax
jne 0x100d4911
mov eax, dword [edi + 8]
mov dword [ebp - 0x60], eax
mov eax, dword [ebx + 0xc]
mov dword [edi + 0x34], eax
mov eax, dword [ebx + 0x14]
mov dword [edi + 0xe70], eax
mov dword [edi + 0xe74], 0
mov dword [edi + 0xe78], 0
mov cl, byte [esi + 0xec]
test cl, cl
mov dword [esi + 0x31a4], 1
sete al
cmp byte [ebp - 0x30], 0
mov byte [esi + 0x1bed], al
movss xmm7, dword [esi + 0xe4]
subss xmm7, dword [ebp - 0xcc]
subss xmm7, dword [esi + 0x1560]
addss xmm7, dword [edi + 0x38]
je 0x100d45b3
mov eax, dword [ebp - 0x68]
movss xmm2, dword [esi + 0xe8]
subss xmm2, dword [eax + 0xf4]
subss xmm2, dword [esi + 0x1564]
jmp 0x100d45c3
movss xmm2, dword [esi + 0x1940]
mulss xmm2, dword [0x10251528]
cmp byte [ebp - 0x5c], 0
mov dl, byte [esi + 0xb1]
mov byte [ebp - 0x13], dl
jne 0x100d4738
mov ah, byte [ebp - 0x41]
test ah, ah
je 0x100d45ef
mov al, byte [esi + 0x3dd]
test dl, dl
jne 0x100d465a
test al, al
jne 0x100d4738
cmp byte [esi + 0x3d8], 0
mov al, byte [edi + 0xe6d]
je 0x100d46af
test al, al
jne 0x100d46af
test ah, ah
je 0x100d4753
cmp byte [edi + 0x53], al
je 0x100d4631
push 0
mov edx, edi
lea ecx, [ebp - 0xe8]
call fcn.100d1e60
movss xmm2, dword [ebp - 0xdc]
add esp, 4
movaps xmm1, xmm7
mov ecx, edi
call fcn.100d2130
mov dl, byte [ebp - 0x13]
mov dword [edi + 0x3c], eax
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], eax
mov byte [edi + 0x52], 0
mov dword [edi + 0xe68], 0xbe99999a
jmp 0x100d4753
test al, al
je 0x100d45ef
push 0x20000c
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100d2560
add esp, 4
mov byte [edi + 0xe6c], 1
lea edx, [edi + 0x3c]
mov dword [edi + 0xe68], 0xbe99999a
mov ecx, edi
push 0x60000d
call fcn.100d2560
mov esi, dword [ebp - 0x40]
add esp, 4
mov dl, byte [ebp - 0x13]
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
jmp 0x100d4753
test cl, cl
je 0x100d4753
test al, al
jne 0x100d4753
movss xmm0, dword [esi + 0x374]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100d46e4
movss xmm0, dword [esi + 0x378]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100d4753
cmp byte [edi + 0x53], 0
je 0x100d4704
push 0
mov edx, edi
lea ecx, [ebp - 0xe8]
call fcn.100d1e60
movss xmm2, dword [ebp - 0xdc]
add esp, 4
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x100d4712
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x40], eax
movaps xmm1, xmm7
mov ecx, edi
call fcn.100d2130
mov dl, byte [ebp - 0x13]
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0xe68], 0xbe99999a
mov byte [edi + 0xe6c], 1
jmp 0x100d4753
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
mov byte [edi + 0xe6d], 1
cmp byte [edi + 0xe6d], 0
je 0x100d476c
cmp byte [esi + 0xec], 0
jne 0x100d476c
mov byte [edi + 0xe6d], 0
cmp byte [esi + 0xfc], 0
je 0x100d477e
cmp byte [esi + 0xfe], 0
je 0x100d478b
test dl, dl
je 0x100d4791
cmp byte [esi + 0xff], 0
je 0x100d4791
mov byte [ebp - 0x11], 1
jmp 0x100d4795
mov byte [ebp - 0x11], 0
mov edx, dword [ebx + 0x14]
test edx, 0x400
je 0x100d497d
mov eax, dword [0x1026a4b8]
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x100d497d
call fcn.100b4c40
mov cl, byte [ebp - 0x11]
test al, al
je 0x100d483f
test cl, cl
jne 0x100d483f
cmp byte [esi + 0xfd], cl
jne 0x100d483f
cmp byte [ebp - 0x58], cl
jne 0x100d483f
mov ecx, dword [esi + 0x1524]
mov eax, dword [esi + 0x151c]
lea edx, [ecx + eax*2]
cmp ecx, edx
jae 0x100d47ff
nop dword [eax]
movzx eax, word [ecx]
add ecx, 2
cmp eax, 9
je 0x100d483c
cmp ecx, edx
jb 0x100d47f0
mov edx, dword [ebx + 0x14]
lea ecx, [ebp - 0x18]
sub esp, 8
mov dword [ebp - 0x18], 9
call fcn.100d3750
add esp, 8
test al, al
je 0x100d483c
push dword [ebp - 0x18]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100d2560
add esp, 4
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
mov cl, byte [ebp - 0x11]
mov edx, dword [ebx + 0x14]
cmp dword [esi + 0x151c], 0
lea eax, [esi + 0x151c]
jle 0x100d4911
test cl, cl
jne 0x100d48e2
cmp byte [ebp - 0x58], cl
jne 0x100d48e2
cmp byte [ebp - 0x12], cl
jne 0x100d48e2
xor ecx, ecx
mov dword [ebp - 0x20], ecx
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [esi + 0x1524]
movzx eax, word [eax + ecx*2]
mov dword [ebp - 0x18], eax
cmp eax, 9
jne 0x100d489b
cmp byte [esi + 0xfd], 0
jne 0x100d48d1
sub esp, 8
lea ecx, [ebp - 0x18]
call fcn.100d3750
add esp, 8
test al, al
je 0x100d48ce
push dword [ebp - 0x18]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100d2560
add esp, 4
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebx + 0x14]
lea eax, [esi + 0x151c]
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, dword [eax]
jl 0x100d4880
mov ecx, dword [eax + 4]
test ecx, ecx
jns 0x100d490b
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [esi + 0x151c]
call fcn.100c1560
lea eax, [esi + 0x151c]
mov dword [eax], 0
mov eax, dword [esi + 0x1be0]
xor cl, cl
mov edx, dword [ebp - 0x28]
mov byte [ebp - 0x11], cl
cmp eax, edx
jne 0x100d5845
cmp byte [esi + 0x1bec], cl
jne 0x100d527e
cmp byte [ebp - 0x35], cl
jne 0x100d527e
mov ch, byte [esi + 0xfd]
xor eax, eax
mov edx, 0x400000
test ch, ch
cmovne eax, edx
mov dh, byte [esi + 0xb1]
mov dl, byte [esi + 0xfc]
mov dword [ebp - 0x4c], eax
mov byte [ebp - 0x95], dh
mov byte [ebp - 0x21], dl
test dh, dh
je 0x100d498f
cmp byte [esi + 0xff], cl
je 0x100d4985
test dl, dl
jne 0x100d4985
mov eax, 1
jmp 0x100d4989
mov cl, byte [ebp - 0x11]
jmp 0x100d4842
xor eax, eax
mov cl, dl
test eax, eax
je 0x100d49b1
jmp 0x100d499e
test dl, dl
je 0x100d49af
cmp byte [esi + 0xff], 0
jne 0x100d49af
mov cl, dl
cmp byte [esi + 0xfe], 0
jne 0x100d49b1
test ch, ch
jne 0x100d49b1
mov ah, 1
jmp 0x100d49b3
mov cl, dl
xor ah, ah
mov byte [ebp - 0x12], ah
mov al, cl
test dh, dh
je 0x100d49dd
cmp byte [esi + 0xff], 0
je 0x100d49dd
test ch, ch
je 0x100d49dd
mov al, dl
test dl, dl
jne 0x100d49dd
cmp byte [esi + 0xfe], dl
jne 0x100d49dd
mov byte [ebp - 0x2a], 1
jmp 0x100d49e9
mov byte [ebp - 0x2a], 0
test dh, dh
je 0x100d4a91
cmp byte [esi + 0xff], 0
mov cl, byte [esi + 0xfe]
mov byte [ebp - 0x13], cl
je 0x100d4a98
test al, al
jne 0x100d4a98
test cl, cl
jne 0x100d4a98
mov byte [ebp - 0x19], 1
mov byte [ebp - 0x36], 0
test ch, ch
je 0x100d4a33
test al, al
jne 0x100d4a33
cmp byte [esi + 0xfe], al
jne 0x100d4a33
mov byte [ebp - 0x29], 1
cmp byte [esi + 0xff], al
je 0x100d4a37
mov byte [ebp - 0x29], 0
test ah, ah
je 0x100d4a53
mov eax, dword [0x1026a4b8]
mov ecx, dword [eax + 0x80]
test ecx, ecx
js 0x100d4a53
call fcn.100b4c40
test al, al
jne 0x100d4a6e
cmp byte [ebp - 0x29], 0
je 0x100d4acd
mov eax, dword [0x1026a4b8]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x100d4acd
call fcn.100b4c40
test al, al
je 0x100d4acd
cmp byte [ebp - 0x58], 0
jne 0x100d4acd
cmp byte [ebp - 0xa0], 0
jne 0x100d4acd
cmp byte [ebp - 0x30], 0
je 0x100d4a8b
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x100d4acd
mov byte [ebp - 0x2b], 1
jmp 0x100d4ad1
mov byte [ebp - 0x13], al
mov byte [ebp - 0x2a], 0
mov byte [ebp - 0x19], 0
test al, al
je 0x100d4a13
test ch, ch
jne 0x100d4a13
cmp byte [esi + 0xfe], ch
jne 0x100d4a13
cmp byte [esi + 0xff], ch
jne 0x100d4a13
mov byte [ebp - 0x36], 1
jmp 0x100d4a33
mov byte [ebp - 0x2b], 0
cmp byte [ebp - 0x12], 0
je 0x100d4aec
mov eax, dword [0x1026a4b8]
mov ecx, dword [eax + 0x78]
test ecx, ecx
js 0x100d4aec
call fcn.100b4c40
test al, al
jne 0x100d4b07
cmp byte [ebp - 0x36], 0
je 0x100d4b24
mov eax, dword [0x1026a4b8]
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x100d4b24
call fcn.100b4c40
test al, al
je 0x100d4b24
cmp byte [ebp - 0xa0], 0
jne 0x100d4b24
cmp byte [ebp - 0x30], 0
je 0x100d4b1e
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x100d4b24
mov byte [ebp - 0x41], 1
jmp 0x100d4b28
mov byte [ebp - 0x41], 0
cmp byte [ebp - 0x12], 0
je 0x100d4b43
mov eax, dword [0x1026a4b8]
mov ecx, dword [eax + 0x7c]
test ecx, ecx
js 0x100d4b43
call fcn.100b4c40
test al, al
jne 0x100d4b5e
cmp byte [ebp - 0x29], 0
je 0x100d4b68
mov eax, dword [0x1026a4b8]
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x100d4b68
call fcn.100b4c40
test al, al
je 0x100d4b68
cmp byte [ebp - 0x58], 0
mov byte [ebp - 0x29], 1
je 0x100d4b6c
mov byte [ebp - 0x29], 0
mov dl, byte [ebp - 0x12]
test dl, dl
je 0x100d4ba0
mov eax, dword [0x1026a4b8]
mov ecx, dword [eax + 0x88]
test ecx, ecx
js 0x100d4ba0
call fcn.100b4c40
test al, al
je 0x100d4b9d
cmp byte [ebp - 0x58], 0
jne 0x100d4b9d
cmp byte [ebp - 0x74], 0
je 0x100d4b9d
mov byte [ebp - 0x36], 1
jmp 0x100d4ba8
mov dl, byte [ebp - 0x12]
mov byte [ebp - 0x36], 0
test dl, dl
je 0x100d4bc0
mov eax, dword [0x1026a4b8]
mov ecx, dword [eax + 0x84]
test ecx, ecx
js 0x100d4bc0
call fcn.100b4c40
test al, al
jne 0x100d4bde
cmp byte [ebp - 0x2a], 0
je 0x100d4bee
mov eax, dword [0x1026a4b8]
mov ecx, dword [eax + 0x88]
test ecx, ecx
js 0x100d4bee
call fcn.100b4c40
test al, al
je 0x100d4bee
cmp byte [ebp - 0x58], 0
jne 0x100d4bee
cmp byte [ebp - 0x74], 0
mov byte [ebp - 0x2a], 1
jne 0x100d4bf2
mov byte [ebp - 0x2a], 0
mov eax, dword [0x1026a4b8]
mov ecx, dword [eax + 0x38]
test ecx, ecx
js 0x100d4c3a
call fcn.100b4c40
test al, al
je 0x100d4c3a
cmp byte [ebp - 0x19], 0
je 0x100d4c14
mov eax, 0x200004
jmp 0x100d4c25
mov eax, 0x200000
mov ecx, 0x20000c
cmp byte [ebp - 0x13], 0
cmovne eax, ecx
mov ecx, dword [ebp - 0x4c]
lea edx, [edi + 0x3c]
or ecx, eax
push ecx
mov ecx, edi
call fcn.100d2560
jmp 0x100d523c
mov eax, dword [0x1026a4b8]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
js 0x100d4c66
call fcn.100b4c40
test al, al
je 0x100d4c66
cmp byte [ebp - 0x19], 0
je 0x100d4c5c
mov eax, 0x200005
jmp 0x100d4c25
mov eax, 0x200001
lea ecx, [eax + 0xc]
jmp 0x100d4c1e
mov eax, dword [0x1026a4b8]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x100d4cdd
call fcn.100b4c40
test al, al
je 0x100d4cdd
cmp byte [ebp - 0x30], 0
je 0x100d4cdd
cmp byte [ebp - 0x21], 0
je 0x100d4cbf
mov edx, dword [ebp - 0x68]
xorps xmm1, xmm1
movss xmm0, dword [edx + 0x7c]
subss xmm0, dword [esi + 0x1940]
mov dword [edx + 0x94], 0
mov dword [edx + 0x9c], 0
maxss xmm0, xmm1
movss dword [edx + 0x8c], xmm0
jmp 0x100d5250
movzx eax, byte [ebp - 0x19]
lea edx, [edi + 0x3c]
mov ecx, edi
lea eax, [eax*4 + 0x200002]
or eax, dword [ebp - 0x4c]
push eax
call fcn.100d2560
jmp 0x100d523c
mov ecx, dword [0x1026a4b8]
mov ecx, dword [ecx + 0x44]
test ecx, ecx
js 0x100d4d65
call fcn.100b4c40
test al, al
je 0x100d4d65
cmp byte [ebp - 0x30], 0
je 0x100d4d65
cmp byte [ebp - 0x21], 0
je 0x100d4d47
mov ecx, dword [ebp - 0x68]
movss xmm0, dword [esi + 0x1940]
mov eax, dword [0x1026a4b8]
addss xmm0, dword [ecx + 0x7c]
mov eax, dword [eax + 0x1bac]
minss xmm0, dword [eax + 0x84]
mov dword [ecx + 0x94], 0
mov dword [ecx + 0x9c], 0
movss dword [ecx + 0x8c], xmm0
jmp 0x100d5250
movzx eax, byte [ebp - 0x19]
lea edx, [edi + 0x3c]
mov ecx, edi
lea eax, [eax*4 + 0x200003]
or eax, dword [ebp - 0x4c]
push eax
call fcn.100d2560
jmp 0x100d523c
mov eax, dword [0x1026a4b8]
mov ecx, dword [eax + 0x50]
test ecx, ecx
js 0x100d4da1
call fcn.100b4c40
test al, al
je 0x100d4da1
mov ecx, dword [ebp - 0x4c]
lea edx, [edi + 0x3c]
mov eax, ecx
or ecx, 0x200004
or eax, 0x200006
cmp byte [ebp - 0x21], 0
cmovne ecx, eax
push ecx
mov ecx, edi
call fcn.100d2560
jmp 0x100d523c
mov eax, dword [0x1026a4b8]
mov ecx, dword [eax + 0x54]
test ecx, ecx
js 0x100d4ddd
call fcn.100b4c40
test al, al
je 0x100d4ddd
mov ecx, dword [ebp - 0x4c]
lea edx, [edi + 0x3c]
mov eax, ecx
or ecx, 0x200005
or eax, 0x200007
cmp byte [ebp - 0x21], 0
cmovne ecx, eax
push ecx
mov ecx, edi
call fcn.100d2560
jmp 0x100d523c
mov eax, dword [0x1026a4b8]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x100d4e11
call fcn.100b4c40
test al, al
je 0x100d4e11
cmp byte [ebp - 0x58], 0
jne 0x100d4e11
mov ecx, dword [ebp - 0x4c]
lea edx, [edi + 0x3c]
or ecx, 0x200008
push ecx
mov ecx, edi
call fcn.100d2560
jmp 0x100d523c
mov eax, dword [0x1026a4b8]
mov ecx, dword [eax + 0x60]
test ecx, ecx
js 0x100d4ea6
call fcn.100b4c40
test al, al
je 0x100d4ea6
cmp byte [ebp - 0x58], 0
jne 0x100d4ea6
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x100d4e8d
cmp byte [ebp - 0x13], 0
je 0x100d4e49
push 0x60000c
jmp 0x100d4e6f
cmp byte [ebp - 0x95], 0
je 0x100d4e8d
cmp byte [esi + 0xff], 0
je 0x100d4e8d
cmp byte [esi + 0xfe], 0
jne 0x100d4e8d
cmp byte [ebp - 0x21], 0
jne 0x100d4e8d
push 0x600004
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100d2560
mov dword [edi + 0xe68], 0xbe99999a
add esp, 4
mov byte [edi + 0xe6c], 1
mov ecx, dword [ebp - 0x4c]
lea edx, [edi + 0x3c]
or ecx, 0x200009
push ecx
mov ecx, edi
call fcn.100d2560
jmp 0x100d523c
mov eax, dword [0x1026a4b8]
mov ecx, dword [eax + 0x68]
test ecx, ecx
js 0x100d4ebb
call fcn.100b4c40
test al, al
jne 0x100d4ed0
mov eax, dword [0x1026a4b8]
mov ecx, dword [eax + 0x70]
test ecx, ecx
js 0x100d4f38
call fcn.100b4c40
test al, al
je 0x100d4f38
mov ecx, dword [ebx + 0x14]
mov eax, ecx
shr eax, 0xb
and al, 1
cmp byte [ebp - 0x30], 0
je 0x100d4eea
test al, al
je 0x100d4ef7
cmp byte [ebp - 0x21], 0
jne 0x100d4efd
mov byte [ebp - 0x35], 1
mov byte [ebp - 0x1a], 1
jmp 0x100d5250
cmp byte [ebp - 0x21], 0
jne 0x100d4eea
cmp byte [ebp - 0x58], 0
jne 0x100d5250
sub esp, 8
mov dword [ebp - 0x18], 0xa
mov edx, ecx
lea ecx, [ebp - 0x18]
call fcn.100d3750
add esp, 8
test al, al
je 0x100d5250
push dword [ebp - 0x18]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100d2560
jmp 0x100d523c
mov eax, dword [0x1026a4b8]
mov ecx, dword [eax + 0x6c]
test ecx, ecx
js 0x100d4f57
call fcn.100b4c40
test al, al
je 0x100d4f57
mov cl, 1
mov byte [ebp - 0x35], cl
jmp 0x100d5253
mov al, byte [ebp - 0x36]
test al, al
jne 0x100d521d
cmp byte [ebp - 0x2a], al
jne 0x100d521d
cmp byte [ebp - 0x12], al
je 0x100d4f9e
mov eax, dword [0x1026a4b8]
mov ecx, dword [eax + 0x74]
test ecx, ecx
js 0x100d4f9e
call fcn.100b4c40
test al, al
je 0x100d4f9e
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
jmp 0x100d5249
mov al, byte [ebp - 0x2b]
test al, al
jne 0x100d5121
cmp byte [ebp - 0x41], al
jne 0x100d5121
cmp byte [ebp - 0x29], al
je 0x100d5250
mov eax, dword [0x1026a4b8]
mov ecx, dword [eax + 0xd0]
test ecx, ecx
je 0x100d4fe0
push dword [eax + 0xd8]
call ecx
mov esi, eax
add esp, 4
test esi, esi
jne 0x100d4fe5
jmp 0x100d5250
mov esi, 0x102111f8
mov ecx, esi
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d4ff0
mov eax, dword [0x1026a4b8]
sub ecx, edx
test eax, eax
je 0x100d5008
inc dword [eax + 0x370]
push dword [0x1026a4b4]
lea eax, [ecx*2 + 2]
push eax
call fcn.100adb50
add esp, 8
mov dword [ebp - 0x5c], eax
cmp byte [esi], 0
mov dword [ebp - 0x18], 0
je 0x100d5076
xor edi, edi
nop
push 0
mov edx, esi
lea ecx, [ebp - 0x20]
call fcn.100ae5a0
add esp, 4
add esi, eax
cmp dword [ebp - 0x20], 0
je 0x100d506d
mov edx, dword [ebx + 0x14]
lea ecx, [ebp - 0x20]
sub esp, 8
call fcn.100d3750
add esp, 8
test al, al
je 0x100d5068
mov ecx, dword [ebp - 0x5c]
mov ax, word [ebp - 0x20]
mov word [ecx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x100d5030
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x18], edi
mov edi, dword [ebp - 0x50]
mov esi, dword [ebp - 0x18]
xor ecx, ecx
mov word [eax + esi*2], cx
test esi, esi
jle 0x100d50f9
mov edx, dword [edi + 0x44]
mov ecx, dword [edi + 4]
mov dword [ebp - 0x18], edx
mov edx, dword [edi + 0x40]
cmp edx, dword [edi + 0x44]
je 0x100d50b0
cmp edx, ecx
jle 0x100d509d
mov dword [edi + 0x40], ecx
mov edx, ecx
cmp dword [edi + 0x44], ecx
jle 0x100d50a8
mov dword [edi + 0x44], ecx
mov dword [ebp - 0x18], ecx
cmp edx, dword [ebp - 0x18]
jne 0x100d50b0
mov dword [edi + 0x3c], edx
cmp dword [edi + 0x3c], ecx
jle 0x100d50b8
mov dword [edi + 0x3c], ecx
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100d24d0
mov edx, dword [edi + 0x3c]
mov ecx, edi
push esi
push dword [ebp - 0x5c]
call fcn.100d2000
add esp, 8
test al, al
je 0x100d50ef
mov edx, dword [edi + 0x3c]
lea ecx, [edi + 0x5c]
push esi
push 0
call fcn.100d33f0
add esp, 8
mov byte [edi + 0x52], 0
add dword [edi + 0x3c], esi
mov eax, dword [ebp - 0x5c]
mov byte [edi + 0xe6c], 1
test eax, eax
je 0x100d510d
mov ecx, dword [0x1026a4b8]
test ecx, ecx
je 0x100d510d
dec dword [ecx + 0x370]
push dword [0x1026a4b4]
push eax
call fcn.100adb70
add esp, 8
jmp 0x100d5250
cmp dword [esi + 0xd4], 0
je 0x100d51de
mov ecx, dword [edi + 0x44]
mov eax, dword [edi + 0x40]
cmp eax, ecx
je 0x100d5142
mov edx, ecx
cmovl ecx, eax
cmovge edx, eax
jmp 0x100d5147
mov edx, dword [edi + 4]
xor ecx, ecx
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x18], edx
lea edx, [eax + edx*2]
lea ecx, [eax + ecx*2]
call fcn.100ae8e0
mov ecx, dword [0x1026a4b8]
inc eax
mov dword [ebp - 0x3c], eax
test ecx, ecx
je 0x100d516f
inc dword [ecx + 0x370]
push dword [0x1026a4b4]
push eax
call fcn.100adb50
mov esi, dword [edi + 0x14]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x20], eax
lea ecx, [esi + ecx*2]
push ecx
mov ecx, dword [ebp - 0x74]
lea ecx, [esi + ecx*2]
mov esi, eax
push ecx
mov ecx, esi
call fcn.100ae870
mov eax, dword [0x1026a4b8]
add esp, 0x10
mov ecx, dword [eax + 0xd4]
test ecx, ecx
je 0x100d51be
push esi
push dword [eax + 0xd8]
call ecx
mov eax, dword [0x1026a4b8]
add esp, 8
test esi, esi
je 0x100d51cc
test eax, eax
je 0x100d51cc
dec dword [eax + 0x370]
push dword [0x1026a4b4]
push esi
call fcn.100adb70
mov al, byte [ebp - 0x2b]
add esp, 8
test al, al
je 0x100d5250
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x100d51fe
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
mov byte [edi + 0xe6c], 1
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x100d5250
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100d24d0
mov byte [edi + 0x52], 0
jmp 0x100d5250
movzx eax, al
lea edx, [edi + 0x3c]
xor eax, 1
mov ecx, edi
add eax, 0x20000a
push eax
call fcn.100d2560
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x44], eax
mov dword [edi + 0x40], eax
mov dword [edi + 0xe68], 0xbe99999a
add esp, 4
mov byte [edi + 0xe6c], 1
mov cl, byte [ebp - 0x11]
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x100d5265
cmp byte [ebp - 0x23], 0
je 0x100d5265
mov al, 1
jmp 0x100d5267
xor al, al
or byte [ebp - 0x22], al
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x28]
mov eax, dword [eax + 0x1be0]
cmp eax, edx
jne 0x100d5845
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x34], 0
test cl, cl
je 0x100d5448
cmp byte [ebp - 0x58], 0
jne 0x100d5433
mov esi, dword [edi + 0x2c]
mov ecx, esi
mov eax, dword [ebx + 8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100d52c6
test dl, dl
je 0x100d52c2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100d52c6
add eax, 2
add ecx, 2
test dl, dl
jne 0x100d52a6
xor eax, eax
jmp 0x100d52cb
sbb eax, eax
or eax, 1
test eax, eax
je 0x100d5433
mov eax, dword [edi + 0x24]
mov ecx, esi
xor esi, esi
mov dword [ebp - 0x54], ecx
dec eax
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x8c], esi
mov dword [ebp - 0x84], esi
mov dword [ebp - 4], esi
test eax, eax
jle 0x100d5348
lea edx, [ecx + eax]
call fcn.100ae770
lea esi, [eax + 1]
test esi, esi
jle 0x100d5326
cmp esi, 8
mov ecx, 8
mov eax, esi
cmovl eax, ecx
lea ecx, [ebp - 0x8c]
push eax
call fcn.100c1560
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x84]
add eax, edx
push 0
push eax
push edx
mov edx, esi
mov dword [ebp - 0x8c], esi
call fcn.100ae700
add esp, 0xc
xor ecx, ecx
lea eax, [esi - 1]
cmp dword [ebp - 0x34], ecx
mov esi, dword [edi + 4]
cmovle eax, ecx
lea ecx, [edi + 0x5c]
push eax
push esi
xor edx, edx
mov dword [ebp - 0x18], eax
call fcn.100d33f0
mov edx, eax
add esp, 8
test edx, edx
je 0x100d5384
xor ecx, ecx
test esi, esi
jle 0x100d5384
mov eax, dword [edi + 0x14]
mov ax, word [eax + ecx*2]
mov word [edx + ecx*2], ax
inc ecx
cmp ecx, esi
jl 0x100d5374
mov ecx, dword [edi + 0x14]
mov esi, dword [edi + 4]
mov dword [ebp - 0x3c], ecx
mov byte [edi + 0xe6e], 1
lea edx, [ecx + esi*2]
call fcn.100ae8e0
mov ecx, dword [ebp - 0x3c]
sub dword [edi + 8], eax
lea edx, [ecx + esi*2]
mov dword [edi + 4], 0
movzx eax, word [edx]
add edx, 2
test ax, ax
je 0x100d53d2
nop word [eax + eax]
mov word [ecx], ax
lea edx, [edx + 2]
movzx eax, word [edx - 2]
add ecx, 2
test ax, ax
jne 0x100d53c0
mov esi, dword [ebp - 0x18]
xor eax, eax
mov word [ecx], ax
test esi, esi
jle 0x100d53fc
push esi
push dword [ebp - 0x84]
xor edx, edx
mov ecx, edi
call fcn.100d2000
add esp, 8
test al, al
je 0x100d53fc
mov dword [edi + 0x3c], esi
mov byte [edi + 0x52], 0
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x84]
test eax, eax
je 0x100d542c
mov ecx, dword [0x1026a4b8]
test ecx, ecx
je 0x100d541d
dec dword [ecx + 0x370]
push dword [0x1026a4b4]
push eax
call fcn.100adb70
add esp, 8
mov dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x1a], 0
mov eax, dword [ebx + 0x14]
je 0x100d5757
test al, 0x20
je 0x100d5757
cmp byte [ebp - 0x58], 0
jne 0x100d54a7
mov eax, dword [edi + 0xc]
lea ecx, [edi + 0x18]
mov byte [edi + 0x30], 1
lea esi, [eax*4 + 1]
mov eax, dword [ecx + 4]
cmp esi, eax
jle 0x100d5493
test eax, eax
je 0x100d5479
cdq
sub eax, edx
lea edx, [edi + 0x18]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x100d5481
mov ecx, 8
lea edx, [edi + 0x18]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.100c14e0
lea ecx, [edi + 0x18]
mov dword [ecx], esi
mov edx, esi
mov ecx, dword [edi + 0x20]
push 0
push dword [edi + 0x14]
call fcn.100ae870
add esp, 8
mov edx, dword [ebx + 0x14]
test edx, 0x1c0
je 0x100d5711
mov esi, 0x16
test dl, 0x40
je 0x100d54df
mov eax, dword [0x1026a4b8]
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x100d54df
call fcn.100b4c40
test al, al
je 0x100d54dc
lea eax, [esi + 0x2a]
xor esi, esi
jmp 0x100d5538
mov edx, dword [ebx + 0x14]
test dl, dl
jns 0x100d5527
mov eax, dword [0x1026a4b8]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x100d5505
call fcn.100b4c40
test al, al
je 0x100d5502
mov eax, 0x80
lea esi, [eax - 0x7d]
jmp 0x100d5538
mov edx, dword [ebx + 0x14]
mov eax, dword [0x1026a4b8]
mov ecx, dword [eax + 0x44]
test ecx, ecx
js 0x100d5527
call fcn.100b4c40
test al, al
je 0x100d5524
mov eax, 0x80
lea esi, [eax - 0x7c]
jmp 0x100d5538
mov edx, dword [ebx + 0x14]
test edx, 0x100
je 0x100d5711
mov eax, 0x100
mov dword [ebp - 0x130], eax
xor ecx, ecx
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x12c], eax
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x11c], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x118], eax
mov eax, dword [edi + 0x34]
mov dword [ebp - 0x120], esi
mov esi, dword [edi + 0x14]
mov dword [ebp - 0x114], eax
mov eax, dword [edi + 0x3c]
mov word [ebp - 0x10f], cx
mov byte [ebp - 0x10d], cl
mov dword [ebp - 0x128], ecx
mov byte [ebp - 0x110], cl
lea edx, [esi + eax*2]
mov ecx, esi
mov dword [ebp - 0x124], 0
call fcn.100ae8e0
mov ecx, dword [ebp - 0x50]
mov edi, eax
mov dword [ebp - 0x10c], edi
mov ecx, dword [ecx + 0x40]
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.100ae8e0
mov dword [ebp - 0x3c], eax
mov ecx, esi
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x50]
mov edx, dword [eax + 0x44]
lea edx, [esi + edx*2]
call fcn.100ae8e0
mov esi, eax
lea eax, [ebp - 0x130]
push eax
xor eax, eax
mov dword [ebp - 0x104], esi
call eax
mov edx, dword [ebp - 0x10c]
add esp, 4
cmp edx, edi
je 0x100d560a
mov ecx, dword [ebp - 0x11c]
add edx, ecx
call fcn.100ae770
mov edi, dword [ebp - 0x50]
mov dword [edi + 0x3c], eax
mov byte [edi + 0xe6c], 1
jmp 0x100d560d
mov edi, dword [ebp - 0x50]
mov eax, dword [ebp - 0x108]
cmp eax, dword [ebp - 0x3c]
je 0x100d5629
mov ecx, dword [ebp - 0x11c]
lea edx, [eax + ecx]
call fcn.100ae770
mov dword [edi + 0x40], eax
mov eax, dword [ebp - 0x104]
cmp eax, esi
je 0x100d5644
mov ecx, dword [ebp - 0x11c]
lea edx, [eax + ecx]
call fcn.100ae770
mov dword [edi + 0x44], eax
cmp byte [ebp - 0x110], 0
je 0x100d5711
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x60]
cmp ecx, edx
jle 0x100d56a2
cmp byte [ebp - 0x90], 0
je 0x100d56a2
mov esi, dword [edi + 0xc]
mov eax, dword [edi + 0x10]
sub esi, edx
add esi, ecx
cmp esi, eax
jle 0x100d569f
test eax, eax
je 0x100d5688
cdq
sub eax, edx
lea edx, [edi + 0xc]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x100d5690
mov ecx, 8
lea edx, [edi + 0xc]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.100c1560
mov dword [edi + 0xc], esi
mov eax, dword [ebp - 0x11c]
mov ecx, dword [edi + 0x14]
mov esi, ecx
mov dword [ebp - 0x3c], eax
mov eax, dword [edi + 0xc]
dec eax
mov dword [ebp - 0x74], ecx
lea eax, [ecx + eax*2]
mov dword [ebp - 0x18], eax
cmp ecx, eax
jae 0x100d56f2
mov edi, dword [ebp - 0x3c]
cmp byte [edi], 0
je 0x100d56ec
push 0
mov edx, edi
lea ecx, [ebp - 0x3c]
call fcn.100ae5a0
add edi, eax
add esp, 4
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x100d56ec
mov word [esi], ax
add esi, 2
cmp esi, dword [ebp - 0x18]
jb 0x100d56c4
mov edi, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x74]
xor eax, eax
mov word [esi], ax
sub esi, ecx
mov eax, dword [ebp - 0x118]
sar esi, 1
mov dword [edi + 4], esi
mov dword [edi + 8], eax
mov dword [edi + 0xe68], 0xbe99999a
cmp byte [ebp - 0x58], 0
jne 0x100d5754
mov esi, dword [edi + 0x20]
mov eax, esi
mov ecx, dword [ebx + 8]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100d5740
test dl, dl
je 0x100d573c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100d5740
add eax, 2
add ecx, 2
test dl, dl
jne 0x100d5720
xor eax, eax
jmp 0x100d5745
sbb eax, eax
or eax, 1
test eax, eax
mov eax, dword [ebx + 0x14]
je 0x100d5757
mov ecx, dword [edi + 8]
mov dword [ebp - 0x54], esi
jmp 0x100d575a
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x54]
test edx, edx
je 0x100d5827
cmp byte [ebp - 0x90], 0
je 0x100d57f8
mov dword [ebp - 0x15c], eax
xorps xmm0, xmm0
mov eax, dword [ebx + 8]
mov dword [ebp - 0x14c], eax
lea eax, [ecx + 1]
cmp dword [ebx + 0xc], eax
movlpd qword [ebp - 0x154], xmm0
cmovge eax, dword [ebx + 0xc]
mov dword [ebp - 0x144], eax
lea eax, [ebp - 0x160]
push eax
xor eax, eax
movlpd qword [ebp - 0x140], xmm0
movlpd qword [ebp - 0x138], xmm0
mov dword [ebp - 0x160], 0x40000
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x158], 0
call eax
mov esi, dword [ebp - 0x144]
add esp, 4
mov eax, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x54]
mov dword [ebx + 8], eax
lea ecx, [esi - 1]
cmp dword [ebp - 0x148], ecx
cmovl ecx, dword [ebp - 0x148]
jmp 0x100d57fb
mov esi, dword [ebx + 0xc]
lea eax, [ecx + 1]
cmp eax, esi
cmovl esi, eax
cmp esi, 1
jb 0x100d5823
jbe 0x100d581b
lea eax, [esi - 1]
push eax
push edx
push dword [ebx + 8]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
add esp, 0xc
mov eax, dword [ebx + 8]
mov byte [esi + eax - 1], 0
mov byte [ebp - 0x42], 1
mov dword [edi + 0xe70], 0
mov dword [edi + 0xe74], 0
mov dword [edi + 0xe78], 0
cmp byte [ebp - 0x35], 0
mov esi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x28]
je 0x100d5861
cmp dword [esi + 0x1be0], eax
jne 0x100d5861
call fcn.100b0c10
mov eax, dword [ebp - 0x28]
cmp byte [ebp - 0x30], 0
jne 0x100d5994
push 1
mov edx, eax
lea ecx, [ebp - 0xcc]
call fcn.100afdb0
mov eax, dword [ebp - 0x28]
add esp, 4
cmp dword [esi + 0x1be0], eax
jne 0x100d588f
mov ecx, 0x11
jmp 0x100d58a2
cmp dword [esi + 0x1bcc], eax
mov ecx, 5
mov eax, 8
cmove ecx, eax
movss xmm1, dword [0x10251588]
call fcn.100af0d0
mov edx, eax
call fcn.100af1b0
push dword [ebp - 0xc0]
movss xmm1, dword [0x10251588]
mov ecx, 7
push dword [ebp - 0xc4]
push dword [ebp - 0xc8]
push dword [ebp - 0xcc]
call fcn.100af0d0
movss xmm2, dword [esi + 0x1568]
mov dl, 1
mov ecx, eax
call fcn.100afba0
mov esi, dword [0x1026a4b8]
add esp, 0x10
movss xmm4, dword [ebp - 0xcc]
movss xmm2, dword [ebp - 0xc8]
movaps xmm1, xmm4
movss xmm6, dword [ebp - 0x7c]
mov eax, dword [esi + 0x1cd8]
addss xmm6, xmm2
mov ecx, dword [esi + 0x1ce0]
movss xmm3, dword [ebp - 0x70]
addss xmm1, xmm3
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movss dword [ebp - 0x54], xmm1
movups xmmword [esi + eax*8 + 0x15ec], xmm0
dec dword [esi + 0x1cd8]
mov esi, dword [ebp - 0x40]
movaps xmm0, xmm4
movss dword [ebp - 0xb8], xmm2
movss dword [ebp - 0xbc], xmm4
movss dword [ebp - 0xb4], xmm1
addss xmm0, dword [esi + 0x1560]
addss xmm2, dword [esi + 0x1564]
movss dword [ebp - 0xb0], xmm6
movss dword [ebp - 0x88], xmm0
movss dword [ebp - 0x84], xmm2
jmp 0x100d59f6
movss xmm0, dword [ebp - 0xcc]
movss xmm1, dword [ebp - 0xc8]
movss xmm3, dword [ebp - 0x70]
movss xmm6, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x68]
addss xmm6, xmm1
movss dword [ebp - 0xbc], xmm0
addss xmm0, xmm3
movss dword [ebp - 0xb8], xmm1
movss dword [ebp - 0xb0], xmm6
movss dword [ebp - 0xb4], xmm0
mov eax, dword [ecx + 0xf0]
mov ecx, dword [ecx + 0xf4]
movss dword [ebp - 0x54], xmm0
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], ecx
cmp byte [ebp - 0x69], 0
lea eax, [ebp - 0x88]
movss xmm0, dword [eax]
xorps xmm2, xmm2
movss xmm5, dword [eax + 4]
movss dword [ebp - 0x4c], xmm0
movss dword [ebp - 0xac], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x90], xmm6
movss dword [ebp - 0x94], xmm5
movss dword [ebp - 0xa8], xmm5
movss dword [ebp - 0x74], xmm0
movss dword [ebp - 0x18], xmm2
je 0x100d5a46
mov eax, dword [edi + 0x20]
mov dword [ebx + 8], eax
mov dh, byte [ebp - 0x24]
mov dword [ebp - 0x34], 0
test dh, dh
je 0x100d5a75
mov eax, dword [ebp - 0x48]
mov ecx, eax
mov dword [ebx + 8], eax
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d5a60
sub ecx, edx
mov edx, dword [ebp - 0x48]
lea eax, [ecx + edx]
mov dh, byte [ebp - 0x24]
mov dword [ebp - 0x34], eax
cmp byte [ebp - 0x23], 0
jne 0x100d5b73
cmp byte [ebp - 0x22], 0
jne 0x100d5b73
cmp byte [ebp - 0x30], 0
je 0x100d5add
mov eax, dword [ebx + 8]
xor ecx, ecx
mov dl, byte [eax]
lea edi, [eax + 1]
test dl, dl
je 0x100d5ab2
nop dword [eax]
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [edi]
cmovne eax, ecx
inc edi
mov ecx, eax
test dl, dl
jne 0x100d5aa0
mov al, byte [edi - 1]
dec edi
cmp al, 0xa
je 0x100d5abf
cmp al, 0xd
je 0x100d5abf
inc ecx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi + 0x1940]
movss dword [ebp - 0x18], xmm0
movaps xmm0, xmm3
movss dword [ebp - 0x74], xmm0
jmp 0x100d5b23
test dh, dh
jne 0x100d5b10
mov eax, dword [ebp - 0x28]
cmp dword [esi + 0x1be0], eax
jne 0x100d5af4
mov edi, dword [edi + 8]
add edi, dword [ebx + 8]
jmp 0x100d5b13
mov edi, dword [ebx + 8]
mov ecx, edi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d5b00
sub ecx, edx
mov dh, byte [ebp - 0x24]
add edi, ecx
jmp 0x100d5b13
mov edi, dword [ebp - 0x34]
mov eax, edi
sub eax, dword [ebx + 8]
cmp eax, 0x200000
jge 0x100d655d
movss xmm1, dword [0x10251588]
lea eax, [ebp - 0xbc]
xor ecx, ecx
cmp byte [ebp - 0x30], cl
cmovne eax, ecx
push eax
push ecx
mov dword [esp], ecx
push edi
push dword [ebx + 8]
movzx ecx, dh
call fcn.100af0d0
movss xmm2, dword [esi + 0x1940]
push eax
lea eax, [ebp - 0xac]
push eax
mov eax, dword [ebp - 0x68]
push dword [esi + 0x193c]
mov ecx, dword [eax + 0x294]
call fcn.100c55f0
jmp 0x100d6518
test dh, dh
jne 0x100d5b80
mov eax, dword [edi + 8]
add eax, dword [ebx + 8]
mov dword [ebp - 0x34], eax
mov ecx, dword [edi + 0x14]
xor edx, edx
movaps xmm7, xmm2
mov dword [ebp - 0x28], ecx
movss dword [ebp - 0x3c], xmm2
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x20], 0xfffffc18
mov dword [ebp - 0x48], 0xfffffc18
cmp byte [ebp - 0x23], dl
je 0x100d5bc6
mov eax, dword [edi + 0x3c]
mov edx, 1
mov dword [ebp - 0x20], 0xffffffff
lea eax, [ecx + eax*2]
mov dword [ebp - 0x64], eax
cmp byte [ebp - 0x22], 0
je 0x100d5bea
mov ecx, dword [edi + 0x44]
cmp dword [edi + 0x40], ecx
mov eax, dword [ebp - 0x28]
cmovl ecx, dword [edi + 0x40]
inc edx
mov dword [ebp - 0x48], 0xffffffff
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x60], eax
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
movzx eax, al
add edx, eax
xor eax, eax
movzx esi, word [esi]
test si, si
mov dword [ebp - 0x5c], eax
mov esi, dword [ebp - 0x40]
je 0x100d5c58
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x20]
movzx edi, word [edi]
nop
cmp di, 0xa
jne 0x100d5c3e
inc eax
mov dword [ebp - 0x5c], eax
cmp esi, 0xffffffff
jne 0x100d5c2b
cmp ecx, dword [ebp - 0x64]
jb 0x100d5c2b
dec edx
mov esi, eax
test edx, edx
jle 0x100d5c4f
cmp dword [ebp - 0x48], 0xffffffff
jne 0x100d5c3e
cmp ecx, dword [ebp - 0x60]
jb 0x100d5c3e
dec edx
mov dword [ebp - 0x48], eax
test edx, edx
jle 0x100d5c4f
movzx eax, word [ecx + 2]
add ecx, 2
mov edi, eax
test ax, ax
mov eax, dword [ebp - 0x5c]
jne 0x100d5c10
mov edi, dword [ebp - 0x50]
mov dword [ebp - 0x20], esi
mov esi, dword [ebp - 0x40]
mov edx, dword [ebp - 0x28]
inc eax
cmp dword [ebp - 0x20], 0xffffffff
mov ecx, eax
mov dword [ebp - 0x5c], eax
cmovne ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x48]
cmp eax, 0xffffffff
mov dword [ebp - 0x9c], ecx
cmove eax, dword [ebp - 0x5c]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x64]
mov ecx, eax
cmp eax, edx
jbe 0x100d5c93
cmp word [ecx - 2], 0xa
je 0x100d5c93
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x100d5c85
movaps xmm1, xmm2
mov eax, dword [0x1026a4b8]
movaps xmm6, xmm2
mov edx, dword [eax + 0x193c]
movss xmm3, dword [eax + 0x1940]
divss xmm3, dword [edx + 0x10]
cmp ecx, dword [ebp - 0x64]
jae 0x100d5d09
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 0x20], eax
mov esi, eax
cmp eax, 0xa
jne 0x100d5ccf
maxss xmm1, xmm6
movaps xmm6, xmm2
jmp 0x100d5cfe
cmp esi, 0xd
je 0x100d5cfe
movzx eax, ax
cmp eax, dword [edx]
jge 0x100d5ceb
mov edi, dword [ebp - 0x20]
mov eax, dword [edx + 8]
movzx esi, di
movss xmm2, dword [eax + esi*4]
jmp 0x100d5cf0
movss xmm2, dword [edx + 0xc]
movaps xmm0, xmm3
mulss xmm0, xmm2
xorps xmm2, xmm2
addss xmm6, xmm0
cmp ecx, dword [ebp - 0x64]
jb 0x100d5cb6
mov edi, dword [ebp - 0x50]
mov esi, dword [ebp - 0x40]
cmp dword [ebp - 0x48], 0
maxss xmm6, xmm1
movd xmm0, dword [ebp - 0x9c]
movss xmm4, dword [esi + 0x1940]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x84], xmm6
mulss xmm0, xmm4
movss dword [ebp - 0x64], xmm0
jl 0x100d5dde
mov eax, dword [ebp - 0x60]
mov ecx, eax
cmp eax, dword [ebp - 0x28]
jbe 0x100d5d5c
mov edi, dword [ebp - 0x28]
cmp word [ecx - 2], 0xa
je 0x100d5d56
add ecx, 0xfffffffe
cmp ecx, edi
ja 0x100d5d48
mov edi, dword [ebp - 0x50]
mov eax, dword [ebp - 0x60]
movaps xmm1, xmm2
movaps xmm7, xmm2
cmp ecx, eax
jae 0x100d5dc9
nop word [eax + eax]
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 0x9c], eax
mov esi, eax
cmp eax, 0xa
jne 0x100d5d8c
maxss xmm1, xmm7
movaps xmm7, xmm2
jmp 0x100d5dbe
cmp esi, 0xd
je 0x100d5dbe
movzx eax, ax
cmp eax, dword [edx]
jge 0x100d5dab
mov esi, dword [ebp - 0x9c]
mov eax, dword [edx + 8]
movzx edi, si
movss xmm2, dword [eax + edi*4]
jmp 0x100d5db0
movss xmm2, dword [edx + 0xc]
movaps xmm0, xmm3
mulss xmm0, xmm2
xorps xmm2, xmm2
addss xmm7, xmm0
cmp ecx, dword [ebp - 0x60]
jb 0x100d5d70
mov edi, dword [ebp - 0x50]
mov esi, dword [ebp - 0x40]
movd xmm0, dword [ebp - 0x48]
maxss xmm7, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm4
movss dword [ebp - 0x3c], xmm0
mov ecx, dword [ebp - 0x30]
movss xmm3, dword [ebp - 0x70]
test cl, cl
je 0x100d5e03
movd xmm0, dword [ebp - 0x5c]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm4
movss dword [ebp - 0x18], xmm0
movaps xmm0, xmm3
movss dword [ebp - 0x74], xmm0
cmp byte [ebp - 0x23], 0
je 0x100d5ef7
cmp byte [edi + 0xe6c], 0
je 0x100d5ef7
test dword [ebx + 0x14], 0x1000
jne 0x100d5e67
movss xmm2, dword [edi + 0x38]
movaps xmm0, xmm3
comiss xmm2, xmm6
mulss xmm0, dword [0x102514f4]
movaps xmm1, xmm6
jbe 0x100d5e48
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
jmp 0x100d5e55
subss xmm1, xmm3
comiss xmm1, xmm2
jb 0x100d5e6e
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x38], xmm0
jmp 0x100d5e6e
mov dword [edi + 0x38], 0
test cl, cl
je 0x100d5ef0
movss xmm0, dword [ebp - 0x64]
mov eax, dword [ebp - 0x68]
movaps xmm2, xmm0
subss xmm2, dword [esi + 0x1940]
movss xmm1, dword [eax + 0x7c]
comiss xmm1, xmm2
jbe 0x100d5e98
xorps xmm0, xmm0
maxss xmm0, xmm2
jmp 0x100d5ea1
subss xmm0, dword [ebp - 0x7c]
maxss xmm0, xmm1
subss xmm1, xmm0
addss xmm1, xmm5
movss dword [ebp - 0xa8], xmm1
movss dword [eax + 0x7c], xmm0
movss xmm0, dword [ebp - 0xb0]
movss xmm5, dword [ebp - 0xa8]
movss dword [ebp - 0x90], xmm0
movss xmm0, dword [ebp - 0xb4]
movss dword [ebp - 0x54], xmm0
movss xmm0, dword [ebp - 0xac]
movss dword [ebp - 0x94], xmm5
movss dword [ebp - 0x4c], xmm0
mov byte [edi + 0xe6c], 0
cmp byte [ebp - 0x22], 0
movss xmm5, dword [edi + 0x38]
movss dword [ebp - 0x70], xmm5
je 0x100d6223
mov edx, dword [edi + 0x44]
mov eax, edx
mov ecx, dword [edi + 0x40]
cmp ecx, edx
mov esi, dword [ebp - 0x28]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [ebp - 0x23], 0
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x28]
lea edx, [eax + edx*2]
mov dword [ebp - 0x48], edx
je 0x100d5f3a
movss xmm1, dword [0x10251588]
jmp 0x100d5f42
movss xmm1, dword [0x10251538]
mov ecx, 0x2f
call fcn.100af0d0
mov ecx, dword [ebp - 0x30]
xorps xmm2, xmm2
mov dword [ebp - 0x9c], eax
test cl, cl
je 0x100d5f6b
movss dword [ebp - 0xec], xmm2
movss dword [ebp - 0x20], xmm2
jmp 0x100d5f78
movss xmm0, dword [0x102515f0]
movss dword [ebp - 0x20], xmm0
movss xmm4, dword [ebp - 0x94]
movss xmm3, dword [ebp - 0x4c]
movaps xmm5, xmm4
addss xmm3, xmm7
addss xmm5, dword [ebp - 0x3c]
subss xmm3, dword [ebp - 0x70]
subss xmm5, xmm2
movss dword [ebp - 0x3c], xmm5
cmp esi, edx
jae 0x100d61cd
mov ecx, dword [ebp - 0x40]
movss xmm4, dword [ebp - 0x90]
mov edi, dword [ebp - 0x9c]
movss xmm7, dword [ecx + 0x1940]
movaps xmm1, xmm7
movaps xmm0, xmm4
addss xmm0, xmm1
comiss xmm5, xmm0
ja 0x100d61b7
movss xmm0, dword [ebp - 0xb8]
comiss xmm0, xmm5
jbe 0x100d6008
cmp esi, edx
jae 0x100d6191
nop dword [eax + eax]
movzx eax, word [esi]
add esi, 2
cmp eax, 0xa
je 0x100d6191
cmp esi, edx
jb 0x100d5ff0
jmp 0x100d61b7
movaps xmm6, xmm2
mov eax, dword [0x1026a4b8]
movaps xmm1, xmm2
mov edx, dword [eax + 0x193c]
movss xmm4, dword [eax + 0x1940]
divss xmm4, dword [edx + 0x10]
cmp esi, dword [ebp - 0x48]
jae 0x100d6077
nop dword [eax + eax]
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x100d6067
cmp ecx, 0xd
je 0x100d6060
cmp ecx, dword [edx]
jge 0x100d6050
mov eax, dword [edx + 8]
movss xmm2, dword [eax + ecx*4]
jmp 0x100d6055
movss xmm2, dword [edx + 0xc]
movaps xmm0, xmm4
mulss xmm0, xmm2
addss xmm1, xmm0
cmp esi, dword [ebp - 0x48]
jb 0x100d6030
jmp 0x100d6071
xorps xmm6, xmm6
maxss xmm6, xmm1
xorps xmm1, xmm1
mov ecx, dword [ebp - 0x40]
xorps xmm2, xmm2
maxss xmm1, xmm6
comiss xmm2, xmm1
jb 0x100d60b0
mov eax, dword [ecx + 0x193c]
cmp dword [eax], 0x20
jle 0x100d6098
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x100d609d
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x10251528]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm0, dword [ebp - 0x20]
addss xmm1, xmm3
movss xmm4, dword [ebp - 0x90]
addss xmm3, xmm2
movss xmm2, dword [ebp - 0xec]
addss xmm0, xmm5
movss xmm6, dword [ebp - 0x54]
subss xmm2, xmm7
minss xmm1, xmm6
maxss xmm3, dword [ebp - 0xbc]
minss xmm0, xmm4
addss xmm2, xmm5
movss dword [ebp - 0xd8], xmm1
movss dword [ebp - 0xe0], xmm3
comiss xmm0, dword [ebp - 0xb8]
maxss xmm2, dword [ebp - 0xb8]
movss dword [ebp - 0xd4], xmm0
movss dword [ebp - 0xdc], xmm2
jbe 0x100d618b
comiss xmm4, xmm2
jbe 0x100d618b
comiss xmm1, dword [ebp - 0xbc]
jbe 0x100d618b
comiss xmm6, xmm3
jbe 0x100d618b
push 0
push ecx
mov dword [esp], 0
lea eax, [ebp - 0xd8]
push edi
push eax
lea eax, [ebp - 0xe0]
push eax
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax + 0x294]
call fcn.100c5230
movss xmm5, dword [ebp - 0xac]
movss xmm4, dword [ebp - 0xb0]
movss xmm0, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x40]
movss dword [ebp - 0x4c], xmm5
movss xmm5, dword [ebp - 0x3c]
movss dword [ebp - 0x90], xmm4
movss dword [ebp - 0x54], xmm0
mov edx, dword [ebp - 0x48]
xorps xmm2, xmm2
movss xmm7, dword [ecx + 0x1940]
movss xmm3, dword [ebp - 0x4c]
addss xmm5, xmm7
movaps xmm1, xmm7
subss xmm3, dword [ebp - 0x70]
movss dword [ebp - 0x3c], xmm5
cmp esi, edx
jb 0x100d5fc3
movss xmm4, dword [ebp - 0xa8]
mov edi, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x30]
movss dword [ebp - 0x94], xmm4
mov esi, dword [ebp - 0x40]
movss xmm5, dword [ebp - 0x70]
mov edx, dword [ebp - 0x34]
test cl, cl
jne 0x100d61ec
mov eax, edx
sub eax, dword [ebx + 8]
cmp eax, 0x200000
jge 0x100d637d
movzx eax, byte [ebp - 0x24]
xorps xmm6, xmm6
mov ecx, dword [0x1026a4b8]
add eax, eax
movups xmm2, xmmword [ecx + eax*8 + 0x15ec]
comiss xmm6, xmm2
movaps xmm1, xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [ecx + 0x1528]
movups xmmword [ebp - 0xe0], xmm2
jbe 0x100d622d
xorps xmm0, xmm0
jmp 0x100d6239
movss xmm4, dword [ebp - 0x94]
jmp 0x100d61d5
movss xmm0, dword [0x10251588]
minss xmm0, xmm2
movss xmm2, dword [0x102517ac]
movss xmm7, dword [0x10251528]
movss xmm3, dword [ebp - 0xdc]
comiss xmm6, xmm3
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si ecx, xmm0
jbe 0x100d6267
xorps xmm0, xmm0
jmp 0x100d6273
movss xmm0, dword [0x10251588]
minss xmm0, xmm3
movss xmm3, dword [ebp - 0xd8]
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm6, xmm3
jbe 0x100d6296
xorps xmm0, xmm0
jmp 0x100d62a2
movss xmm0, dword [0x10251588]
minss xmm0, xmm3
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm6, xmm1
jbe 0x100d62bd
xorps xmm0, xmm0
jmp 0x100d62c9
movss xmm0, dword [0x10251588]
minss xmm0, xmm1
cmp byte [ebp - 0x30], 0
lea eax, [ebp - 0xbc]
movss xmm1, dword [ebp - 0x4c]
subss xmm4, xmm6
mulss xmm0, xmm2
subss xmm1, xmm5
mov dword [ebp - 0x9c], 0
cmovne eax, dword [ebp - 0x9c]
push eax
movss xmm2, dword [esi + 0x1940]
addss xmm0, xmm7
push ecx
mov dword [esp], 0
push edx
push dword [ebx + 8]
cvttss2si eax, xmm0
movss dword [ebp - 0xf0], xmm1
shl eax, 0x18
or eax, ecx
movss dword [ebp - 0xec], xmm4
push eax
lea eax, [ebp - 0xf0]
push eax
mov eax, dword [ebp - 0x68]
push dword [esi + 0x193c]
mov ecx, dword [eax + 0x294]
call fcn.100c55f0
movss xmm0, dword [ebp - 0xb0]
movss xmm5, dword [ebp - 0xa8]
movss dword [ebp - 0x90], xmm0
movss xmm0, dword [ebp - 0xb4]
movss dword [ebp - 0x54], xmm0
movss xmm0, dword [ebp - 0xac]
movss dword [ebp - 0x94], xmm5
movss dword [ebp - 0x4c], xmm0
cmp byte [ebp - 0x23], 0
je 0x100d6515
movss xmm0, dword [esi + 0x18]
addss xmm0, dword [edi + 0xe68]
movss dword [edi + 0xe68], xmm0
cmp byte [esi + 0xb2], 0
je 0x100d63e0
xorps xmm1, xmm1
comiss xmm1, xmm0
jae 0x100d63e0
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x80], xmm0
fld qword [ebp - 0x80]
fld qword [0x102515e8]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm0, dword [0x1025155c]
fstp qword [ebp - 0x80]
movsd xmm1, qword [ebp - 0x80]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x100d63e0
xor al, al
jmp 0x100d63e2
mov al, 1
movss xmm3, dword [ebp - 0x94]
movss xmm4, dword [ebp - 0x4c]
movss xmm6, dword [0x10251588]
addss xmm3, dword [ebp - 0x64]
addss xmm4, dword [ebp - 0x84]
subss xmm3, dword [0x1025145c]
subss xmm4, dword [ebp - 0x70]
movss dword [ebp - 0x94], xmm3
movaps xmm0, xmm3
movss dword [ebp - 0x4c], xmm4
movaps xmm2, xmm4
movss dword [ebp - 0xe0], xmm4
movaps xmm1, xmm3
addss xmm2, xmm6
subss xmm0, dword [esi + 0x1940]
subss xmm1, dword [0x102515b0]
movss dword [ebp - 0xd8], xmm2
addss xmm0, dword [0x10251528]
movss dword [ebp - 0xd4], xmm1
movss dword [ebp - 0xdc], xmm0
test al, al
je 0x100d64ee
comiss xmm1, dword [ebp - 0xb8]
jbe 0x100d64ee
movss xmm5, dword [ebp - 0x90]
comiss xmm5, xmm0
jbe 0x100d64ee
comiss xmm2, dword [ebp - 0xbc]
jbe 0x100d64ee
movss xmm0, dword [ebp - 0x54]
comiss xmm0, xmm4
jbe 0x100d64ee
sub esp, 8
movss dword [ebp - 0x84], xmm1
movaps xmm1, xmm6
movss dword [ebp - 0x88], xmm4
xor ecx, ecx
mov dword [esp + 4], 0x3f800000
call fcn.100af0d0
add esp, 4
push eax
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0xe0]
push eax
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax + 0x294]
call fcn.100c5020
movss xmm3, dword [ebp - 0x94]
movss xmm4, dword [ebp - 0x4c]
movss xmm6, dword [0x10251588]
cmp byte [ebp - 0x58], 0
mov edi, dword [ebp - 0x34]
jne 0x100d6518
subss xmm3, dword [esi + 0x1940]
subss xmm4, xmm6
movss dword [esi + 0x2f10], xmm3
movss dword [esi + 0x2f0c], xmm4
jmp 0x100d6518
mov edi, dword [ebp - 0x34]
cmp byte [ebp - 0x30], 0
je 0x100d655d
movss xmm0, dword [ebp - 0x74]
lea ecx, [ebp - 0x88]
addss xmm0, dword [0x1025145c]
movss dword [ebp - 0x88], xmm0
movss xmm0, dword [ebp - 0x18]
addss xmm0, dword [esi + 0x1940]
movss dword [ebp - 0x84], xmm0
call fcn.100cf090
call fcn.100b4f80
call fcn.100bae30
mov ecx, dword [ebp - 0xa0]
mov al, byte [ebp - 0x24]
test cl, cl
je 0x100d657c
test al, al
jne 0x100d657c
call fcn.100ba240
mov al, byte [ebp - 0x24]
mov ecx, dword [ebp - 0xa0]
cmp byte [esi + 0x2f64], 0
je 0x100d659f
test cl, cl
je 0x100d658d
test al, al
je 0x100d659f
mov edx, dword [ebx + 8]
lea ecx, [ebp - 0xac]
push edi
call fcn.100bfd40
add esp, 4
movss xmm0, dword [ebp - 0xd0]
comiss xmm0, dword [0x1025145c]
jbe 0x100d665d
movss xmm0, dword [ebp - 0xfc]
addss xmm0, dword [esi + 0x1564]
mov edi, dword [0x1026a4b8]
mov ecx, dword [ebp - 0xa4]
mov esi, ecx
movss xmm2, dword [ebp - 0xcc]
movss dword [ebp - 0x80], xmm2
mov edx, dword [edi + 0x1bac]
movss dword [ebp - 0x7c], xmm0
cmp ecx, 0xffffffff
jae 0x100d665d
nop
mov al, byte [esi]
test al, al
je 0x100d6605
cmp al, 0x23
jne 0x100d65ff
cmp byte [esi + 1], al
je 0x100d6605
inc esi
cmp esi, 0xffffffff
jb 0x100d65f0
cmp ecx, esi
je 0x100d665d
movss xmm1, dword [0x10251588]
push 0
push ecx
mov dword [esp], 0
push esi
push ecx
xor ecx, ecx
call fcn.100af0d0
movss xmm2, dword [edi + 0x1940]
mov ecx, dword [edx + 0x294]
push eax
lea eax, [ebp - 0x80]
push eax
push dword [edi + 0x193c]
call fcn.100c55f0
cmp byte [edi + 0x2f64], 0
je 0x100d665d
mov edx, dword [ebp - 0xa4]
lea ecx, [ebp - 0x80]
push esi
call fcn.100bfd40
add esp, 4
mov dl, byte [ebp - 0x42]
mov ecx, dword [ebx + 0x14]
test dl, dl
je 0x100d6684
test ecx, 0x8000000
jne 0x100d6684
mov eax, dword [0x1026a4b8]
or dword [eax + 0x1c50], 4
mov word [eax + 0x1bf0], 0x101
test cl, 0x20
movzx eax, dl
movzx ecx, byte [ebp - 0x1a]
cmovne eax, ecx
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret