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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x110
mov eax, dword [0x1004f014]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x14]
push ebx
push esi
mov esi, dword [0x1004f60c]
mov ebx, esi
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebx + 0x1928]
push edi
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0x10c], ecx
mov byte [eax + 0x78], 1
mov edi, dword [ebx + 0x1928]
mov dword [ebp - 0x104], ebx
mov dword [ebp - 0xac], edi
cmp byte [edi + 0x7b], 0
jne 0x10019882
mov eax, dword [ebp + 0x10]
mov edx, eax
shr edx, 0xe
mov ecx, eax
not dl
shr ecx, 0x14
and edx, 0xffffff01
and ecx, 0xffffff01
mov dword [ebp - 0xa4], edx
mov edx, eax
shr eax, 0x10
shr edx, 0xf
not al
and edx, 0xffffff01
mov dword [ebp - 0x98], ecx
and eax, 0xffffff01
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0xe8], eax
test cl, cl
je 0x100195b9
call fcn.10023e90
mov esi, dword [0x1004f60c]
mov ecx, dword [edi + 0x1c8]
xor edx, edx
mov eax, dword [edi + 0x1d0]
push dword [eax + ecx*4 - 4]
mov ecx, dword [ebp - 0x10c]
call fcn.10003ee0
add esp, 4
mov dword [ebp - 0x8c], eax
cmp dword [esi + 0x1944], eax
jne 0x100195ee
mov byte [esi + 0x1950], 1
cmp dword [esi + 0x1948], eax
jne 0x100195fd
mov byte [esi + 0x1954], 1
mov edx, dword [ebp - 0x10c]
mov eax, edx
cmp edx, 0xffffffff
jae 0x10019626
nop word [eax + eax]
mov cl, byte [eax]
test cl, cl
je 0x10019626
cmp cl, 0x23
jne 0x10019620
cmp byte [eax + 1], cl
je 0x10019626
inc eax
cmp eax, 0xffffffff
jb 0x10019610
movss xmm4, dword [esi + 0x1854]
movss xmm0, dword [0x1004cc64]
mov ecx, dword [esi + 0x1850]
mov dword [ebp - 0xd0], ecx
movss dword [ebp - 0xc8], xmm4
movss dword [ebp - 0x100], xmm0
cmp edx, eax
jne 0x10019663
xorps xmm0, xmm0
movss dword [ebp - 0x108], xmm0
jmp 0x100196d1
movss xmm3, dword [0x1004cc40]
movaps xmm2, xmm4
push ecx
push eax
push edx
push ecx
lea eax, [ebp - 0xd8]
mov dword [esp], 0xbf800000
push eax
call fcn.10040790
movss xmm1, dword [ebp - 0xd8]
xorps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x100196ae
mov eax, dword [ebp - 0xd0]
movss xmm0, dword [ebp - 0xc8]
divss xmm0, dword [eax]
subss xmm1, xmm0
xorps xmm0, xmm0
addss xmm1, dword [0x1004cb4c]
movss xmm4, dword [ebp - 0xd4]
cvttss2si eax, xmm1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [ebp - 0x108], xmm1
cmp byte [ebp - 0x98], 0
je 0x100196ea
movss xmm4, dword [esi + 0x1854]
mulss xmm4, dword [0x1004cbcc]
mov esi, dword [esi + 0x1928]
movss xmm3, dword [esi + 0x168]
comiss xmm0, xmm3
jbe 0x1001976e
movss xmm2, dword [esi + 0xc8]
movss xmm1, dword [esi + 0x21c]
mov ecx, dword [esi + 0x1c4]
subss xmm2, dword [esi + 0xc]
subss xmm1, dword [esi + 0xc]
test ecx, ecx
je 0x1001975a
mov edx, dword [ecx + 0xc]
movss xmm0, dword [ecx + 0x14]
lea eax, [edx + 1]
test eax, eax
cmovns edx, eax
lea ecx, [edx*8]
sub ecx, edx
mov edx, dword [esi + 0x1c4]
movss xmm1, dword [edx + 0x18]
mov eax, dword [edx + 0x34]
subss xmm1, xmm0
mulss xmm1, dword [eax + ecx*4]
addss xmm1, xmm0
subss xmm1, dword [esi + 0x3c]
subss xmm1, xmm2
addss xmm1, xmm3
movss xmm3, dword [0x1004cb50]
maxss xmm3, xmm1
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x14]
movss xmm0, dword [ebx + 0x1540]
movaps xmm2, xmm0
addss xmm2, xmm0
push dword [eax + 4]
push dword [eax]
cvttss2si eax, xmm3
addss xmm2, xmm4
movd xmm1, eax
cvtdq2ps xmm1, xmm1
call fcn.10006780
movss xmm3, dword [edi + 0xc8]
xorps xmm5, xmm5
movss xmm1, dword [ebp - 0x14]
movaps xmm0, xmm3
movss xmm4, dword [edi + 0xcc]
addss xmm0, xmm1
movss xmm2, dword [ebp - 0x108]
add esp, 8
comiss xmm2, xmm5
movss dword [ebp - 0xf4], xmm1
movss xmm1, dword [ebp - 0x10]
addss xmm1, xmm4
movss dword [ebp - 0x54], xmm3
movss dword [ebp - 0x50], xmm4
movss dword [ebp - 0x4c], xmm0
movss dword [ebp - 0x48], xmm1
jbe 0x100197fa
addss xmm2, dword [ebx + 0x1554]
jmp 0x100197fd
xorps xmm2, xmm2
cmp byte [ebp - 0x98], 0
addss xmm0, xmm2
addss xmm1, xmm5
movss dword [ebp - 0x3c], xmm3
movss dword [ebp - 0x38], xmm4
mov dword [ebp - 0xcc], edi
movss dword [ebp - 0x34], xmm0
movss dword [ebp - 0x30], xmm1
je 0x100198d1
mov esi, dword [ebp - 0x8c]
lea eax, [ebp - 0x54]
push eax
mov edx, esi
lea ecx, [ebp - 0x3c]
call fcn.10006290
movss xmm0, dword [ebp - 0x4c]
lea edx, [ebp - 0xd8]
subss xmm0, dword [ebp - 0x54]
mov ecx, esi
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0x48]
subss xmm0, dword [ebp - 0x50]
movss dword [ebp - 0xd4], xmm0
call fcn.1000cd80
add esp, 4
test al, al
jne 0x10019895
call fcn.1000cbc0
call fcn.10023fb0
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.10044190
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x1004f60c]
movss xmm0, dword [ebp - 0x14]
mov eax, dword [ecx + 0x1928]
mov byte [eax + 0x78], 1
mov ecx, dword [ecx + 0x1928]
mov dword [ebp - 0xcc], ecx
subss xmm0, dword [ecx + 0x6c]
mov eax, dword [ecx + 0x134]
or dword [ecx + 0x13c], eax
movss dword [ebp - 0xf4], xmm0
jmp 0x1001991b
subss xmm1, xmm4
subss xmm0, xmm3
lea ecx, [ebp - 0xd8]
movss dword [ebp - 0xd4], xmm1
movss xmm1, dword [ebx + 0x1540]
movss dword [ebp - 0xd8], xmm0
call fcn.10005930
mov esi, dword [ebp - 0x8c]
lea eax, [ebp - 0x54]
push eax
mov edx, esi
lea ecx, [ebp - 0x3c]
call fcn.10006290
add esp, 4
test al, al
je 0x10019882
mov edx, esi
lea ecx, [ebp - 0x54]
call fcn.10006510
mov byte [ebp - 0x91], al
test al, al
je 0x10019939
mov dword [ebx + 0x1bd4], 1
cmp byte [ebp - 0xf0], 0
je 0x100199d8
mov esi, dword [ebx + 0x1850]
cmp dword [esi + 0x28], 0x2a
jg 0x10019957
mov eax, dword [esi + 0x34]
jmp 0x10019976
mov eax, dword [esi + 0x30]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x1001996d
mov eax, dword [esi + 0x34]
jmp 0x10019976
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x18]
lea eax, [eax + ecx*8]
mov dword [ebp - 0xbc], eax
lea edx, [ebx + 0x2abc]
mov eax, dword [esi]
mov dword [edx], eax
mov eax, dword [esi + 4]
mov dword [edx + 4], eax
mov eax, dword [ebx + 0x1850]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [edx + 8], ecx
mov ecx, edx
mov dword [edx + 0xc], eax
mov eax, dword [ebx + 0x1850]
mov eax, dword [eax + 0x48]
mov dword [edx + 0x48], eax
mov eax, dword [ebx + 0x1850]
mov eax, dword [eax + 0x4c]
mov dword [edx + 0x4c], eax
mov eax, dword [ebx + 0x1850]
mov eax, dword [eax + 0x44]
mov dword [edx + 0x44], eax
mov eax, dword [ebp - 0xbc]
mov dword [edx + 0x34], eax
mov eax, dword [eax + 4]
mov dword [edx + 0x38], eax
call fcn.100121d0
test dword [ebp + 0x10], 0x440
mov ecx, edi
mov edx, dword [ebp - 0x8c]
sete al
movzx eax, al
push eax
call fcn.100066a0
add esp, 4
mov byte [ebp - 0x9e], al
test al, al
je 0x10019a91
mov ecx, dword [edi + 0x330]
cmp ecx, dword [edi + 0x338]
jne 0x10019a91
mov byte [ebp - 0x8d], 1
mov byte [ebp - 0x92], 0
cmp byte [ebp - 0x91], 0
je 0x10019a39
cmp byte [ebx + 0x3e8], 0
mov byte [ebp - 0x90], 1
jne 0x10019a40
mov byte [ebp - 0x90], 0
cmp byte [ebp - 0x98], 0
je 0x10019ab3
cmp dword [ebx + 0x1944], 0
jne 0x10019ab3
mov eax, dword [ebp - 0x8c]
cmp dword [ebx + 0x1c58], eax
jne 0x10019ab3
mov eax, dword [ebp - 0xcc]
xor edx, edx
mov ecx, dword [eax + 0x1c8]
mov eax, dword [eax + 0x1d0]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.10003ee0
add esp, 4
cmp dword [ebx + 0x1948], eax
jne 0x10019ab3
mov cl, 1
jmp 0x10019ab5
mov byte [ebp - 0x8d], 0
test al, al
je 0x10019a19
mov byte [ebp - 0x92], 1
mov byte [ebp - 0x8d], 0
jmp 0x10019a20
xor cl, cl
mov eax, dword [ebx + 0x1944]
mov edx, dword [ebp - 0x8c]
cmp eax, edx
je 0x10019aee
cmp dword [ebx + 0x1a38], edx
je 0x10019ade
cmp dword [ebx + 0x1a2c], edx
jne 0x10019aee
cmp dword [ebx + 0x1a48], 3
jne 0x10019aee
mov esi, dword [ebp - 0x8c]
mov dl, 1
mov byte [ebp - 0x8e], dl
jmp 0x10019b00
mov esi, dword [ebp - 0x8c]
xor dl, dl
mov byte [ebp - 0x8e], dl
cmp eax, esi
je 0x10019b1a
test byte [ebp + 0x10], 0x10
jne 0x10019b0a
test dl, dl
je 0x10019b1a
cmp byte [ebp - 0x98], 0
mov byte [ebp - 0xb4], 1
je 0x10019b21
mov byte [ebp - 0xb4], 0
cmp byte [ebp - 0x9e], 0
jne 0x10019b59
cmp byte [ebp - 0x90], 0
jne 0x10019b59
test cl, cl
jne 0x10019b59
test dl, dl
jne 0x10019b59
mov byte [ebp - 0x8f], dl
cmp byte [ebx + 0x3e8], dl
je 0x10019d7e
mov byte [ebp - 0x8f], 1
jmp 0x10019d7e
cmp eax, esi
je 0x10019d3a
mov edi, dword [ebp + 8]
lea ecx, [ebx + 0x1c5c]
mov eax, dword [ebx + 0x1c84]
inc edi
push edi
mov dword [ebp - 0xc8], eax
call fcn.100275c0
push edi
lea ecx, [ebx + 0x1c68]
call fcn.100273f0
mov esi, dword [ebx + 0x1c68]
mov edi, dword [ebx + 0x1c70]
cmp esi, 1
jb 0x10019bb0
push esi
push dword [ebp - 0xb8]
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
add esp, 0xc
mov byte [edi + esi - 1], 0
mov esi, dword [ebp - 0xb8]
lea eax, [ebp - 0x9c]
mov edx, dword [ebx + 0x1c5c]
push eax
push ecx
mov ecx, dword [ebx + 0x1c64]
push esi
mov dword [ebp - 0x9c], 0
call fcn.100041a0
mov ecx, dword [ebp - 0x9c]
add esp, 0xc
mov edi, dword [ebp - 0x8c]
sub ecx, esi
mov edx, eax
mov dword [ebx + 0x1c80], ecx
mov dword [ebx + 0x1c84], edx
mov dword [ebx + 0x2ab4], 0xbe99999a
cmp dword [ebx + 0x1c58], edi
jne 0x10019c55
cmp dword [ebp - 0xc8], edx
jne 0x10019c55
mov eax, dword [ebx + 0x1c90]
mov ecx, edx
cmp eax, edx
cmovl ecx, eax
mov eax, dword [ebx + 0x1c94]
cmp eax, edx
mov dword [ebx + 0x1c90], ecx
mov ecx, edx
cmovl ecx, eax
mov eax, dword [ebx + 0x1c98]
cmp eax, edx
mov dword [ebx + 0x1c94], ecx
mov ecx, dword [ebp - 0x98]
cmovl edx, eax
mov dword [ebx + 0x1c98], edx
jmp 0x10019ce6
mov ecx, dword [ebp - 0x98]
mov al, cl
mov dword [ebx + 0x1c58], edi
xor al, 1
mov dword [ebx + 0x1c8c], 0
mov dword [ebx + 0x2aa6], 0x630000
mov dword [ebx + 0x2aac], 0
mov dword [ebx + 0x2ab0], 0x3e7
mov dword [ebx + 0x1c94], 0
mov dword [ebx + 0x1c98], 0
mov dword [ebx + 0x1c90], 0
mov dword [ebx + 0x1c9c], 0x10000
mov dword [ebx + 0x1ca4], 0
mov byte [ebx + 0x1ca0], al
test cl, cl
jne 0x10019ce6
mov eax, dword [ebp - 0xb4]
mov edx, 1
cmp byte [ebp - 0x8d], cl
movzx eax, al
cmovne eax, edx
mov dword [ebp - 0xb4], eax
test dword [ebp + 0x10], 0x2000
je 0x10019cf6
mov byte [ebx + 0x1c9c], 1
test cl, cl
jne 0x10019d34
cmp byte [ebp - 0x92], cl
jne 0x10019d12
cmp byte [ebp - 0x90], cl
je 0x10019d34
cmp byte [ebx + 0xf1], cl
je 0x10019d34
mov edx, dword [ebp - 0xac]
mov ecx, edi
mov byte [ebp - 0xb4], 1
call fcn.100057b0
call fcn.10005870
mov ecx, edx
call fcn.10011ee0
jmp 0x10019d63
mov edi, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x8c]
mov edx, edi
call fcn.100057b0
call fcn.10005870
mov ecx, edi
call fcn.10011ee0
cmp byte [ebp - 0x98], 0
mov byte [ebp - 0x8f], 0
jne 0x10019d7e
test byte [ebp + 0x10], 0x80
mov byte [ebp - 0x8f], 0
jne 0x10019d7e
or dword [ebx + 0x1958], 0xc
mov byte [ebp - 0x8f], 0
mov edi, dword [ebp - 0x8c]
mov byte [ebp - 0xa5], 0
mov byte [ebp - 0x92], 0
cmp dword [ebx + 0x1944], edi
jne 0x1001a18d
cmp byte [ebp - 0xa4], 0
jne 0x10019e42
cmp byte [ebx + 0x1951], 0
jne 0x10019e42
mov eax, dword [ebp + 8]
lea ecx, [ebx + 0x1c5c]
inc eax
push eax
call fcn.100275c0
mov edi, dword [ebp - 0xb8]
lea eax, [ebp - 0x9c]
mov edx, dword [ebx + 0x1c5c]
push eax
push ecx
mov ecx, dword [ebx + 0x1c64]
push edi
mov dword [ebp - 0x9c], 0
call fcn.100041a0
mov ecx, dword [ebp - 0x9c]
mov esi, eax
mov eax, dword [ebx + 0x1c94]
sub ecx, edi
mov dword [ebx + 0x1c80], ecx
add esp, 0xc
mov ecx, dword [ebx + 0x1c90]
mov edx, esi
cmp ecx, esi
mov dword [ebx + 0x1c84], esi
cmovl edx, ecx
cmp eax, esi
mov ecx, esi
mov dword [ebx + 0x1c90], edx
cmovl ecx, eax
mov eax, dword [ebx + 0x1c98]
cmp eax, esi
mov dword [ebx + 0x1c94], ecx
cmovl esi, eax
mov dword [ebx + 0x1c98], esi
mov eax, dword [ebp + 8]
mov dword [ebx + 0x1c88], eax
cmp byte [ebx + 0xe0], 0
mov dword [ebx + 0x2d98], 1
sete al
cmp byte [ebp - 0x98], 0
mov byte [ebx + 0x1952], al
movss xmm7, dword [ebx + 0xd8]
subss xmm7, dword [ebp - 0x54]
subss xmm7, dword [ebx + 0x153c]
addss xmm7, dword [ebx + 0x1c8c]
je 0x10019eab
mov eax, dword [ebp - 0xcc]
movss xmm2, dword [ebx + 0xdc]
subss xmm2, dword [eax + 0xcc]
subss xmm2, dword [ebx + 0x1540]
jmp 0x10019ebb
movss xmm2, dword [ebx + 0x1854]
mulss xmm2, dword [0x1004cb20]
cmp byte [ebp - 0xb4], 0
mov cl, byte [ebx + 0xbc]
mov byte [ebp - 0x8d], cl
jne 0x1001a082
mov dl, byte [ebp - 0x91]
test dl, dl
je 0x10019ef4
mov al, byte [ebx + 0x3ed]
test cl, cl
jne 0x10019f71
test al, al
jne 0x1001a082
cmp byte [ebx + 0x3e8], 0
mov al, byte [ebx + 0x2ab9]
je 0x10019fd8
test al, al
jne 0x10019fd8
test dl, dl
je 0x1001a0ac
lea edi, [ebx + 0x1c58]
cmp byte [ebx + 0x1ca0], al
je 0x10019f39
push 0
mov edx, edi
lea ecx, [ebp - 0x44]
call fcn.10017bb0
movss xmm2, dword [ebp - 0x38]
add esp, 4
movaps xmm1, xmm7
mov ecx, edi
call fcn.10017e40
mov cl, byte [ebp - 0x8d]
mov dword [ebx + 0x1c90], eax
mov dword [ebx + 0x1c94], eax
mov dword [ebx + 0x1c98], eax
mov byte [ebx + 0x1c9f], 0
mov dword [ebx + 0x2ab4], 0xbe99999a
jmp 0x1001a0ac
test al, al
je 0x10019ef4
push 0x1000c
lea edx, [ebx + 0x1c90]
lea ecx, [ebx + 0x1c58]
call fcn.10018240
add esp, 4
mov byte [ebx + 0x2ab8], 1
lea edx, [ebx + 0x1c90]
mov dword [ebx + 0x2ab4], 0xbe99999a
lea ecx, [ebx + 0x1c58]
push 0x3000d
call fcn.10018240
mov cl, byte [ebp - 0x8d]
add esp, 4
mov byte [ebx + 0x2ab8], 1
mov dword [ebx + 0x2ab4], 0xbe99999a
jmp 0x1001a0ac
cmp byte [ebx + 0xe0], 0
je 0x1001a0ac
test al, al
jne 0x1001a0ac
movss xmm0, dword [ebx + 0x384]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1001a016
movss xmm0, dword [ebx + 0x388]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1001a0ac
cmp byte [ebx + 0x1ca0], 0
lea edi, [ebx + 0x1c58]
je 0x1001a039
push 0
mov edx, edi
lea ecx, [ebp - 0x44]
call fcn.10017bb0
movss xmm2, dword [ebp - 0x38]
add esp, 4
mov eax, dword [ebx + 0x1c94]
cmp eax, dword [ebx + 0x1c98]
jne 0x1001a053
mov eax, dword [ebx + 0x1c90]
mov dword [ebx + 0x1c94], eax
movaps xmm1, xmm7
mov ecx, edi
call fcn.10017e40
mov cl, byte [ebp - 0x8d]
mov dword [ebx + 0x1c98], eax
mov dword [ebx + 0x1c90], eax
mov dword [ebx + 0x2ab4], 0xbe99999a
mov byte [ebx + 0x2ab8], 1
jmp 0x1001a0ac
mov eax, dword [ebx + 0x1c84]
mov dword [ebx + 0x1c94], 0
mov dword [ebx + 0x1c98], eax
mov dword [ebx + 0x1c90], eax
mov byte [ebx + 0x1c9f], 0
mov byte [ebx + 0x2ab9], 1
cmp byte [ebx + 0x2ab9], 0
je 0x1001a0c5
cmp byte [ebx + 0xe0], 0
jne 0x1001a0c5
mov byte [ebx + 0x2ab9], 0
cmp word [ebx + 0x2f6], 0
lea esi, [ebx + 0x2f6]
je 0x1001a18d
cmp byte [ebx + 0xf1], 0
je 0x1001a0ef
cmp byte [ebx + 0xf3], 0
je 0x1001a173
test cl, cl
je 0x1001a0fc
cmp byte [ebx + 0xf4], 0
jne 0x1001a173
cmp byte [ebp - 0xa4], 0
je 0x1001a173
cmp byte [ebp - 0x8e], 0
jne 0x1001a173
xor edi, edi
movzx eax, word [esi]
test ax, ax
je 0x1001a173
push dword [ebp - 0xb0]
mov edx, dword [ebp + 0x10]
lea ecx, [ebp - 0x9c]
push dword [ebp - 0xc4]
mov dword [ebp - 0x9c], eax
call fcn.10019340
add esp, 8
test al, al
je 0x1001a16a
push dword [ebp - 0x9c]
lea edx, [ebx + 0x1c90]
lea ecx, [ebx + 0x1c58]
call fcn.10018240
add esp, 4
mov byte [ebx + 0x2ab8], 1
mov dword [ebx + 0x2ab4], 0xbe99999a
inc edi
add esi, 2
cmp edi, 0x11
jl 0x1001a110
xorps xmm0, xmm0
movups xmmword [ebx + 0x2f6], xmm0
movups xmmword [ebx + 0x306], xmm0
mov word [ebx + 0x316], 0
mov eax, dword [ebp - 0x8c]
xor cl, cl
mov byte [ebp - 0x85], cl
cmp dword [ebx + 0x1944], eax
jne 0x1001ae7f
cmp byte [ebx + 0x1951], cl
jne 0x1001aba4
cmp byte [ebp - 0x8f], cl
jne 0x1001aba4
mov ah, byte [ebx + 0xf2]
xor esi, esi
mov dh, byte [ebx + 0xbc]
test ah, ah
mov al, byte [ebx + 0xf1]
mov ecx, 0x20000
cmovne esi, ecx
mov byte [ebp - 0xa6], ah
mov byte [ebp - 0xd9], dh
test dh, dh
je 0x1001a23d
cmp byte [ebx + 0xf4], 0
je 0x1001a201
test al, al
jne 0x1001a201
mov ecx, 1
jmp 0x1001a203
xor ecx, ecx
test ecx, ecx
jne 0x1001a24a
xor dl, dl
mov byte [ebp - 0x90], dl
mov cl, al
test dh, dh
je 0x1001a25b
cmp byte [ebx + 0xf4], 0
je 0x1001a25b
test ah, ah
je 0x1001a25b
mov cl, byte [ebx + 0xf1]
test cl, cl
jne 0x1001a25b
cmp byte [ebx + 0xf3], cl
jne 0x1001a25b
mov byte [ebp - 0x91], 1
jmp 0x1001a26a
test al, al
je 0x1001a207
cmp byte [ebx + 0xf4], 0
jne 0x1001a207
cmp byte [ebx + 0xf3], 0
jne 0x1001a207
test ah, ah
jne 0x1001a207
mov dl, 1
jmp 0x1001a209
mov byte [ebp - 0x91], 0
test dh, dh
je 0x1001a337
cmp byte [ebx + 0xf4], 0
mov al, byte [ebx + 0xf3]
mov byte [ebp - 0x9d], al
je 0x1001a344
test cl, cl
jne 0x1001a344
test al, al
jne 0x1001a344
mov byte [ebp - 0x93], 1
xor dh, dh
cmp byte [ebx + 0xf2], dh
je 0x1001a2bf
test cl, cl
jne 0x1001a2bf
cmp byte [ebx + 0xf3], cl
jne 0x1001a2bf
mov byte [ebp - 0x8e], 1
cmp byte [ebx + 0xf4], cl
je 0x1001a2c6
mov byte [ebp - 0x8e], 0
mov edi, dword [0x1004f60c]
test dl, dl
je 0x1001a2e2
mov ecx, dword [edi + 0x7c]
test ecx, ecx
js 0x1001a2e2
mov dl, 1
call fcn.1000c020
test al, al
jne 0x1001a305
cmp byte [ebp - 0x8e], 0
je 0x1001a37a
mov ecx, dword [edi + 0x5c]
test ecx, ecx
js 0x1001a37a
mov dl, 1
call fcn.1000c020
test al, al
je 0x1001a37a
cmp byte [ebp - 0xa4], 0
je 0x1001a37a
cmp byte [ebp - 0xf0], 0
jne 0x1001a37a
cmp byte [ebp - 0x98], 0
je 0x1001a32e
mov eax, dword [ebx + 0x1c94]
cmp eax, dword [ebx + 0x1c98]
je 0x1001a37a
mov byte [ebp - 0x8d], 1
jmp 0x1001a381
mov byte [ebp - 0x9d], cl
mov byte [ebp - 0x91], 0
mov byte [ebp - 0x93], 0
test cl, cl
je 0x1001a29a
test ah, ah
jne 0x1001a29a
cmp byte [ebx + 0xf3], ah
jne 0x1001a29a
cmp byte [ebx + 0xf4], ah
jne 0x1001a29a
mov dh, 1
jmp 0x1001a2bf
mov byte [ebp - 0x8d], 0
cmp byte [ebp - 0x90], 0
je 0x1001a39c
mov ecx, dword [edi + 0x74]
test ecx, ecx
js 0x1001a39c
mov dl, 1
call fcn.1000c020
test al, al
jne 0x1001a3b2
test dh, dh
je 0x1001a3db
mov ecx, dword [edi + 0x58]
test ecx, ecx
js 0x1001a3db
mov dl, 1
call fcn.1000c020
test al, al
je 0x1001a3db
cmp byte [ebp - 0xf0], 0
jne 0x1001a3db
cmp byte [ebp - 0x98], 0
je 0x1001a3d2
mov eax, dword [ebx + 0x1c94]
cmp eax, dword [ebx + 0x1c98]
je 0x1001a3db
mov byte [ebp - 0xbd], 1
jmp 0x1001a3e2
mov byte [ebp - 0xbd], 0
mov dh, byte [ebp - 0x90]
test dh, dh
je 0x1001a3fe
mov ecx, dword [edi + 0x78]
test ecx, ecx
js 0x1001a3fe
mov dl, 1
call fcn.1000c020
test al, al
jne 0x1001a419
cmp byte [ebp - 0x8e], 0
je 0x1001a429
mov ecx, dword [edi + 0x58]
test ecx, ecx
js 0x1001a429
mov dl, 1
call fcn.1000c020
test al, al
je 0x1001a429
cmp byte [ebp - 0xa4], 0
mov byte [ebp - 0x9e], 1
jne 0x1001a430
mov byte [ebp - 0x9e], 0
test dh, dh
je 0x1001a463
mov ecx, dword [edi + 0x84]
test ecx, ecx
js 0x1001a463
mov dl, 1
call fcn.1000c020
test al, al
je 0x1001a463
cmp byte [ebp - 0xa4], 0
je 0x1001a463
cmp byte [ebp - 0xe8], 0
je 0x1001a463
mov byte [ebp - 0x8e], dl
jmp 0x1001a46e
mov byte [ebp - 0x8e], 0
test dh, dh
je 0x1001a483
mov ecx, dword [edi + 0x80]
test ecx, ecx
js 0x1001a483
mov dl, 1
call fcn.1000c020
test al, al
jne 0x1001a4a1
cmp byte [ebp - 0x91], 0
je 0x1001a4b7
mov ecx, dword [edi + 0x84]
test ecx, ecx
js 0x1001a4b7
mov dl, 1
call fcn.1000c020
test al, al
je 0x1001a4b7
cmp byte [ebp - 0xa4], 0
je 0x1001a4b7
cmp byte [ebp - 0xe8], 0
je 0x1001a4b7
mov dh, 1
jmp 0x1001a4b9
xor dh, dh
mov ecx, dword [edi + 0x38]
test ecx, ecx
js 0x1001a508
mov dl, 1
call fcn.1000c020
test al, al
je 0x1001a508
cmp byte [ebp - 0x93], 0
je 0x1001a4db
mov eax, 0x10004
jmp 0x1001a4ef
mov eax, 0x10000
mov ecx, 0x1000c
cmp byte [ebp - 0x9d], 0
cmovne eax, ecx
or eax, esi
push eax
lea edx, [ebx + 0x1c90]
lea ecx, [ebx + 0x1c58]
call fcn.10018240
jmp 0x1001ab84
mov ecx, dword [edi + 0x3c]
test ecx, ecx
js 0x1001a534
mov dl, 1
call fcn.1000c020
test al, al
je 0x1001a534
cmp byte [ebp - 0x93], 0
je 0x1001a52a
mov eax, 0x10005
jmp 0x1001a4ef
mov eax, 0x10001
lea ecx, [eax + 0xc]
jmp 0x1001a4e5
mov ecx, dword [edi + 0x40]
test ecx, ecx
js 0x1001a5a7
mov dl, 1
call fcn.1000c020
test al, al
je 0x1001a5a7
cmp byte [ebp - 0x98], 0
je 0x1001a5a7
cmp byte [ebx + 0xf1], 0
je 0x1001a594
mov edx, dword [ebp - 0xcc]
movss xmm1, dword [edx + 0x58]
movaps xmm0, xmm1
subss xmm0, dword [ebx + 0x1854]
addss xmm1, dword [edx + 0xe4]
maxss xmm0, dword [0x1004cab0]
subss xmm1, xmm0
movss dword [edx + 0x58], xmm0
movss dword [edx + 0xe4], xmm1
jmp 0x1001ab98
movzx eax, byte [ebp - 0x93]
lea eax, [eax*4 + 0x10002]
jmp 0x1001a4ef
mov ecx, dword [edi + 0x44]
test ecx, ecx
js 0x1001a63a
mov dl, 1
call fcn.1000c020
test al, al
je 0x1001a63a
cmp byte [ebp - 0x98], 0
je 0x1001a63a
cmp byte [ebx + 0xf1], 0
je 0x1001a627
mov eax, dword [edi + 0x1928]
mov ecx, dword [ebp - 0xcc]
movss xmm0, dword [eax + 0x20]
subss xmm0, dword [eax + 0x70]
movss xmm1, dword [eax + 0x30]
movss xmm3, dword [ecx + 0x58]
movaps xmm2, xmm3
addss xmm2, dword [ebx + 0x1854]
addss xmm3, dword [ecx + 0xe4]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
minss xmm2, xmm0
subss xmm3, xmm2
movss dword [ecx + 0x58], xmm2
movss dword [ecx + 0xe4], xmm3
jmp 0x1001ab98
movzx eax, byte [ebp - 0x93]
lea eax, [eax*4 + 0x10003]
jmp 0x1001a4ef
mov ecx, dword [edi + 0x50]
test ecx, ecx
js 0x1001a669
mov dl, 1
call fcn.1000c020
test al, al
je 0x1001a669
mov eax, esi
or esi, 0x10004
or eax, 0x10006
cmp byte [ebx + 0xf1], 0
cmovne esi, eax
push esi
jmp 0x1001a4f2
mov ecx, dword [edi + 0x54]
test ecx, ecx
js 0x1001a698
mov dl, 1
call fcn.1000c020
test al, al
je 0x1001a698
mov eax, esi
or esi, 0x10005
or eax, 0x10007
cmp byte [ebx + 0xf1], 0
cmovne esi, eax
push esi
jmp 0x1001a4f2
mov ecx, dword [edi + 0x5c]
test ecx, ecx
js 0x1001a6bf
mov dl, 1
call fcn.1000c020
test al, al
je 0x1001a6bf
cmp byte [ebp - 0xa4], 0
je 0x1001a6bf
or esi, 0x10008
push esi
jmp 0x1001a4f2
mov ecx, dword [edi + 0x60]
test ecx, ecx
js 0x1001a75a
mov dl, 1
call fcn.1000c020
test al, al
je 0x1001a75a
cmp byte [ebp - 0xa4], 0
je 0x1001a75a
mov eax, dword [ebx + 0x1c94]
cmp eax, dword [ebx + 0x1c98]
jne 0x1001a74e
cmp byte [ebp - 0x9d], 0
je 0x1001a700
push 0x3000c
jmp 0x1001a729
cmp byte [ebp - 0xd9], 0
je 0x1001a74e
cmp byte [ebx + 0xf4], 0
je 0x1001a74e
cmp byte [ebx + 0xf3], 0
jne 0x1001a74e
cmp byte [ebx + 0xf1], 0
jne 0x1001a74e
push 0x30004
lea edx, [ebx + 0x1c90]
lea ecx, [ebx + 0x1c58]
call fcn.10018240
mov dword [ebx + 0x2ab4], 0xbe99999a
add esp, 4
mov byte [ebx + 0x2ab8], 1
or esi, 0x10009
push esi
jmp 0x1001a4f2
mov ecx, dword [edi + 0x68]
test ecx, ecx
js 0x1001a7ec
mov dl, 1
call fcn.1000c020
test al, al
je 0x1001a7ec
mov edx, dword [ebp + 0x10]
mov eax, edx
shr eax, 0xb
and al, 1
cmp byte [ebp - 0x98], 0
je 0x1001a791
mov cl, byte [ebx + 0xf1]
test al, al
je 0x1001a7a4
test cl, cl
jne 0x1001a7a8
mov byte [ebp - 0x8f], 1
mov byte [ebp - 0x92], 1
jmp 0x1001ab98
test cl, cl
jne 0x1001a791
cmp byte [ebp - 0xa4], 0
je 0x1001ab98
mov dword [ebp - 0x9c], 0xa
push dword [ebp - 0xb0]
lea ecx, [ebp - 0x9c]
push dword [ebp - 0xc4]
call fcn.10019340
add esp, 8
test al, al
je 0x1001ab98
push dword [ebp - 0x9c]
jmp 0x1001a4f2
test dword [ebp + 0x10], 0x400
je 0x1001a83a
mov ecx, dword [edi + 0x34]
test ecx, ecx
js 0x1001a83a
mov dl, 1
call fcn.1000c020
test al, al
je 0x1001a83a
cmp byte [ebx + 0xf1], 0
jne 0x1001a83a
cmp byte [ebp - 0xa6], 0
jne 0x1001a83a
cmp byte [ebx + 0xf3], 0
jne 0x1001a83a
cmp byte [ebp - 0xa4], 0
je 0x1001a83a
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x9c], 9
jmp 0x1001a7bf
mov ecx, dword [edi + 0x6c]
test ecx, ecx
js 0x1001a859
mov dl, 1
call fcn.1000c020
test al, al
je 0x1001a859
mov cl, dl
mov byte [ebp - 0x8f], cl
jmp 0x1001ab9e
mov al, byte [ebp - 0x8e]
test al, al
jne 0x1001ab55
test dh, dh
jne 0x1001ab55
cmp byte [ebp - 0x90], dh
je 0x1001a8b6
mov ecx, dword [edi + 0x70]
test ecx, ecx
js 0x1001a8b6
mov dl, 1
call fcn.1000c020
test al, al
je 0x1001a8b6
mov eax, dword [ebx + 0x1c84]
mov dword [ebx + 0x1c94], 0
mov dword [ebx + 0x1c98], eax
mov dword [ebx + 0x1c90], eax
mov byte [ebx + 0x1c9f], dh
mov byte [ebx + 0x2ab8], dl
jmp 0x1001ab98
mov al, byte [ebp - 0x8d]
test al, al
jne 0x1001aa54
cmp byte [ebp - 0xbd], al
jne 0x1001aa54
cmp byte [ebp - 0x9e], al
je 0x1001ab98
mov eax, dword [edi + 0xc0]
test eax, eax
je 0x1001a8fc
push dword [edi + 0xc8]
call eax
mov esi, eax
add esp, 4
test esi, esi
jne 0x1001a901
jmp 0x1001ab98
mov esi, 0x1004a04e
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1001a906
inc dword [0x1004f6c0]
sub ecx, edx
lea eax, [ecx*2 + 2]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
mov dword [ebp - 0xac], eax
xor edi, edi
cmp byte [esi], 0
je 0x1001a998
mov ebx, eax
push 0
mov edx, esi
lea ecx, [ebp - 0xbc]
call fcn.10004000
add esi, eax
add esp, 4
mov eax, dword [ebp - 0xbc]
test eax, eax
je 0x1001a98c
cmp eax, 0x10000
jae 0x1001a987
push dword [ebp - 0xb0]
mov edx, dword [ebp + 0x10]
lea ecx, [ebp - 0xbc]
push dword [ebp - 0xc4]
call fcn.10019340
add esp, 8
test al, al
je 0x1001a987
mov ax, word [ebp - 0xbc]
mov word [ebx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x1001a935
mov ebx, dword [ebp - 0x104]
mov eax, dword [ebp - 0xac]
xor ecx, ecx
mov word [eax + edi*2], cx
test edi, edi
jle 0x1001aa3e
mov edx, dword [ebx + 0x1c98]
lea esi, [ebx + 0x1c90]
mov ecx, dword [esi + 4]
mov eax, dword [ebx + 0x1c84]
cmp ecx, edx
je 0x1001a9d7
cmp ecx, eax
jle 0x1001a9c8
mov dword [esi + 4], eax
mov ecx, eax
cmp edx, eax
jle 0x1001a9d1
mov dword [esi + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x1001a9d7
mov dword [esi], ecx
cmp dword [esi], eax
jle 0x1001a9dd
mov dword [esi], eax
mov edx, esi
lea ecx, [ebx + 0x1c58]
call fcn.100181b0
mov edx, dword [esi]
lea ecx, [ebx + 0x1c58]
push edi
push dword [ebp - 0xac]
call fcn.10017d90
add esp, 8
test al, al
je 0x1001aa1d
mov edx, dword [esi]
lea ecx, [esi + 0x18]
push edi
push 0
call fcn.10018f00
add esp, 8
mov byte [esi + 0xf], 0
add dword [esi], edi
jmp 0x1001aa31
movzx eax, word [esi + 0xe16]
test ax, ax
je 0x1001aa31
dec eax
mov word [esi + 0xe16], ax
mov eax, dword [ebp - 0xac]
mov byte [ebx + 0x2ab8], 1
test eax, eax
je 0x1001aa48
dec dword [0x1004f6c0]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x1001ab95
cmp dword [ebx + 0xc4], 0
je 0x1001aaed
mov edi, dword [ebx + 0x1c98]
mov eax, dword [ebx + 0x1c94]
cmp eax, edi
je 0x1001aa7b
mov ecx, edi
cmovl edi, eax
cmovge ecx, eax
jmp 0x1001aa83
mov ecx, dword [ebx + 0x1c84]
xor edi, edi
mov dword [ebp - 0x9c], ecx
sub ecx, edi
lea eax, [ecx*4 + 1]
push eax
lea ecx, [ebx + 0x1c74]
call fcn.100273f0
mov ecx, dword [ebx + 0x1c64]
mov eax, dword [ebp - 0x9c]
mov edx, dword [ebx + 0x1c74]
lea eax, [ecx + eax*2]
push eax
lea eax, [ecx + edi*2]
mov ecx, dword [ebx + 0x1c7c]
push eax
call fcn.10004260
mov edi, dword [0x1004f60c]
add esp, 8
mov eax, dword [edi + 0xc4]
test eax, eax
je 0x1001aae7
push dword [ebx + 0x1c7c]
push dword [edi + 0xc8]
call eax
add esp, 8
mov al, byte [ebp - 0x8d]
test al, al
je 0x1001ab98
mov eax, dword [ebx + 0x1c94]
cmp eax, dword [ebx + 0x1c98]
jne 0x1001ab26
mov eax, dword [ebx + 0x1c84]
mov dword [ebx + 0x1c94], 0
mov dword [ebx + 0x1c98], eax
mov dword [ebx + 0x1c90], eax
mov byte [ebx + 0x1c9f], 0
mov byte [ebx + 0x2ab8], 1
mov eax, dword [ebx + 0x1c94]
cmp eax, dword [ebx + 0x1c98]
je 0x1001ab98
lea edx, [ebx + 0x1c90]
lea ecx, [ebx + 0x1c58]
call fcn.100181b0
mov byte [ebx + 0x1c9f], 0
jmp 0x1001ab98
movzx eax, al
lea edx, [ebx + 0x1c90]
xor eax, 1
lea ecx, [ebx + 0x1c58]
add eax, 0x1000a
push eax
call fcn.10018240
mov eax, dword [ebx + 0x1c90]
mov dword [ebx + 0x1c98], eax
mov dword [ebx + 0x1c94], eax
mov dword [ebx + 0x2ab4], 0xbe99999a
mov byte [ebx + 0x2ab8], 1
add esp, 4
mov cl, byte [ebp - 0x85]
mov eax, dword [ebp - 0x8c]
cmp dword [ebx + 0x1944], eax
jne 0x1001ae7f
test cl, cl
je 0x1001ac17
cmp byte [ebp - 0xa4], 0
je 0x1001abfd
mov esi, dword [ebp + 8]
mov edi, dword [ebp - 0xb8]
push esi
push dword [ebx + 0x1c70]
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x1001abfd
cmp esi, 1
jb 0x1001abf6
push esi
push dword [ebx + 0x1c70]
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
add esp, 0xc
mov byte [edi + esi - 1], 0
mov byte [ebp - 0xa5], 1
cmp byte [ebp - 0x92], 0
je 0x1001ae7f
mov eax, dword [ebp + 0x10]
test al, 0x20
je 0x1001ae7f
jmp 0x1001ac1a
mov eax, dword [ebp + 0x10]
cmp byte [ebp - 0xa4], 0
je 0x1001ac57
mov eax, dword [ebx + 0x1c5c]
lea ecx, [ebx + 0x1c74]
shl eax, 2
push eax
call fcn.100273f0
mov edx, dword [ebx + 0x1c74]
mov ecx, dword [ebx + 0x1c7c]
push 0
push dword [ebx + 0x1c64]
call fcn.10004260
mov eax, dword [ebp + 0x10]
add esp, 8
test eax, 0x1c0
je 0x1001ae14
mov edi, dword [0x1004f60c]
mov esi, 0x15
test al, 0x40
je 0x1001ac8d
mov ecx, dword [edi + 0x34]
test ecx, ecx
js 0x1001ac8d
mov dl, 1
call fcn.1000c020
test al, al
je 0x1001ac8a
lea eax, [esi + 0x2b]
xor esi, esi
jmp 0x1001acdf
mov eax, dword [ebp + 0x10]
test al, al
jns 0x1001accf
mov ecx, dword [edi + 0x40]
test ecx, ecx
js 0x1001acb0
mov dl, 1
call fcn.1000c020
test al, al
je 0x1001acad
mov eax, 0x80
lea esi, [eax - 0x7d]
jmp 0x1001acdf
mov eax, dword [ebp + 0x10]
mov ecx, dword [edi + 0x44]
test ecx, ecx
js 0x1001accf
mov dl, 1
call fcn.1000c020
test al, al
je 0x1001accc
mov eax, 0x80
lea esi, [eax - 0x7c]
jmp 0x1001acdf
mov eax, dword [ebp + 0x10]
test eax, 0x100
je 0x1001ae14
mov eax, 0x100
mov dword [ebp - 0x84], eax
xor ecx, ecx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x7c], eax
mov al, byte [ebp - 0xa4]
xor al, 1
mov dword [ebp - 0x74], esi
mov esi, dword [ebx + 0x1c64]
mov byte [ebp - 0x78], al
mov eax, dword [ebx + 0x1c7c]
mov dword [ebp - 0x70], eax
mov eax, dword [ebx + 0x1c80]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebx + 0x1c88]
mov dword [ebp - 0x68], eax
mov eax, dword [ebx + 0x1c90]
mov word [ebp - 0x77], cx
mov byte [ebp - 0x75], cl
mov word [ebp - 0x63], cx
mov byte [ebp - 0x61], cl
lea edx, [esi + eax*2]
mov byte [ebp - 0x64], cl
mov ecx, esi
call fcn.10004390
mov ecx, dword [ebx + 0x1c94]
mov edi, eax
mov dword [ebp - 0x60], edi
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.10004390
mov ecx, dword [ebx + 0x1c98]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0x5c], eax
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.10004390
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x84]
push eax
call dword [ebp - 0xc4]
mov ecx, dword [ebp - 0x60]
add esp, 4
mov esi, dword [ebp - 0x70]
cmp ecx, edi
je 0x1001ada7
lea edx, [ecx + esi]
mov ecx, esi
call fcn.10004210
mov dword [ebx + 0x1c90], eax
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0xc8]
je 0x1001adc2
lea edx, [eax + esi]
mov ecx, esi
call fcn.10004210
mov dword [ebx + 0x1c94], eax
mov eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0xd0]
je 0x1001addd
lea edx, [eax + esi]
mov ecx, esi
call fcn.10004210
mov dword [ebx + 0x1c98], eax
cmp byte [ebp - 0x64], 0
je 0x1001ae14
mov edx, dword [ebx + 0x1c5c]
push 0
push ecx
mov ecx, dword [ebx + 0x1c64]
push esi
call fcn.100041a0
mov dword [ebx + 0x1c84], eax
add esp, 0xc
mov eax, dword [ebp - 0x6c]
mov dword [ebx + 0x1c80], eax
mov dword [ebx + 0x2ab4], 0xbe99999a
cmp byte [ebp - 0xa4], 0
je 0x1001ae7f
mov esi, dword [ebx + 0x1c7c]
mov eax, esi
mov ecx, dword [ebp - 0xb8]
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1001ae50
test dl, dl
je 0x1001ae4c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1001ae50
add eax, 2
add ecx, 2
test dl, dl
jne 0x1001ae30
xor eax, eax
jmp 0x1001ae55
sbb eax, eax
or eax, 1
test eax, eax
je 0x1001ae7f
mov edi, dword [ebp + 8]
cmp edi, 1
jb 0x1001ae78
push edi
push esi
mov esi, dword [ebp - 0xb8]
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
add esp, 0xc
mov byte [esi + edi - 1], 0
mov byte [ebp - 0xa5], 1
cmp byte [ebp - 0x8f], 0
mov eax, dword [ebp - 0x8c]
je 0x1001aeed
cmp dword [ebx + 0x1944], eax
jne 0x1001aeed
mov edx, dword [0x1004f60c]
mov ecx, dword [edx + 0x1944]
test ecx, ecx
setne al
mov byte [edx + 0x1951], al
test ecx, ecx
je 0x1001aec2
mov dword [edx + 0x194c], 0
mov byte [edx + 0x1953], 0
mov eax, dword [ebp - 0x8c]
mov dword [edx + 0x1944], 0
mov dword [edx + 0x1958], 0
mov byte [edx + 0x1952], 0
mov dword [edx + 0x1964], 0
mov edx, dword [ebx + 0x1944]
cmp edx, eax
jne 0x1001af0c
cmp byte [ebp - 0xa4], 0
je 0x1001af0c
mov ecx, dword [ebx + 0x1c7c]
mov dword [ebp - 0xb8], ecx
cmp byte [ebp - 0x98], 0
jne 0x1001afcb
push 1
mov edx, eax
lea ecx, [ebp - 0x54]
call fcn.1000bcd0
movss xmm1, dword [0x1004cb50]
add esp, 4
mov ecx, 7
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
push dword [ebp - 0x54]
call fcn.10004410
movss xmm2, dword [ebx + 0x1544]
mov dl, 1
mov ecx, eax
call fcn.1000b580
movss xmm0, dword [ebp - 0x54]
add esp, 0x10
movss xmm3, dword [ebp - 0x50]
movaps xmm1, xmm0
movss xmm2, dword [ebp - 0xf4]
movss xmm5, dword [ebp - 0x10]
addss xmm1, xmm2
mov edx, dword [ebx + 0x1944]
addss xmm5, xmm3
mov edi, dword [ebp - 0xcc]
movss dword [ebp - 0x2c], xmm0
addss xmm0, dword [ebx + 0x153c]
movss dword [ebp - 0x28], xmm3
movss dword [ebp - 0xfc], xmm1
movss dword [ebp - 0x24], xmm1
movss dword [ebp - 0xac], xmm5
movss dword [ebp - 0x34], xmm0
movaps xmm0, xmm3
addss xmm0, dword [ebx + 0x1540]
movss dword [ebp - 0x20], xmm5
movss dword [ebp - 0x30], xmm0
jmp 0x1001b026
movss xmm0, dword [ebp - 0x54]
movss xmm2, dword [ebp - 0xf4]
movss xmm1, dword [ebp - 0x50]
mov edi, dword [ebp - 0xcc]
movss dword [ebp - 0x2c], xmm0
addss xmm0, xmm2
movss dword [ebp - 0x28], xmm1
movss dword [ebp - 0x24], xmm0
movss dword [ebp - 0xfc], xmm0
movss xmm0, dword [ebp - 0x10]
addss xmm0, xmm1
movss dword [ebp - 0x20], xmm0
mov eax, dword [edi + 0xc8]
mov ecx, dword [edi + 0xcc]
movss dword [ebp - 0xac], xmm0
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
mov esi, dword [ebp - 0x8c]
lea eax, [ebp - 0x34]
xorps xmm5, xmm5
movss xmm0, dword [eax + 4]
movss xmm6, dword [eax]
mov dword [ebp - 0xb4], eax
lea eax, [ebx + 0x1c58]
movss dword [ebp - 0xb0], xmm0
movss dword [ebp - 0xd4], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0xbc], xmm6
movss dword [ebp - 0xd8], xmm6
movss dword [ebp - 0xe8], xmm0
movss dword [ebp - 0x9c], xmm5
cmp dword [eax], esi
jne 0x1001b0b4
cmp byte [ebp - 0x98], 0
je 0x1001b0b4
mov ecx, dword [edi + 0x1c8]
xor edx, edx
mov eax, dword [edi + 0x1d0]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.10003ee0
mov edx, dword [ebx + 0x1944]
add esp, 4
cmp edx, eax
jne 0x1001b0b4
mov al, 1
jmp 0x1001b0b6
xor al, al
cmp edx, esi
je 0x1001b18a
test al, al
jne 0x1001b18a
mov esi, dword [ebp - 0xb8]
xor ecx, ecx
cmp byte [ebp - 0x98], cl
je 0x1001b13d
mov al, byte [esi]
lea ecx, [esi + 1]
xor edx, edx
mov byte [ebp - 0xa6], al
test al, al
je 0x1001b108
mov bl, al
nop dword [eax]
cmp bl, 0xa
lea eax, [edx + 1]
mov bl, byte [ecx]
cmovne eax, edx
inc ecx
mov edx, eax
test bl, bl
jne 0x1001b0f0
mov ebx, dword [ebp - 0x104]
mov al, byte [ecx - 1]
dec ecx
cmp al, 0xa
je 0x1001b115
cmp al, 0xd
je 0x1001b115
inc edx
movss xmm7, dword [ebx + 0x1854]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [ebp - 0x9c], xmm0
movaps xmm0, xmm2
movss dword [ebp - 0xe8], xmm0
jmp 0x1001b145
movss xmm7, dword [ebx + 0x1854]
movss xmm1, dword [0x1004cb50]
lea eax, [ebp - 0x2c]
xor edx, edx
cmp byte [ebp - 0x98], dl
cmovne eax, edx
push eax
push ecx
mov dword [esp], edx
push ecx
push esi
xor ecx, ecx
call fcn.10004410
mov ecx, dword [edi + 0x27c]
movaps xmm2, xmm7
push eax
lea eax, [ebp - 0xd8]
push eax
push dword [ebx + 0x1850]
call fcn.1003e720
jmp 0x1001bbf4
mov esi, dword [ebx + 0x1c64]
or edi, 0xffffffff
mov eax, dword [ebx + 0x1c90]
xorps xmm7, xmm7
movss xmm0, dword [ebx + 0x18]
mov ecx, 1
addss xmm0, dword [ebx + 0x2ab4]
mov edx, dword [ebx + 0x1c94]
lea eax, [esi + eax*2]
mov dword [ebp - 0xec], esi
mov dword [ebp - 0xe4], eax
mov eax, dword [ebx + 0x1c98]
movss dword [ebx + 0x2ab4], xmm0
movss dword [ebp - 0xd0], xmm5
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0x8c], 0xfffffc19
cmp edx, eax
je 0x1001b208
cmovl eax, edx
mov dword [ebp - 0x8c], edi
mov ecx, 2
lea eax, [esi + eax*2]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0x98]
xor esi, esi
movzx eax, al
add ecx, eax
mov eax, dword [ebp - 0xec]
mov edx, eax
movzx eax, word [eax]
test ax, ax
je 0x1001b287
mov esi, eax
xor ebx, ebx
nop dword [eax]
cmp si, 0xa
jne 0x1001b267
inc ebx
cmp edi, 0xffffffff
jne 0x1001b24b
cmp edx, dword [ebp - 0xe4]
jb 0x1001b24b
dec ecx
mov edi, ebx
test ecx, ecx
jle 0x1001b275
cmp dword [ebp - 0x8c], 0xffffffff
jne 0x1001b267
cmp edx, dword [ebp - 0xc4]
jb 0x1001b267
dec ecx
mov dword [ebp - 0x8c], ebx
test ecx, ecx
jle 0x1001b275
movzx eax, word [edx + 2]
add edx, 2
mov esi, eax
test ax, ax
jne 0x1001b230
mov dword [ebp - 0xe0], ebx
mov ebx, dword [ebp - 0x104]
mov esi, dword [ebp - 0xe0]
inc esi
cmp edi, 0xffffffff
mov eax, esi
mov dword [ebp - 0xe0], esi
cmovne eax, edi
mov edi, dword [ebp - 0xe4]
mov dword [ebp - 0xf8], eax
mov ecx, edi
mov eax, dword [ebp - 0x8c]
cmp eax, 0xffffffff
cmove eax, esi
mov esi, dword [ebp - 0xec]
mov dword [ebp - 0x8c], eax
cmp edi, esi
jbe 0x1001b2ce
cmp word [ecx - 2], 0xa
je 0x1001b2ce
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x1001b2c0
mov eax, dword [0x1004f60c]
movaps xmm1, xmm5
movaps xmm4, xmm5
mov edx, dword [eax + 0x1850]
movss xmm2, dword [eax + 0x1854]
divss xmm2, dword [edx]
cmp ecx, edi
jae 0x1001b333
nop
movzx eax, word [ecx]
add ecx, 2
mov esi, eax
cmp eax, 0xa
jne 0x1001b306
maxss xmm1, xmm4
movaps xmm4, xmm5
jmp 0x1001b329
cmp esi, 0xd
je 0x1001b329
mov esi, eax
cmp esi, dword [edx + 0x1c]
jge 0x1001b31c
mov eax, dword [edx + 0x24]
movss xmm0, dword [eax + esi*4]
jmp 0x1001b321
movss xmm0, dword [edx + 0x38]
mulss xmm0, xmm2
addss xmm4, xmm0
cmp ecx, edi
jb 0x1001b2f0
mov esi, dword [ebp - 0xec]
movd xmm0, dword [ebp - 0xf8]
maxss xmm4, xmm1
movss xmm3, dword [ebx + 0x1854]
mov edi, dword [ebp - 0x8c]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xc8], xmm4
mulss xmm0, xmm3
movss dword [ebp - 0xe4], xmm0
test edi, edi
js 0x1001b400
mov eax, dword [ebp - 0xc4]
mov ecx, eax
cmp eax, esi
jbe 0x1001b38c
cmp word [ecx - 2], 0xa
je 0x1001b386
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x1001b378
mov eax, dword [ebp - 0xc4]
movaps xmm1, xmm5
movaps xmm7, xmm5
cmp ecx, eax
jae 0x1001b3e9
mov ebx, dword [ebp - 0xc4]
nop dword [eax]
movzx eax, word [ecx]
add ecx, 2
mov esi, eax
cmp eax, 0xa
jne 0x1001b3b6
maxss xmm1, xmm7
movaps xmm7, xmm5
jmp 0x1001b3d9
cmp esi, 0xd
je 0x1001b3d9
mov esi, eax
cmp esi, dword [edx + 0x1c]
jge 0x1001b3cc
mov eax, dword [edx + 0x24]
movss xmm0, dword [eax + esi*4]
jmp 0x1001b3d1
movss xmm0, dword [edx + 0x38]
mulss xmm0, xmm2
addss xmm7, xmm0
cmp ecx, ebx
jb 0x1001b3a0
mov ebx, dword [ebp - 0x104]
mov esi, dword [ebp - 0xec]
movd xmm0, edi
maxss xmm7, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
movss dword [ebp - 0xd0], xmm0
mov ecx, dword [ebp - 0x98]
test cl, cl
je 0x1001b436
movd xmm0, dword [ebp - 0xe0]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
movss xmm3, dword [ebp - 0xf4]
movss dword [ebp - 0x9c], xmm0
movaps xmm0, xmm3
movss dword [ebp - 0xe8], xmm0
jmp 0x1001b43e
movss xmm3, dword [ebp - 0xf4]
cmp byte [ebx + 0x2ab8], 0
je 0x1001b527
test dword [ebp + 0x10], 0x1000
jne 0x1001b49e
movss xmm2, dword [ebx + 0x1c8c]
movaps xmm0, xmm3
comiss xmm2, xmm4
mulss xmm0, dword [0x1004cb0c]
movaps xmm1, xmm4
jbe 0x1001b47c
subss xmm1, xmm0
movaps xmm0, xmm5
maxss xmm0, xmm1
jmp 0x1001b489
subss xmm1, xmm3
comiss xmm1, xmm2
jb 0x1001b4a8
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x1c8c], xmm0
jmp 0x1001b4a8
mov dword [ebx + 0x1c8c], 0
test cl, cl
je 0x1001b527
movss xmm0, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xcc]
movaps xmm1, xmm0
subss xmm1, dword [ebx + 0x1854]
movss xmm5, dword [eax + 0x58]
comiss xmm5, xmm1
jbe 0x1001b4d8
xorps xmm0, xmm0
maxss xmm0, xmm1
jmp 0x1001b4e1
subss xmm0, dword [ebp - 0x10]
maxss xmm0, xmm5
subss xmm5, xmm0
movss dword [eax + 0x58], xmm0
addss xmm5, dword [eax + 0xcc]
movss dword [eax + 0xcc], xmm5
movss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0xac], xmm0
movss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0xb0], xmm5
movss dword [ebp - 0xd4], xmm5
xorps xmm5, xmm5
movss dword [ebp - 0xfc], xmm0
movss xmm4, dword [ebx + 0x1c8c]
mov ecx, dword [ebx + 0x1c98]
mov edx, dword [ebx + 0x1c94]
mov byte [ebx + 0x2ab8], 0
movss dword [ebp - 0x8c], xmm4
cmp edx, ecx
je 0x1001b7e8
mov eax, ecx
cmovge ecx, edx
cmovl eax, edx
cmp byte [ebp - 0x98], 0
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0xec]
lea edi, [eax + ecx*2]
je 0x1001b581
movss dword [ebp - 0x100], xmm5
movss dword [ebp - 0xe0], xmm5
jmp 0x1001b591
movss xmm0, dword [0x1004cb8c]
movss dword [ebp - 0xe0], xmm0
movss xmm1, dword [0x1004cb50]
mov ecx, 0x25
call fcn.10004410
mov ecx, dword [ebp - 0xb4]
xorps xmm2, xmm2
mov dword [ebp - 0xf8], eax
movss xmm4, dword [ecx]
addss xmm4, xmm7
movss xmm7, dword [ebp - 0xb0]
movaps xmm6, xmm7
addss xmm6, dword [ebp - 0xd0]
subss xmm4, dword [ebp - 0x8c]
subss xmm6, xmm2
movss dword [ebp - 0xd0], xmm6
cmp esi, edi
jae 0x1001b81c
movss xmm7, dword [ebx + 0x1854]
movss xmm3, dword [ebp - 0xac]
movaps xmm1, xmm7
movss xmm5, dword [ebp - 0x28]
movaps xmm0, xmm3
addss xmm0, xmm1
comiss xmm6, xmm0
ja 0x1001b7d8
comiss xmm5, xmm6
jbe 0x1001b638
cmp esi, edi
jae 0x1001b7ad
nop
movzx eax, word [esi]
add esi, 2
cmp eax, 0xa
je 0x1001b7ad
cmp esi, edi
jb 0x1001b620
jmp 0x1001b7d8
mov eax, dword [0x1004f60c]
movaps xmm5, xmm2
movaps xmm1, xmm2
mov edx, dword [eax + 0x1850]
movss xmm3, dword [eax + 0x1854]
divss xmm3, dword [edx]
cmp esi, edi
jae 0x1001b6aa
nop dword [eax]
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x1001b697
cmp ecx, 0xd
je 0x1001b691
cmp ecx, dword [edx + 0x1c]
jge 0x1001b681
mov eax, dword [edx + 0x24]
movss xmm2, dword [eax + ecx*4]
jmp 0x1001b686
movss xmm2, dword [edx + 0x38]
movaps xmm0, xmm3
mulss xmm0, xmm2
addss xmm1, xmm0
cmp esi, edi
jb 0x1001b660
jmp 0x1001b6a1
xorps xmm5, xmm5
maxss xmm5, xmm1
xorps xmm1, xmm1
mov ecx, dword [ebp - 0xb4]
xorps xmm2, xmm2
maxss xmm1, xmm5
comiss xmm2, xmm1
jb 0x1001b6e4
mov eax, dword [ebx + 0x1850]
cmp dword [eax + 0x1c], 0x20
jle 0x1001b6cc
mov eax, dword [eax + 0x24]
movss xmm0, dword [eax + 0x80]
jmp 0x1001b6d1
movss xmm0, dword [eax + 0x38]
mulss xmm0, dword [0x1004cb20]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm0, dword [ebp - 0xe0]
addss xmm1, xmm4
movss xmm3, dword [ebp - 0xac]
addss xmm4, xmm2
movss xmm2, dword [ebp - 0x100]
addss xmm0, xmm6
movss xmm5, dword [ebp - 0xfc]
subss xmm2, xmm7
minss xmm1, xmm5
maxss xmm4, dword [ebp - 0x2c]
minss xmm0, xmm3
addss xmm2, xmm6
movss dword [ebp - 0x14], xmm1
movss dword [ebp - 0x1c], xmm4
comiss xmm0, dword [ebp - 0x28]
maxss xmm2, dword [ebp - 0x28]
movss dword [ebp - 0x10], xmm0
movss dword [ebp - 0x18], xmm2
jbe 0x1001b7a5
comiss xmm3, xmm2
jbe 0x1001b7a5
comiss xmm1, dword [ebp - 0x2c]
jbe 0x1001b7a5
comiss xmm5, xmm4
jbe 0x1001b7a5
push 0xf
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x14]
push dword [ebp - 0xf8]
push eax
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 0x27c]
call fcn.1003e3f0
movss xmm3, dword [ebp - 0x20]
movss xmm0, dword [ebp - 0x24]
movss xmm6, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xb4]
movss dword [ebp - 0xac], xmm3
movss dword [ebp - 0xfc], xmm0
movss xmm5, dword [ebp - 0x28]
xorps xmm2, xmm2
movss xmm7, dword [ebx + 0x1854]
movss xmm4, dword [ecx]
addss xmm6, xmm7
movaps xmm1, xmm7
subss xmm4, dword [ebp - 0x8c]
movss dword [ebp - 0xd0], xmm6
cmp esi, edi
jb 0x1001b601
movss xmm4, dword [ebp - 0x8c]
movss xmm6, dword [ebp - 0xbc]
movss xmm7, dword [ebp - 0xb0]
mov eax, dword [0x1004f60c]
xorps xmm5, xmm5
movups xmm1, xmmword [eax + 0x15a0]
comiss xmm5, xmm1
movaps xmm3, xmm1
shufps xmm3, xmm1, 0xff
mulss xmm3, dword [eax + 0x1508]
movups xmmword [ebp - 0x1c], xmm1
jbe 0x1001b82e
xorps xmm0, xmm0
jmp 0x1001b83a
movss xmm4, dword [ebp - 0x8c]
movss xmm6, dword [ebp - 0xbc]
jmp 0x1001b7f0
movss xmm0, dword [0x1004cb50]
minss xmm0, xmm1
movss xmm2, dword [0x1004cc14]
movss xmm1, dword [ebp - 0x18]
comiss xmm5, xmm1
mulss xmm0, xmm2
addss xmm0, dword [0x1004cb20]
cvttss2si ecx, xmm0
jbe 0x1001b861
xorps xmm0, xmm0
jmp 0x1001b86d
movss xmm0, dword [0x1004cb50]
minss xmm0, xmm1
movss xmm1, dword [ebp - 0x14]
mulss xmm0, xmm2
addss xmm0, dword [0x1004cb20]
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm5, xmm1
jbe 0x1001b891
xorps xmm0, xmm0
jmp 0x1001b89d
movss xmm0, dword [0x1004cb50]
minss xmm0, xmm1
mulss xmm0, xmm2
addss xmm0, dword [0x1004cb20]
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm5, xmm3
jbe 0x1001b8bc
xorps xmm1, xmm1
jmp 0x1001b8c8
movss xmm1, dword [0x1004cb50]
minss xmm1, xmm3
xor edx, edx
mov esi, dword [ebp - 0xcc]
cmp byte [ebp - 0x98], dl
lea eax, [ebp - 0x2c]
mulss xmm1, xmm2
subss xmm6, xmm4
cmovne eax, edx
movss xmm2, dword [ebx + 0x1854]
subss xmm7, xmm5
push eax
addss xmm1, dword [0x1004cb20]
mov eax, dword [ebx + 0x1c80]
push ecx
mov dword [esp], edx
mov edx, dword [ebp - 0xb8]
add eax, edx
push eax
cvttss2si eax, xmm1
push edx
movss dword [ebp - 0x14], xmm6
shl eax, 0x18
or eax, ecx
movss dword [ebp - 0x10], xmm7
mov ecx, dword [esi + 0x27c]
push eax
lea eax, [ebp - 0x14]
push eax
push dword [ebx + 0x1850]
call fcn.1003e720
cmp byte [ebx + 0xbd], 0
xorps xmm6, xmm6
je 0x1001b9b8
movss xmm0, dword [ebx + 0x2ab4]
comiss xmm6, xmm0
jae 0x1001b9b8
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x14], xmm0
fld qword [ebp - 0x14]
fld qword [0x1004cb80]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm0, dword [0x1004cb40]
fstp qword [ebp - 0x14]
movsd xmm1, qword [ebp - 0x14]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x1001b9b5
mov eax, dword [ebp - 0xb4]
movss xmm1, dword [ebp - 0xb0]
addss xmm1, dword [ebp - 0xe4]
movss xmm5, dword [eax]
addss xmm5, dword [ebp - 0xc8]
subss xmm1, dword [0x1004cab0]
subss xmm5, dword [ebp - 0x8c]
jmp 0x1001bbc5
xorps xmm6, xmm6
movss xmm1, dword [ebp - 0xb0]
addss xmm1, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xb4]
movss xmm7, dword [0x1004cb20]
movss xmm5, dword [eax]
subss xmm1, xmm6
addss xmm5, dword [ebp - 0xc8]
movaps xmm0, xmm1
movss dword [ebp - 0xb0], xmm1
subss xmm0, dword [0x1004cb64]
subss xmm5, dword [ebp - 0x8c]
movaps xmm3, xmm1
subss xmm3, dword [ebx + 0x1854]
comiss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0xbc], xmm5
addss xmm3, xmm7
movss dword [ebp - 0xc8], xmm0
jbe 0x1001bbc5
movss xmm0, dword [ebp - 0x20]
comiss xmm0, xmm3
jbe 0x1001bbc5
movss xmm4, dword [0x1004cb50]
movaps xmm0, xmm5
addss xmm0, xmm4
comiss xmm0, dword [ebp - 0x2c]
jbe 0x1001bbc5
movss xmm0, dword [ebp - 0x24]
comiss xmm0, xmm5
jbe 0x1001bbc5
mov eax, dword [0x1004f60c]
movups xmm1, xmmword [eax + 0x15a0]
comiss xmm6, xmm1
movaps xmm2, xmm1
shufps xmm2, xmm1, 0xff
mulss xmm2, dword [eax + 0x1508]
movups xmmword [ebp - 0x3c], xmm1
jbe 0x1001ba88
xorps xmm0, xmm0
jmp 0x1001ba8f
movaps xmm0, xmm4
minss xmm0, xmm1
movss xmm1, dword [0x1004cc14]
movss xmm4, dword [ebp - 0x38]
comiss xmm6, xmm4
mulss xmm0, xmm1
addss xmm0, xmm7
cvttss2si edi, xmm0
jbe 0x1001bab2
xorps xmm0, xmm0
jmp 0x1001babe
movss xmm0, dword [0x1004cb50]
minss xmm0, xmm4
movss xmm4, dword [ebp - 0x34]
mulss xmm0, xmm1
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 8
or edi, eax
comiss xmm6, xmm4
jbe 0x1001bade
xorps xmm0, xmm0
jmp 0x1001baea
movss xmm0, dword [0x1004cb50]
minss xmm0, xmm4
mulss xmm0, xmm1
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x10
or edi, eax
comiss xmm6, xmm2
jbe 0x1001bb05
xorps xmm0, xmm0
jmp 0x1001bb11
movss xmm0, dword [0x1004cb50]
minss xmm0, xmm2
mulss xmm0, xmm1
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x18
or edi, eax
mov eax, dword [esi + 0x27c]
mov dword [ebp - 0x100], eax
test edi, 0xff000000
je 0x1001bbbd
movaps xmm0, xmm5
addss xmm3, xmm7
addss xmm0, xmm7
lea esi, [eax + 0x54]
lea eax, [ebp - 0x34]
mov ecx, esi
push eax
movss dword [ebp - 0x30], xmm3
movss dword [ebp - 0xf8], xmm0
movss dword [ebp - 0x34], xmm0
call fcn.10027480
movss xmm0, dword [ebp - 0xf8]
lea eax, [ebp - 0x34]
movss dword [ebp - 0x34], xmm0
mov ecx, esi
movss xmm0, dword [ebp - 0xc8]
addss xmm0, dword [0x1004cb20]
push eax
movss dword [ebp - 0x30], xmm0
call fcn.10027480
push ecx
mov ecx, dword [ebp - 0x100]
mov dword [esp], 0x3f800000
push 0
push edi
push dword [esi]
push dword [ecx + 0x5c]
call fcn.1003ca70
push ecx
mov ecx, esi
call fcn.10027520
movss xmm5, dword [ebp - 0xbc]
movss xmm1, dword [ebp - 0xb0]
cmp byte [ebp - 0xa4], 0
mov esi, dword [ebp - 0xb8]
je 0x1001bbf4
subss xmm5, dword [0x1004cb50]
subss xmm1, dword [ebx + 0x1854]
movss dword [ebx + 0x2b50], xmm5
movss dword [ebx + 0x2b54], xmm1
cmp byte [ebp - 0x98], 0
je 0x1001bc9e
mov ecx, dword [0x1004f60c]
movss xmm2, dword [ebx + 0x1854]
mov eax, dword [ecx + 0x1928]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x1928]
cmp byte [eax + 0x7b], 0
jne 0x1001bc94
movss xmm4, dword [ebp - 0xe8]
lea ecx, [ebp - 0x34]
addss xmm2, dword [ebp - 0x9c]
movss xmm1, dword [eax + 0xc8]
xorps xmm3, xmm3
movss xmm0, dword [eax + 0xcc]
addss xmm4, xmm3
movss dword [ebp - 0x1c], xmm1
movss dword [ebp - 0x18], xmm0
addss xmm2, xmm0
addss xmm4, xmm1
movss dword [ebp - 0x10], xmm2
subss xmm2, xmm0
movss dword [ebp - 0x14], xmm4
subss xmm4, xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x30], xmm2
movss dword [ebp - 0x34], xmm4
call fcn.10005930
push 0
xor edx, edx
lea ecx, [ebp - 0x1c]
call fcn.10006290
add esp, 4
call fcn.1000cbc0
call fcn.10023fb0
mov eax, dword [ebp - 0xf0]
test al, al
je 0x1001bcb3
call fcn.100122b0
mov eax, dword [ebp - 0xf0]
cmp byte [ebx + 0x2b8c], 0
je 0x1001bcd2
test al, al
jne 0x1001bcd2
push 0
mov edx, esi
lea ecx, [ebp - 0xd8]
call fcn.1000af90
add esp, 4
movss xmm0, dword [ebp - 0x108]
comiss xmm0, dword [0x1004cab0]
jbe 0x1001bd2b
movss xmm0, dword [ebp - 0x4c]
xor edx, edx
addss xmm0, dword [ebx + 0x1554]
mov ecx, dword [ebp - 0x10c]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0x50]
addss xmm0, dword [ebx + 0x1540]
movss dword [ebp - 0xd4], xmm0
push dword [ebp - 0xd4]
push dword [ebp - 0xd8]
push 1
call fcn.1000b0a0
add esp, 0xc
mov cl, byte [ebp - 0xa5]
test cl, cl
je 0x1001bd41
mov eax, dword [0x1004f60c]
mov byte [eax + 0x1953], 1
test byte [ebp + 0x10], 0x20
movzx eax, cl
movzx ecx, byte [ebp - 0x92]
cmovne eax, ecx
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10044190
mov esp, ebp
pop ebp
ret