Function at 0x1011b7c0
Capabilities:
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xbc
movss xmm0, dword [0x110ea4a8]
push ebx
mov ebx, dword [0x103c70dc]
push esi
push edi
movss dword [ebp - 0x90], xmm0
mov eax, dword [ebx + 0x19b0]
mov dword [ebp - 0x54], ebx
mov byte [eax + 0x8c], 1
mov esi, dword [ebx + 0x19b0]
mov dword [ebp - 0x30], esi
cmp byte [esi + 0x8f], 0
jne 0x1011d797
mulss xmm0, dword [0x1030b7fc]
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebx + 0x1a9c]
mov dword [ebp - 0x84], 0
movss dword [ebp - 0x8c], xmm0
movups xmm0, xmmword [ebx + 0x15c0]
movups xmmword [ebp - 0x80], xmm0
call fcn.100c2b30
movss xmm0, dword [ebp - 0x8c]
xor edx, edx
mov dword [ebx + 0x15c0], 0x3f800000
mov dword [ebx + 0x15c4], 0x3f800000
mov dword [ebx + 0x15c8], 0x3f800000
movss dword [ebx + 0x15cc], xmm0
mov ecx, dword [esi + 0xcc]
mov eax, dword [esi + 0xd4]
push dword [eax + ecx*4 - 4]
mov ecx, dword [ebp + 8]
call fcn.100b2660
mov esi, dword [0x103c70dc]
mov edi, eax
add esp, 4
mov dword [ebp - 0x28], edi
cmp dword [esi + 0x19ec], edi
jne 0x1011b8a3
mov dword [esi + 0x19f0], edi
cmp dword [esi + 0x1a20], edi
jne 0x1011b8b2
mov byte [esi + 0x1a24], 1
mov ecx, dword [ebp + 8]
cmp ecx, 0xffffffff
jae 0x1011b92e
nop word [eax + eax]
mov dl, byte [ecx]
test dl, dl
je 0x1011b8d6
cmp dl, 0x23
jne 0x1011b8d0
cmp byte [ecx + 1], dl
je 0x1011b8d6
inc ecx
cmp ecx, 0xffffffff
jb 0x1011b8c0
mov eax, dword [ebp + 8]
cmp eax, ecx
je 0x1011b92e
movss xmm2, dword [esi + 0x18c4]
push ecx
push ecx
push eax
push ecx
mov ecx, dword [esi + 0x18c0]
lea eax, [ebp - 0x5c]
mov dword [esp], 0xbf800000
push eax
call fcn.100d1050
movss xmm0, dword [ebp - 0x5c]
addss xmm0, dword [0x1030b85c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x8c], xmm0
movss xmm0, dword [ebp - 0x58]
movss dword [ebp - 0xb4], xmm0
jmp 0x1011b939
xorps xmm1, xmm1
movss dword [ebp - 0x8c], xmm1
mov eax, dword [ebp + 0x18]
lea ecx, [ebp - 0x5c]
movss xmm4, dword [eax]
movss xmm5, dword [eax + 4]
movaps xmm6, xmm4
mulss xmm6, dword [0x1030b7fc]
movaps xmm2, xmm5
mov eax, dword [ebp - 0x30]
subss xmm6, dword [0x1030b984]
movss xmm1, dword [eax + 0xd8]
movss xmm0, dword [eax + 0xdc]
addss xmm2, xmm0
movss dword [ebp - 0x94], xmm1
movss dword [ebp - 0xb8], xmm1
subss xmm4, xmm6
movss dword [ebp - 0x9c], xmm0
movss dword [ebp - 0xb4], xmm0
addss xmm4, xmm1
movss xmm1, dword [0x1030b968]
subss xmm2, xmm1
addss xmm0, xmm1
subss xmm5, xmm1
movaps xmm3, xmm4
movss dword [ebp - 0x50], xmm4
addss xmm3, xmm6
movss dword [ebp - 0x44], xmm2
addss xmm2, dword [0x1030b9a4]
subss xmm6, xmm1
movss dword [ebp - 0x4c], xmm0
movss dword [ebp - 0x80], xmm4
movss dword [ebp - 0x7c], xmm0
subss xmm3, xmm1
movss dword [ebp - 0x38], xmm5
movss xmm1, dword [ebx + 0x154c]
movss dword [ebp - 0x74], xmm2
subss xmm2, xmm0
movss dword [ebp - 0x40], xmm6
movss dword [ebp - 0x48], xmm3
movss dword [ebp - 0x78], xmm3
subss xmm3, xmm4
movss dword [ebp - 0x58], xmm2
movss dword [ebp - 0x5c], xmm3
call fcn.100b5420
lea eax, [ebp - 0x50]
mov edx, edi
push eax
lea ecx, [ebp - 0x80]
call fcn.100b5550
add esp, 4
test al, al
je 0x1011d797
mov edx, edi
lea ecx, [ebp - 0x50]
call fcn.100b5780
mov byte [ebp - 4], al
test al, al
je 0x1011ba4d
mov dword [ebx + 0x1d38], 1
mov ecx, dword [ebp - 0x28]
lea edi, [ebx + 0x1e08]
xor edx, edx
cmp dword [ebx + 0x1e08], ecx
mov ecx, dword [ebp - 0x30]
cmovne edi, edx
mov dword [ebp - 0x64], edi
mov esi, dword [ecx + 0x174]
mov edx, dword [ecx + 0x17c]
lea esi, [esi + 1]
mov dword [ecx + 0x174], esi
and edx, 5
jne 0x1011ba87
inc dword [ecx + 0x178]
mov ecx, dword [0x103c70dc]
mov eax, dword [ebp - 0x30]
cmp dword [ecx + 0x1be4], eax
jne 0x1011bafc
cmp esi, dword [ecx + 0x1bec]
je 0x1011babe
test edx, edx
jne 0x1011bae8
mov eax, dword [eax + 0x178]
cmp eax, dword [ecx + 0x1bf0]
jne 0x1011bae8
mov eax, dword [ebp - 0x28]
mov dword [ecx + 0x1af0], eax
mov eax, dword [ebp - 0x30]
mov cl, 1
cmp dword [ebx + 0x1be4], eax
jne 0x1011bade
mov edx, dword [ebp - 0x30]
mov eax, dword [ebx + 0x1bec]
cmp eax, dword [edx + 0x174]
jne 0x1011bade
mov byte [ebp - 8], cl
jmp 0x1011bb01
mov byte [ebp - 8], 0
mov byte [ebp - 0xc], 1
jmp 0x1011bb05
mov eax, dword [ebp - 0x28]
cmp dword [ecx + 0x19ec], eax
jne 0x1011bafc
xor edx, edx
xor ecx, ecx
call fcn.100b5280
xor cl, cl
mov byte [ebp - 8], cl
mov byte [ebp - 0xc], 0
cmp byte [ebp - 4], 0
je 0x1011bb18
cmp byte [ebx + 0x3d8], 0
je 0x1011bb18
mov dl, 1
jmp 0x1011bb1a
xor dl, dl
mov eax, dword [ebx + 0x19ec]
mov esi, dword [ebp - 0x28]
mov byte [ebp - 9], dl
cmp eax, esi
je 0x1011bb4a
cmp dword [ebx + 0x1aec], esi
je 0x1011bb43
cmp dword [ebx + 0x1ae0], esi
jne 0x1011bb4a
cmp dword [ebx + 0x1b00], 3
jne 0x1011bb4a
mov ch, 1
mov byte [ebp - 0x1c], ch
jmp 0x1011bb50
mov byte [ebp - 0x1c], 0
xor ch, ch
mov byte [ebp - 0x18], 0
mov byte [ebp - 7], ch
mov dword [ebp - 0x98], 1
test cl, cl
jne 0x1011bb75
test dl, dl
jne 0x1011bb75
test ch, ch
jne 0x1011bb75
mov byte [ebp - 3], cl
jmp 0x1011bd5d
mov dword [ebp - 0x64], edi
mov cl, 1
mov byte [ebp - 3], cl
cmp eax, esi
je 0x1011bd5d
mov ecx, dword [ebp + 0x10]
lea edi, [ebx + 0x1e08]
mov dword [ebp - 0x64], edi
mov dword [edi + 0xe60], 0xbe99999a
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1011bba0
mov eax, dword [edi + 0x28]
sub ecx, edx
lea esi, [ecx + 1]
cmp esi, eax
jle 0x1011bbdd
test eax, eax
je 0x1011bbc6
cdq
sub eax, edx
lea edx, [edi + 0x24]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x1011bbce
mov ecx, 8
lea edx, [edi + 0x24]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.100c2f70
push esi
push dword [ebp + 0x10]
mov dword [edi + 0x24], esi
push dword [edi + 0x2c]
call fcn.10237420
mov edx, dword [ebp + 0x14]
lea eax, [edi + 0xc]
mov esi, dword [eax + 4]
inc edx
add esp, 0xc
mov dword [ebp - 0x14], edx
cmp edx, esi
jle 0x1011bc2f
test esi, esi
je 0x1011bc14
mov eax, esi
cdq
sub eax, edx
mov edx, dword [ebp - 0x14]
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x1011bc19
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [edi + 0xc]
push eax
call fcn.100c2fe0
mov edx, dword [ebp - 0x14]
lea eax, [edi + 0xc]
mov dword [eax], edx
mov ecx, dword [edi + 0x1c]
test ecx, ecx
jns 0x1011bc51
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.100c2f70
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
dec ecx
mov dword [edi + 0x18], 0
mov edx, dword [edi + 0x14]
mov esi, edx
mov byte [edi + 0x30], 0
mov dword [ebp - 0x14], edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x1011bcba
mov ebx, eax
cmp byte [ebx], 0
je 0x1011bcb1
push 0
mov edx, ebx
lea ecx, [ebp - 0x24]
call fcn.100b29d0
add ebx, eax
add esp, 4
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x1011bcae
cmp eax, 0xffff
ja 0x1011bc9e
mov word [esi], ax
add esi, 2
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp - 0x14]
dec eax
lea eax, [edx + eax*2]
cmp esi, eax
jb 0x1011bc74
jmp 0x1011bcb1
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp + 0x10]
xor ecx, ecx
mov word [esi], cx
sub esi, edx
sar esi, 1
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x28]
mov dword [edi + 4], esi
cmp dword [edi], eax
jne 0x1011bcf6
cmp dword [edi + 0x3c], esi
mov ecx, esi
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], esi
mov dword [edi + 0x3c], ecx
mov ecx, esi
cmovl ecx, dword [edi + 0x40]
cmp dword [edi + 0x44], esi
cmovl esi, dword [edi + 0x44]
mov dword [edi + 0x44], esi
mov esi, eax
jmp 0x1011bd3e
mov edx, dword [ebp - 0x1c]
mov esi, eax
cmp byte [ebp - 8], cl
movzx edx, dl
cmovne edx, dword [ebp - 0x98]
mov dword [edi], esi
mov dword [edi + 0x38], ecx
mov dword [edi + 0xe52], 0x630000
mov dword [edi + 0xe58], ecx
mov dword [edi + 0xe5c], 0x3e7
mov dword [edi + 0x44], ecx
mov dword [edi + 0x3c], ecx
mov dword [edi + 0x48], 0x10000
mov dword [edi + 0x50], ecx
mov byte [edi + 0x4c], 1
mov dword [ebp - 0x1c], edx
cmp byte [ebp - 0xc], 0
mov dword [edi + 0x40], ecx
jne 0x1011bd56
cmp byte [ebp - 9], 0
je 0x1011bd5a
cmp byte [ebx + 0x100], 0
je 0x1011bd5a
mov byte [ebp - 0x1c], 1
mov cl, byte [ebp - 3]
cmp dword [ebx + 0x19ec], esi
je 0x1011bdab
test cl, cl
je 0x1011bda3
mov edx, dword [ebp - 0x30]
mov ecx, esi
call fcn.100b5280
call fcn.100b5360
mov ecx, edx
call fcn.100bcc90
or dword [ebx + 0x1a00], 3
or dword [ebx + 0x1a04], 2
mov eax, dword [ebx + 0x1a0c]
or dword [ebx + 0x1a08], 0x180
mov dword [ebx + 0x1a0c], eax
cmp dword [ebx + 0x19ec], esi
jne 0x1011bdb8
test edi, edi
jne 0x1011bdb8
xor edx, edx
xor ecx, ecx
call fcn.100b5280
mov ecx, dword [ebx + 0x19ec]
cmp ecx, esi
jne 0x1011bde3
cmp byte [ebx + 0x3d8], 0
je 0x1011bddf
mov eax, dword [ebp - 0x18]
cmp byte [ebp - 3], 0
movzx eax, al
cmove eax, dword [ebp - 0x98]
mov dword [ebp - 0x18], eax
mov dl, 1
jmp 0x1011bde5
xor dl, dl
mov byte [ebp - 3], dl
test edi, edi
je 0x1011be02
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x1011be02
test dl, dl
je 0x1011be02
mov byte [ebp - 2], 1
mov byte [ebp - 0xb], 0
jmp 0x1011be19
mov byte [ebp - 0xb], 0
mov byte [ebp - 2], 0
test dl, dl
jne 0x1011be15
mov byte [ebp - 2], dl
cmp ecx, esi
jne 0x1011be23
test edi, edi
je 0x1011be23
cmp byte [edi + 0x30], 0
mov byte [ebp - 0x29], 1
jne 0x1011be27
mov byte [ebp - 0x29], 0
movss xmm0, dword [ebp - 0x50]
movss dword [ebp - 0x70], xmm0
cmp ecx, esi
jne 0x1011c117
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x34], eax
mov dword [edi + 0xe68], 0
mov dword [edi + 0xe6c], 0
mov dword [edi + 0xe70], 0
mov dl, byte [ebx + 0xf0]
movss xmm2, dword [ebx + 0x18c4]
test dl, dl
mulss xmm2, dword [0x1030b7fc]
sete al
mov dword [ebx + 0x2f84], 1
cmp byte [ebp - 0x1c], 0
mov byte [ebx + 0x19f9], al
movss xmm6, dword [ebx + 0xe8]
mov al, byte [ebx + 0xb1]
subss xmm6, xmm0
mov byte [ebp - 0xd], al
subss xmm6, dword [ebx + 0x1548]
addss xmm6, dword [edi + 0x38]
jne 0x1011c011
mov cl, byte [ebp - 4]
test cl, cl
je 0x1011becb
test al, al
jne 0x1011bf30
cmp byte [ebx + 0x3e2], al
jne 0x1011c011
cmp byte [ebx + 0x3d8], 0
lea esi, [edi + 0xe65]
mov al, byte [esi]
je 0x1011bf8a
test al, al
jne 0x1011bf8a
test cl, cl
je 0x1011bf29
cmp byte [edi + 0x4c], al
je 0x1011bf08
push 0
mov edx, edi
lea ecx, [ebp - 0x88]
call fcn.100d4f00
movss xmm2, dword [ebp - 0x7c]
add esp, 4
movaps xmm1, xmm6
mov ecx, edi
call fcn.100d5200
mov dword [edi + 0x3c], eax
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], eax
mov byte [edi + 0x4b], 0
mov dword [edi + 0xe60], 0xbe99999a
mov ecx, esi
jmp 0x1011c02e
cmp byte [ebx + 0x3e2], 0
je 0x1011becb
push 0x20000c
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100d55e0
add esp, 4
mov byte [edi + 0xe64], 1
lea edx, [edi + 0x3c]
mov dword [edi + 0xe60], 0xbe99999a
mov ecx, edi
push 0x60000d
call fcn.100d55e0
add esp, 4
mov byte [edi + 0xe64], 1
mov dword [edi + 0xe60], 0xbe99999a
lea ecx, [edi + 0xe65]
jmp 0x1011c02e
mov ecx, esi
test dl, dl
je 0x1011c02e
test al, al
jne 0x1011c02e
movss xmm0, dword [ebx + 0x378]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1011bfc1
movss xmm0, dword [ebx + 0x37c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1011c02e
cmp byte [edi + 0x4c], 0
je 0x1011bfde
push 0
mov edx, edi
lea ecx, [ebp - 0x88]
call fcn.100d4f00
movss xmm2, dword [ebp - 0x7c]
add esp, 4
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x1011bfec
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x40], eax
movaps xmm1, xmm6
mov ecx, edi
call fcn.100d5200
mov dword [edi + 0x44], eax
mov ecx, esi
mov dword [edi + 0x3c], eax
mov dword [edi + 0xe60], 0xbe99999a
mov byte [edi + 0xe64], 1
jmp 0x1011c02e
mov eax, dword [edi + 4]
lea ecx, [edi + 0xe65]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x4b], 0
mov byte [ecx], 1
cmp byte [ecx], 0
je 0x1011c03f
cmp byte [ebx + 0xf0], 0
jne 0x1011c03f
mov byte [ecx], 0
cmp byte [ebx + 0x100], 0
je 0x1011c051
cmp byte [ebx + 0x102], 0
je 0x1011c060
cmp byte [ebp - 0xd], 0
je 0x1011c064
cmp byte [ebx + 0x103], 0
je 0x1011c064
mov al, 1
jmp 0x1011c066
xor al, al
cmp dword [ebx + 0x1500], 0
lea esi, [ebx + 0x1500]
jle 0x1011c114
test al, al
jne 0x1011c0ef
cmp byte [ebp - 7], al
jne 0x1011c0ef
xor esi, esi
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [ebx + 0x1508]
movzx eax, word [eax + esi*2]
mov dword [ebp - 0x14], eax
cmp eax, 9
jne 0x1011c0ab
cmp byte [ebx + 0x101], 0
jne 0x1011c0e0
sub esp, 8
lea ecx, [ebp - 0x14]
xor edx, edx
call fcn.100da870
add esp, 8
test al, al
je 0x1011c0e0
push dword [ebp - 0x14]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100d55e0
add esp, 4
mov byte [edi + 0xe64], 1
mov dword [edi + 0xe60], 0xbe99999a
inc esi
cmp esi, dword [ebx + 0x1500]
jl 0x1011c090
lea esi, [ebx + 0x1500]
mov ecx, dword [esi + 4]
test ecx, ecx
jns 0x1011c10e
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100c2fe0
mov dword [esi], 0
mov esi, dword [ebp - 0x28]
xor cl, cl
mov byte [ebp - 1], cl
cmp dword [ebx + 0x19ec], esi
jne 0x1011c933
cmp byte [ebx + 0x19f8], cl
jne 0x1011c7f7
cmp byte [ebp - 0x18], cl
jne 0x1011c7f7
mov dh, byte [ebx + 0x101]
xor eax, eax
mov dl, byte [ebx + 0xb1]
test dh, dh
mov ecx, 0x400000
mov byte [ebp - 0x2a], dl
cmovne eax, ecx
mov dword [ebp - 0x1c], eax
mov al, byte [ebx + 0x100]
test dl, dl
je 0x1011c18a
cmp byte [ebx + 0x103], 0
lea esi, [ebx + 0x103]
mov dword [ebp - 0x20], esi
je 0x1011c182
test al, al
jne 0x1011c182
mov ecx, 1
jmp 0x1011c184
xor ecx, ecx
test ecx, ecx
je 0x1011c1b4
jmp 0x1011c19e
lea ecx, [ebx + 0x103]
test al, al
je 0x1011c1af
cmp byte [ecx], 0
jne 0x1011c1af
mov esi, ecx
mov dword [ebp - 0x20], ecx
cmp byte [ebx + 0x102], 0
jne 0x1011c1b4
test dh, dh
jne 0x1011c1b4
mov ch, 1
jmp 0x1011c1b6
mov esi, ecx
mov dword [ebp - 0x20], esi
xor ch, ch
mov byte [ebp - 7], ch
mov cl, al
test dl, dl
je 0x1011c1e9
cmp byte [ebx + 0x103], 0
je 0x1011c1e9
test dh, dh
je 0x1011c1e9
mov al, byte [ebx + 0x100]
mov byte [ebp - 8], al
mov cl, al
test al, al
jne 0x1011c1e9
cmp byte [ebx + 0x102], al
jne 0x1011c1e9
mov byte [ebp - 9], 1
jmp 0x1011c1f6
mov byte [ebp - 8], cl
mov al, cl
mov byte [ebp - 9], 0
test dl, dl
je 0x1011c259
cmp byte [esi], 0
mov dl, byte [ebx + 0x102]
mov byte [ebp - 5], dl
je 0x1011c265
test al, al
jne 0x1011c265
test dl, dl
jne 0x1011c265
mov ah, 1
mov byte [ebp - 5], dl
mov cl, ah
mov byte [ebp - 0xa], cl
mov byte [ebp - 6], 0
test dh, dh
je 0x1011c282
mov byte [ebp - 5], dl
mov byte [ebp - 0xa], cl
mov byte [ebp - 6], 0
test al, al
jne 0x1011c282
mov byte [ebp - 5], dl
mov byte [ebp - 0xa], cl
mov byte [ebp - 6], al
cmp byte [ebx + 0x102], al
jne 0x1011c282
mov byte [ebp - 5], dl
mov byte [ebp - 0xa], cl
mov byte [ebp - 6], al
cmp byte [esi], al
jne 0x1011c282
mov byte [ebp - 4], 1
mov byte [ebp - 5], dl
mov byte [ebp - 0xa], cl
mov byte [ebp - 6], al
jmp 0x1011c286
mov dl, al
mov byte [ebp - 9], 0
mov byte [ebp - 5], dl
mov byte [ebp - 8], al
xor ah, ah
mov byte [ebp - 0xa], ah
test al, al
je 0x1011c20e
test dh, dh
jne 0x1011c20e
cmp byte [ebx + 0x102], dh
jne 0x1011c20e
cmp byte [esi], dh
jne 0x1011c20e
mov byte [ebp - 6], 1
mov byte [ebp - 4], 0
mov esi, dword [0x103c70dc]
test ch, ch
je 0x1011c2a3
mov ecx, dword [esi + 0x80]
test ecx, ecx
js 0x1011c2a3
call fcn.100b7d50
test al, al
jne 0x1011c2b9
cmp byte [ebp - 4], 0
je 0x1011c2bf
mov ecx, dword [esi + 0x5c]
test ecx, ecx
js 0x1011c2bf
call fcn.100b7d50
test al, al
je 0x1011c2bf
mov byte [ebp - 0xc], 1
jmp 0x1011c2c3
mov byte [ebp - 0xc], 0
cmp byte [ebp - 7], 0
je 0x1011c2d9
mov ecx, dword [esi + 0x78]
test ecx, ecx
js 0x1011c2d9
call fcn.100b7d50
test al, al
jne 0x1011c2ef
cmp byte [ebp - 6], 0
je 0x1011c2f5
mov ecx, dword [esi + 0x58]
test ecx, ecx
js 0x1011c2f5
call fcn.100b7d50
test al, al
je 0x1011c2f5
mov byte [ebp - 6], 1
jmp 0x1011c2f9
mov byte [ebp - 6], 0
cmp byte [ebp - 7], 0
je 0x1011c30f
mov ecx, dword [esi + 0x7c]
test ecx, ecx
js 0x1011c30f
call fcn.100b7d50
test al, al
jne 0x1011c325
cmp byte [ebp - 4], 0
je 0x1011c32b
mov ecx, dword [esi + 0x58]
test ecx, ecx
js 0x1011c32b
call fcn.100b7d50
test al, al
je 0x1011c32b
mov byte [ebp - 0xd], 1
jmp 0x1011c32f
mov byte [ebp - 0xd], 0
mov al, byte [ebp - 7]
test al, al
je 0x1011c352
mov ecx, dword [esi + 0x88]
test ecx, ecx
js 0x1011c352
call fcn.100b7d50
test al, al
je 0x1011c34f
mov byte [ebp - 4], 1
jmp 0x1011c35a
mov al, byte [ebp - 7]
mov byte [ebp - 4], 0
test al, al
je 0x1011c36d
mov ecx, dword [esi + 0x84]
test ecx, ecx
js 0x1011c36d
call fcn.100b7d50
test al, al
jne 0x1011c386
cmp byte [ebp - 9], 0
je 0x1011c38c
mov ecx, dword [esi + 0x88]
test ecx, ecx
js 0x1011c38c
call fcn.100b7d50
test al, al
je 0x1011c38c
mov byte [ebp - 9], 1
jmp 0x1011c390
mov byte [ebp - 9], 0
mov ecx, dword [esi + 0x38]
test ecx, ecx
js 0x1011c3d3
call fcn.100b7d50
test al, al
je 0x1011c3d3
cmp byte [ebp - 0xa], 0
je 0x1011c3ad
mov ecx, 0x200004
jmp 0x1011c3be
mov ecx, 0x200000
mov eax, 0x20000c
cmp byte [ebp - 5], 0
cmovne ecx, eax
mov eax, dword [ebp - 0x1c]
lea edx, [edi + 0x3c]
or eax, ecx
mov ecx, edi
push eax
call fcn.100d55e0
jmp 0x1011c7c6
mov ecx, dword [esi + 0x3c]
test ecx, ecx
js 0x1011c3fa
call fcn.100b7d50
test al, al
je 0x1011c3fa
cmp byte [ebp - 0xa], 0
je 0x1011c3f0
mov ecx, 0x200005
jmp 0x1011c3be
mov ecx, 0x200001
lea eax, [ecx + 0xc]
jmp 0x1011c3b7
mov ecx, dword [esi + 0x50]
test ecx, ecx
js 0x1011c431
call fcn.100b7d50
test al, al
je 0x1011c431
mov ecx, dword [ebp - 0x1c]
lea edx, [edi + 0x3c]
mov eax, ecx
or ecx, 0x200004
or eax, 0x200006
cmp byte [ebp - 8], 0
cmovne ecx, eax
push ecx
mov ecx, edi
call fcn.100d55e0
jmp 0x1011c7c6
mov ecx, dword [esi + 0x54]
test ecx, ecx
js 0x1011c468
call fcn.100b7d50
test al, al
je 0x1011c468
mov ecx, dword [ebp - 0x1c]
lea edx, [edi + 0x3c]
mov eax, ecx
or ecx, 0x200005
or eax, 0x200007
cmp byte [ebp - 8], 0
cmovne ecx, eax
push ecx
mov ecx, edi
call fcn.100d55e0
jmp 0x1011c7c6
mov ecx, dword [esi + 0x5c]
test ecx, ecx
js 0x1011c490
call fcn.100b7d50
test al, al
je 0x1011c490
mov eax, dword [ebp - 0x1c]
lea edx, [edi + 0x3c]
or eax, 0x200008
mov ecx, edi
push eax
call fcn.100d55e0
jmp 0x1011c7c6
mov ecx, dword [esi + 0x60]
test ecx, ecx
js 0x1011c50d
call fcn.100b7d50
test al, al
je 0x1011c50d
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x1011c4f5
cmp byte [ebp - 5], 0
je 0x1011c4b5
push 0x60000c
jmp 0x1011c4d7
cmp byte [ebp - 0x2a], 0
je 0x1011c4f5
mov eax, dword [ebp - 0x20]
cmp byte [eax], 0
je 0x1011c4f5
cmp byte [ebx + 0x102], 0
jne 0x1011c4f5
cmp byte [ebp - 8], 0
jne 0x1011c4f5
push 0x600004
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100d55e0
mov dword [edi + 0xe60], 0xbe99999a
add esp, 4
mov byte [edi + 0xe64], 1
mov eax, dword [ebp - 0x1c]
lea edx, [edi + 0x3c]
or eax, 0x200009
mov ecx, edi
push eax
call fcn.100d55e0
jmp 0x1011c7c6
mov ecx, dword [esi + 0x68]
test ecx, ecx
js 0x1011c51d
call fcn.100b7d50
test al, al
jne 0x1011c52d
mov ecx, dword [esi + 0x70]
test ecx, ecx
js 0x1011c536
call fcn.100b7d50
test al, al
je 0x1011c536
mov byte [ebp - 0x18], 1
jmp 0x1011c7da
mov ecx, dword [esi + 0x6c]
test ecx, ecx
js 0x1011c550
call fcn.100b7d50
test al, al
je 0x1011c550
mov cl, 1
mov byte [ebp - 0x18], cl
jmp 0x1011c7dd
mov al, byte [ebp - 4]
test al, al
jne 0x1011c7a7
cmp byte [ebp - 9], al
jne 0x1011c7a7
cmp byte [ebp - 7], al
je 0x1011c592
mov ecx, dword [esi + 0x74]
test ecx, ecx
js 0x1011c592
call fcn.100b7d50
test al, al
je 0x1011c592
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x4b], 0
jmp 0x1011c7d3
mov al, byte [ebp - 0xc]
test al, al
jne 0x1011c6a4
cmp byte [ebp - 6], al
jne 0x1011c6a4
cmp byte [ebp - 0xd], al
je 0x1011c7da
mov eax, dword [esi + 0xd0]
test eax, eax
je 0x1011c5d7
push dword [esi + 0xd8]
call eax
add esp, 4
mov dword [ebp - 0x14], eax
test eax, eax
je 0x1011c7da
mov esi, dword [0x103c70dc]
jmp 0x1011c5df
mov eax, 0x10304658
mov dword [ebp - 0x14], eax
mov ecx, eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1011c5e4
sub ecx, edx
test esi, esi
je 0x1011c5f7
inc dword [esi + 0x374]
lea eax, [ecx*2 + 2]
push eax
call fcn.1024125d
mov esi, dword [ebp - 0x14]
xor ecx, ecx
add esp, 4
mov dword [ebp - 0x34], eax
cmp byte [esi], cl
je 0x1011c65f
xor ebx, ebx
mov edi, eax
push 0
mov edx, esi
lea ecx, [ebp - 0x20]
call fcn.100b29d0
add esp, 4
add esi, eax
cmp dword [ebp - 0x20], 0
je 0x1011c650
sub esp, 8
lea ecx, [ebp - 0x20]
xor edx, edx
call fcn.100da870
add esp, 8
test al, al
je 0x1011c64b
mov ax, word [ebp - 0x20]
mov word [edi + ebx*2], ax
inc ebx
cmp byte [esi], 0
jne 0x1011c617
mov edi, dword [ebp - 0x64]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x24], ebx
mov ebx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x24]
xor edx, edx
mov word [eax + ecx*2], dx
test ecx, ecx
jle 0x1011c682
push ecx
push eax
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.1011b620
mov eax, dword [ebp - 0x34]
add esp, 8
mov byte [edi + 0xe64], 1
test eax, eax
je 0x1011c696
mov ecx, dword [0x103c70dc]
test ecx, ecx
je 0x1011c696
dec dword [ecx + 0x374]
push eax
call fcn.102406e0
add esp, 4
jmp 0x1011c7da
cmp dword [ebx + 0xd4], 0
je 0x1011c767
mov ecx, dword [edi + 0x44]
mov eax, dword [edi + 0x40]
cmp eax, ecx
je 0x1011c6c8
mov edx, ecx
cmovge ecx, eax
cmovl edx, eax
mov dword [ebp - 0x20], edx
jmp 0x1011c6d2
mov ecx, dword [edi + 4]
mov dword [ebp - 0x20], 0
mov al, byte [ebp - 2]
mov byte [ebp - 2], al
mov al, byte [ebp - 0xb]
mov byte [ebp - 0xb], al
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x14], ecx
lea edx, [eax + ecx*2]
mov ecx, dword [ebp - 0x20]
lea ecx, [eax + ecx*2]
call fcn.100b2c90
inc eax
mov dword [ebp - 0x24], eax
test esi, esi
je 0x1011c700
inc dword [esi + 0x374]
push eax
call fcn.1024125d
mov esi, dword [edi + 0x14]
add esp, 4
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x20]
lea ecx, [esi + ecx*2]
push ecx
lea ecx, [esi + eax*2]
mov esi, dword [ebp - 0x6c]
push ecx
mov ecx, esi
call fcn.100b2b60
mov eax, dword [0x103c70dc]
add esp, 8
mov ecx, dword [eax + 0xd4]
test ecx, ecx
je 0x1011c74d
push esi
push dword [eax + 0xd8]
call ecx
mov eax, dword [0x103c70dc]
add esp, 8
test esi, esi
je 0x1011c75b
test eax, eax
je 0x1011c75b
dec dword [eax + 0x374]
push esi
call fcn.102406e0
mov al, byte [ebp - 0xc]
add esp, 4
test al, al
je 0x1011c7da
mov eax, dword [edi + 0x40]
lea esi, [edi + 0x3c]
cmp eax, dword [edi + 0x44]
jne 0x1011c789
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [esi], eax
mov byte [edi + 0x4b], 0
mov byte [edi + 0xe64], 1
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x1011c7da
mov edx, esi
mov ecx, edi
call fcn.1011b590
mov byte [esi + 0xf], 0
jmp 0x1011c7da
movzx eax, al
lea edx, [edi + 0x3c]
xor eax, 1
mov ecx, edi
add eax, 0x20000a
push eax
call fcn.100d55e0
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x44], eax
mov dword [edi + 0x40], eax
mov dword [edi + 0xe60], 0xbe99999a
add esp, 4
mov byte [edi + 0xe64], 1
mov cl, byte [ebp - 1]
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x1011c7ef
cmp byte [ebp - 3], 0
je 0x1011c7ef
mov al, 1
jmp 0x1011c7f1
xor al, al
or byte [ebp - 2], al
mov esi, dword [ebp - 0x28]
cmp dword [ebx + 0x19ec], esi
jne 0x1011c933
test cl, cl
je 0x1011c84b
mov esi, dword [edi + 0x2c]
mov ecx, esi
mov eax, dword [ebp + 0x10]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1011c830
test dl, dl
je 0x1011c82c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1011c830
add eax, 2
add ecx, 2
test dl, dl
jne 0x1011c810
xor eax, eax
jmp 0x1011c835
sbb eax, eax
or eax, 1
test eax, eax
je 0x1011c842
mov eax, dword [edi + 0x24]
dec eax
jmp 0x1011c8dc
xor esi, esi
xor eax, eax
jmp 0x1011c8dc
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 0x1011c890
test eax, eax
je 0x1011c876
cdq
sub eax, edx
lea edx, [edi + 0x18]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x1011c87e
mov ecx, 8
lea edx, [edi + 0x18]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.100c2f70
lea ecx, [edi + 0x18]
mov dword [ecx], esi
mov edx, esi
mov ecx, dword [edi + 0x20]
push 0
push dword [edi + 0x14]
call fcn.100b2b60
mov esi, dword [edi + 0x20]
add esp, 8
mov ecx, dword [ebp + 0x10]
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1011c8d0
test dl, dl
je 0x1011c8cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1011c8d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x1011c8b0
xor eax, eax
jmp 0x1011c8d5
sbb eax, eax
or eax, 1
test eax, eax
je 0x1011c912
mov eax, dword [edi + 8]
test esi, esi
je 0x1011c912
mov ecx, dword [ebp + 0x14]
inc eax
cmp eax, ecx
cmovl ecx, eax
mov dword [ebp + 0x14], ecx
cmp ecx, 1
jb 0x1011c90e
jbe 0x1011c906
lea eax, [ecx - 1]
push eax
push esi
push dword [ebp + 0x10]
call fcn.102425d0
mov ecx, dword [ebp + 0x14]
add esp, 0xc
mov eax, dword [ebp + 0x10]
mov byte [ecx + eax - 1], 0
mov byte [ebp - 0xb], 1
mov esi, dword [ebp - 0x28]
mov dword [edi + 0xe68], 0
mov dword [edi + 0xe6c], 0
mov dword [edi + 0xe70], 0
cmp byte [ebp - 0x18], 0
je 0x1011c94a
cmp dword [ebx + 0x19ec], esi
jne 0x1011c94a
xor edx, edx
xor ecx, ecx
call fcn.100b5280
mov eax, dword [ebp + 8]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + eax], 0
jne 0x1011c954
xor edx, edx
test ecx, ecx
je 0x1011c975
movsx eax, byte [edx + eax]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
mov eax, dword [ebp + 8]
cmp edx, ecx
jb 0x1011c961
lea eax, [esi - 0x2df58e5a]
mov ecx, 0x110ea460
mov dword [ebp - 0xb0], eax
lea eax, [ebp - 0xb0]
push eax
call fcn.10111b50
cmp byte [ebp - 3], 0
jne 0x1011c9a3
cmp byte [ebp - 2], 0
jne 0x1011c9a3
xorps xmm1, xmm1
jmp 0x1011c9ab
movss xmm1, dword [0x1030b86c]
movss xmm0, dword [eax + 4]
lea esi, [eax + 4]
mov eax, dword [0x1040e4d4]
add eax, 0x5bba3cc6
xor eax, 0x89e261d6
movss xmm2, dword [eax + 4]
mulss xmm2, dword [0x1030b944]
call fcn.1003cca0
movss xmm6, dword [0x1030b86c]
lea ecx, [ebp + 0x14]
xorps xmm4, xmm4
movss dword [esi], xmm0
comiss xmm0, xmm4
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0x3f800000
mov dword [ebp + 0x14], 0
mov dword [ebp - 0x24], 0xff
movss xmm5, dword [0x1030bb18]
movss xmm7, dword [0x1030b7fc]
cmovae ecx, esi
comiss xmm6, xmm0
cmovae eax, ecx
lea ecx, [ebp + 0x14]
movss xmm1, dword [eax]
lea eax, [ebp - 0x14]
movaps xmm0, xmm1
movss dword [esi], xmm1
mulss xmm1, dword [0x1030b9e8]
mov dword [ebp + 0x14], 0
mulss xmm0, dword [0x1030ba08]
addss xmm1, dword [0x1030ba78]
cvttss2si ebx, xmm0
mulss xmm1, dword [ebp - 0x90]
cvttss2si edx, xmm1
test edx, edx
mov dword [ebp - 0x14], edx
cmovns ecx, eax
cmp edx, 0xff
lea eax, [ebp - 0x24]
cmovle eax, ecx
mov cl, byte [eax]
movzx eax, bl
movd xmm2, eax
movzx eax, cl
cvtdq2ps xmm2, xmm2
movd xmm3, eax
mulss xmm2, dword [0x1030b70c]
cvtdq2ps xmm3, xmm3
comiss xmm4, xmm2
mulss xmm3, dword [0x1030b70c]
jbe 0x1011caa0
xor ecx, ecx
xorps xmm2, xmm2
jmp 0x1011cad2
movaps xmm0, xmm2
movaps xmm1, xmm2
minss xmm0, xmm6
minss xmm1, xmm6
minss xmm2, xmm6
mulss xmm0, xmm5
mulss xmm1, xmm5
addss xmm0, xmm7
addss xmm1, xmm7
cvttss2si ecx, xmm0
cvttss2si eax, xmm1
shl ecx, 8
or ecx, eax
shl ecx, 8
mulss xmm2, xmm5
addss xmm2, xmm7
cvttss2si eax, xmm2
or ecx, eax
comiss xmm4, xmm3
jbe 0x1011caea
xorps xmm3, xmm3
jmp 0x1011caee
minss xmm3, xmm6
mulss xmm3, xmm5
push 0xf
push ecx
mov dword [esp], 0x40800000
addss xmm3, xmm7
cvttss2si eax, xmm3
shl eax, 0x18
or eax, ecx
mov ecx, dword [0x110e99c4]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.100cd1f0
cmp byte [ebp - 0x29], 0
movss xmm2, dword [ebp - 0x50]
movss xmm0, dword [ebp - 0x40]
movss xmm1, dword [ebp - 0x4c]
addss xmm0, xmm2
movss dword [ebp - 0x68], xmm1
movss dword [ebp - 0xa8], xmm1
movss dword [ebp - 0xac], xmm2
movss dword [ebp - 0x34], xmm0
movss dword [ebp - 0xa4], xmm0
movaps xmm0, xmm1
addss xmm0, dword [ebp - 0x38]
addss xmm1, dword [0x1030b954]
movss dword [ebp - 0x60], xmm0
movss dword [ebp - 0xa0], xmm0
movaps xmm0, xmm2
addss xmm0, dword [0x1030b96c]
movss dword [ebp - 0x6c], xmm1
movss dword [ebp - 0x58], xmm1
movss dword [ebp - 0x20], xmm0
movss dword [ebp - 0x5c], xmm0
je 0x1011cb9c
mov esi, dword [edi + 0x20]
mov dword [ebp + 0x10], esi
jmp 0x1011cb9f
mov esi, dword [ebp + 0x10]
mov cl, byte [ebp - 3]
test cl, cl
jne 0x1011cc31
cmp byte [ebp - 2], cl
jne 0x1011cc31
mov ebx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x28]
cmp dword [ebx + 0x19ec], eax
jne 0x1011cbc8
mov edi, dword [edi + 8]
add edi, esi
jmp 0x1011cbdc
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1011cbd0
sub ecx, edx
lea edi, [esi + ecx]
mov eax, edi
sub eax, esi
cmp eax, 0x200000
jge 0x1011d4c9
movss xmm1, dword [0x1030b86c]
lea eax, [ebp - 0xac]
push eax
push ecx
mov dword [esp], 0
xor ecx, ecx
push edi
push esi
call fcn.100b32d0
movss xmm2, dword [ebx + 0x18c4]
push eax
lea eax, [ebp - 0x5c]
push eax
mov eax, dword [ebp - 0x30]
push dword [ebx + 0x18c0]
mov ecx, dword [eax + 0x284]
call fcn.100cd700
jmp 0x1011d4c9
mov eax, dword [edi + 8]
mov ebx, 0xfffffc18
mov dword [ebp - 0x44], eax
xor edx, edx
add eax, esi
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x14], eax
xorps xmm6, xmm6
mov eax, dword [edi + 0x14]
xorps xmm7, xmm7
mov dword [ebp - 0x1c], 0
xorps xmm4, xmm4
mov dword [ebp - 0x18], ebx
mov dword [ebp + 0x14], ebx
test cl, cl
je 0x1011cc7e
mov ecx, dword [edi + 0x14]
or ebx, 0xffffffff
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0x18], ebx
lea edx, [ebx + 2]
lea eax, [ecx + eax*2]
mov dword [ebp - 0x38], eax
mov eax, ecx
cmp byte [ebp - 2], 0
je 0x1011cc9f
mov ecx, dword [edi + 0x44]
cmp dword [edi + 0x40], ecx
mov eax, dword [edi + 0x14]
cmovl ecx, dword [edi + 0x40]
inc edx
mov dword [ebp + 0x14], 0xffffffff
lea ecx, [eax + ecx*2]
mov dword [ebp - 0x1c], ecx
mov ecx, eax
xor esi, esi
movzx eax, word [eax]
test ax, ax
je 0x1011ccf2
mov edi, dword [ebp - 0x18]
mov ebx, eax
cmp bx, 0xa
jne 0x1011ccdb
inc esi
cmp edi, 0xffffffff
jne 0x1011ccc8
cmp ecx, dword [ebp - 0x38]
jb 0x1011ccc8
dec edx
mov edi, esi
test edx, edx
jle 0x1011cce9
cmp dword [ebp + 0x14], 0xffffffff
jne 0x1011ccdb
cmp ecx, dword [ebp - 0x1c]
jb 0x1011ccdb
dec edx
mov dword [ebp + 0x14], esi
test edx, edx
jle 0x1011cce9
movzx eax, word [ecx + 2]
add ecx, 2
mov ebx, eax
test ax, ax
jne 0x1011ccb0
mov dword [ebp - 0x18], edi
mov edi, dword [ebp - 0x64]
mov ebx, dword [ebp - 0x18]
inc esi
cmp ebx, 0xffffffff
mov eax, esi
cmovne eax, ebx
mov ebx, dword [ebp - 0x38]
mov dword [ebp - 0x24], eax
mov ecx, ebx
mov eax, dword [ebp + 0x14]
cmp eax, 0xffffffff
cmove eax, esi
mov esi, dword [edi + 0x14]
mov dword [ebp + 0x14], eax
cmp ebx, esi
jbe 0x1011cd24
cmp word [ecx - 2], 0xa
je 0x1011cd24
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x1011cd16
mov eax, dword [0x103c70dc]
movaps xmm0, xmm6
movss dword [ebp - 0x18], xmm0
movaps xmm2, xmm6
mov edx, dword [eax + 0x18c0]
movss xmm3, dword [eax + 0x18c4]
divss xmm3, dword [edx + 0x10]
cmp ecx, ebx
jae 0x1011cd9c
nop dword [eax + eax]
movzx eax, word [ecx]
add ecx, 2
mov esi, eax
cmp eax, 0xa
jne 0x1011cd6b
maxss xmm0, xmm2
movaps xmm2, xmm6
movss dword [ebp - 0x18], xmm0
jmp 0x1011cd95
cmp esi, 0xd
je 0x1011cd95
mov esi, eax
cmp esi, dword [edx]
jge 0x1011cd80
mov eax, dword [edx + 8]
movss xmm1, dword [eax + esi*4]
jmp 0x1011cd85
movss xmm1, dword [edx + 0xc]
movaps xmm0, xmm3
mulss xmm0, xmm1
addss xmm2, xmm0
movss xmm0, dword [ebp - 0x18]
cmp ecx, ebx
jb 0x1011cd50
mov esi, dword [edi + 0x14]
cmp dword [ebp + 0x14], 0
maxss xmm0, xmm2
movd xmm1, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x54]
cvtdq2ps xmm1, xmm1
movss xmm5, dword [ebx + 0x18c4]
mulss xmm1, xmm5
movss dword [ebp - 0x18], xmm0
movss dword [ebp - 0x24], xmm1
jl 0x1011ce4d
mov eax, dword [ebp - 0x1c]
mov ecx, eax
cmp eax, esi
jbe 0x1011cde5
cmp word [ecx - 2], 0xa
je 0x1011cde2
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x1011cdd4
mov eax, dword [ebp - 0x1c]
movaps xmm2, xmm6
movaps xmm4, xmm6
cmp ecx, eax
jae 0x1011ce3d
mov ebx, dword [ebp - 0x1c]
movzx eax, word [ecx]
add ecx, 2
cmp eax, 0xa
jne 0x1011ce09
maxss xmm4, xmm2
movaps xmm2, xmm4
movaps xmm4, xmm6
jmp 0x1011ce2e
cmp eax, 0xd
je 0x1011ce2e
mov esi, eax
cmp esi, dword [edx]
jge 0x1011ce1e
mov eax, dword [edx + 8]
movss xmm1, dword [eax + esi*4]
jmp 0x1011ce23
movss xmm1, dword [edx + 0xc]
movaps xmm0, xmm3
mulss xmm0, xmm1
addss xmm4, xmm0
cmp ecx, ebx
jb 0x1011cdf2
movss xmm0, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x54]
mov esi, dword [edi + 0x14]
movd xmm7, dword [ebp + 0x14]
maxss xmm4, xmm2
cvtdq2ps xmm7, xmm7
mulss xmm7, xmm5
cmp byte [ebp - 3], 0
je 0x1011cea8
cmp byte [edi + 0xe64], 0
je 0x1011cea8
movss xmm3, dword [ebp - 0x40]
movss xmm2, dword [edi + 0x38]
movaps xmm1, xmm3
comiss xmm2, xmm0
mulss xmm1, dword [0x1030b7b8]
jbe 0x1011ce84
subss xmm0, xmm1
maxss xmm0, xmm6
cvttss2si eax, xmm0
jmp 0x1011ce95
subss xmm0, xmm3
comiss xmm0, xmm2
jb 0x1011cea1
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x38], xmm0
mov byte [edi + 0xe64], 0
cmp byte [ebp - 2], 0
movss xmm2, dword [edi + 0x38]
movss dword [ebp - 0x38], xmm2
je 0x1011d181
mov ecx, dword [edi + 0x40]
mov edx, dword [edi + 0x44]
mov eax, edx
movss xmm0, dword [ebp - 0x90]
cmp ecx, edx
mulss xmm0, dword [0x1030b9e8]
cmovl eax, ecx
mov dword [ebp - 0x3c], 0xff
cmovge edx, ecx
mov dword [ebp - 0x40], 0
mov ecx, dword [edi + 0x14]
lea esi, [esi + eax*2]
lea eax, [ecx + edx*2]
cvttss2si edx, xmm0
mov dword [ebp + 0x14], eax
lea ecx, [ebp - 0x40]
lea eax, [ebp - 0x1c]
test edx, edx
mov dword [ebp - 0x1c], edx
cmovns ecx, eax
cmp edx, 0xff
lea eax, [ebp - 0x3c]
cmovle eax, ecx
movzx eax, byte [eax]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1030b70c]
comiss xmm6, xmm0
jbe 0x1011cf30
movaps xmm0, xmm6
jmp 0x1011cf38
minss xmm0, dword [0x1030b86c]
movss xmm5, dword [0x1030bb18]
movss xmm1, dword [0x1030b7fc]
addss xmm4, dword [ebp - 0x20]
addss xmm7, dword [ebp - 0x6c]
mov ecx, dword [ebp + 0x14]
mulss xmm0, xmm5
subss xmm4, xmm2
movss dword [ebp - 0x40], xmm7
addss xmm0, xmm1
cvttss2si eax, xmm0
shl eax, 0x18
or eax, 0xd9d9d9
mov dword [ebp - 0x3c], eax
cmp esi, ecx
jae 0x1011d189
movss xmm5, dword [ebp - 0x60]
mov edi, eax
nop dword [eax]
nop dword [eax + eax]
movss xmm6, dword [ebx + 0x18c4]
movaps xmm0, xmm5
addss xmm0, xmm6
comiss xmm7, xmm0
ja 0x1011d176
movss xmm0, dword [ebp - 0x68]
comiss xmm0, xmm7
jbe 0x1011cfd9
cmp esi, ecx
jae 0x1011d157
nop word [eax + eax]
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x1011d157
cmp esi, ecx
jb 0x1011cfc0
jmp 0x1011d176
mov eax, dword [0x103c70dc]
xorps xmm0, xmm0
xorps xmm5, xmm5
xorps xmm2, xmm2
mov edx, dword [eax + 0x18c0]
movss xmm3, dword [eax + 0x18c4]
divss xmm3, dword [edx + 0x10]
cmp esi, ecx
jae 0x1011d042
nop
movzx eax, word [esi]
add esi, 2
cmp eax, 0xa
je 0x1011d063
cmp eax, 0xd
je 0x1011d033
mov ecx, eax
cmp ecx, dword [edx]
jge 0x1011d020
mov eax, dword [edx + 8]
movss xmm1, dword [eax + ecx*4]
jmp 0x1011d025
movss xmm1, dword [edx + 0xc]
mov ecx, dword [ebp + 0x14]
movaps xmm0, xmm3
mulss xmm0, xmm1
addss xmm2, xmm0
cmp esi, ecx
jb 0x1011d000
xorps xmm0, xmm0
movss xmm1, dword [0x1030b7fc]
maxss xmm2, xmm5
comiss xmm0, xmm2
jb 0x1011d086
mov eax, dword [ebx + 0x18c0]
cmp dword [eax], 0x20
jle 0x1011d072
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x1011d077
movaps xmm5, xmm2
xorps xmm0, xmm0
maxss xmm5, xmm0
xorps xmm2, xmm2
jmp 0x1011d03a
movss xmm0, dword [eax + 0xc]
mulss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
addss xmm6, dword [0x1030b86c]
movss xmm3, dword [ebp - 0x68]
addss xmm2, xmm4
movss xmm5, dword [ebp - 0x60]
movaps xmm0, xmm7
maxss xmm4, dword [ebp - 0x70]
movaps xmm1, xmm7
addss xmm1, dword [0x1030b8c0]
minss xmm2, dword [ebp - 0x34]
subss xmm0, xmm6
movss dword [ebp - 0x80], xmm4
movss dword [ebp - 0x78], xmm2
maxss xmm3, xmm0
movaps xmm0, xmm5
minss xmm0, xmm1
movss dword [ebp - 0x7c], xmm3
comiss xmm0, dword [ebp - 0x68]
movss dword [ebp - 0x74], xmm0
jbe 0x1011d14f
comiss xmm5, xmm3
jbe 0x1011d14f
comiss xmm2, dword [ebp - 0x70]
jbe 0x1011d14f
movss xmm0, dword [ebp - 0x34]
comiss xmm0, xmm4
jbe 0x1011d14f
push 0xf
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x78]
push edi
push eax
lea eax, [ebp - 0x80]
push eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x284]
call fcn.100cd1f0
movss xmm0, dword [ebp - 0xa4]
movss xmm5, dword [ebp - 0xa0]
movss xmm7, dword [ebp - 0x40]
mov ecx, dword [ebp + 0x14]
movss dword [ebp - 0x34], xmm0
movss xmm0, dword [ebp - 0xa8]
movss dword [ebp - 0x68], xmm0
movss xmm0, dword [ebp - 0xac]
movss dword [ebp - 0x60], xmm5
movss dword [ebp - 0x70], xmm0
movss xmm1, dword [0x1030b7fc]
movss xmm4, dword [ebp - 0x20]
addss xmm7, dword [ebx + 0x18c4]
subss xmm4, dword [ebp - 0x38]
movss dword [ebp - 0x40], xmm7
cmp esi, ecx
jb 0x1011cf90
movss xmm2, dword [ebp - 0x38]
xorps xmm6, xmm6
mov edi, dword [ebp - 0x64]
movss xmm5, dword [0x1030bb18]
cmp dword [ebp - 0x44], 0x200000
jge 0x1011d2ca
mov eax, dword [0x103c70dc]
movss xmm3, dword [0x1030b86c]
movups xmm0, xmmword [eax + 0x15c0]
comiss xmm6, xmm0
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xff
mulss xmm1, dword [eax + 0x1510]
movups xmmword [ebp - 0x80], xmm0
jbe 0x1011d1c7
movaps xmm0, xmm6
jmp 0x1011d1cb
minss xmm0, xmm3
movss xmm4, dword [0x1030b7fc]
mulss xmm0, xmm5
addss xmm0, xmm4
cvttss2si ecx, xmm0
movss xmm0, dword [ebp - 0x7c]
shl ecx, 0x10
comiss xmm6, xmm0
jbe 0x1011d1f1
movaps xmm0, xmm6
jmp 0x1011d1f5
minss xmm0, xmm3
mulss xmm0, xmm5
addss xmm0, xmm4
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x78]
shl eax, 8
or ecx, eax
comiss xmm6, xmm0
jbe 0x1011d215
movaps xmm0, xmm6
jmp 0x1011d219
minss xmm0, xmm3
mulss xmm0, xmm5
addss xmm0, xmm4
cvttss2si eax, xmm0
or ecx, eax
comiss xmm6, xmm1
jbe 0x1011d231
movaps xmm1, xmm6
jmp 0x1011d235
minss xmm1, xmm3
movss xmm0, dword [ebp - 0x20]
lea eax, [ebp - 0xac]
mov esi, dword [ebp - 0x30]
subss xmm0, xmm2
movss xmm2, dword [ebx + 0x18c4]
mulss xmm1, xmm5
push eax
push ecx
mov dword [esp], 0
push dword [ebp - 0x14]
addss xmm1, xmm4
movss dword [ebp - 0x48], xmm0
push dword [ebp + 0x10]
movss xmm0, dword [ebp - 0x6c]
movss dword [ebp - 0x44], xmm0
cvttss2si eax, xmm1
shl eax, 0x18
or eax, ecx
mov ecx, dword [esi + 0x284]
push eax
lea eax, [ebp - 0x48]
push eax
push dword [ebx + 0x18c0]
call fcn.100cd700
movss xmm0, dword [ebp - 0xa0]
movss dword [ebp - 0x60], xmm0
movss xmm0, dword [ebp - 0xa4]
movss dword [ebp - 0x34], xmm0
movss xmm0, dword [ebp - 0xa8]
movss dword [ebp - 0x68], xmm0
movss xmm0, dword [ebp - 0xac]
movss dword [ebp - 0x70], xmm0
jmp 0x1011d2cd
mov esi, dword [ebp - 0x30]
cmp byte [ebp - 3], 0
je 0x1011d4c6
movss xmm0, dword [ebx + 0x18]
addss xmm0, dword [edi + 0xe60]
movss dword [edi + 0xe60], xmm0
cmp byte [ebx + 0xb2], 0
movss dword [ebp + 0x14], xmm0
je 0x1011d325
xorps xmm1, xmm1
comiss xmm1, xmm0
jae 0x1011d325
fld dword [ebp + 0x14]
fld dword [0x1030b87c]
call fcn.102627a0
movss xmm0, dword [0x1030b83c]
fstp dword [ebp + 0x14]
comiss xmm0, dword [ebp + 0x14]
jae 0x1011d325
xor al, al
jmp 0x1011d327
mov al, 1
movss xmm5, dword [ebp - 0x24]
movss xmm3, dword [ebp - 0x18]
movss xmm7, dword [0x1030b7fc]
movss xmm6, dword [0x1030b86c]
addss xmm5, dword [ebp - 0x6c]
addss xmm3, dword [ebp - 0x20]
movss dword [ebp - 0x24], xmm5
movaps xmm0, xmm5
movaps xmm2, xmm5
subss xmm3, dword [ebp - 0x38]
subss xmm0, dword [ebx + 0x18c4]
subss xmm2, dword [0x1030b888]
movss dword [ebp - 0x18], xmm3
movaps xmm1, xmm3
movss dword [ebp - 0x80], xmm3
addss xmm0, xmm7
movss dword [ebp - 0x74], xmm2
addss xmm1, xmm6
movss dword [ebp - 0x7c], xmm0
movss dword [ebp - 0x78], xmm1
test al, al
je 0x1011d4aa
comiss xmm2, dword [ebp - 0x68]
jbe 0x1011d4aa
movss xmm4, dword [ebp - 0x60]
comiss xmm4, xmm0
jbe 0x1011d4aa
comiss xmm1, dword [ebp - 0x70]
jbe 0x1011d4aa
movss xmm0, dword [ebp - 0x34]
comiss xmm0, xmm3
jbe 0x1011d4aa
mov eax, dword [0x103c70dc]
xorps xmm4, xmm4
movups xmm1, xmmword [eax + 0x15c0]
comiss xmm4, xmm1
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xff
mulss xmm0, dword [eax + 0x1510]
movups xmmword [ebp - 0x50], xmm1
jbe 0x1011d3f3
xorps xmm1, xmm1
jmp 0x1011d3f7
minss xmm1, xmm6
movss xmm5, dword [0x1030bb18]
mulss xmm1, xmm5
addss xmm1, xmm7
cvttss2si ecx, xmm1
movss xmm1, dword [ebp - 0x4c]
shl ecx, 0x10
comiss xmm4, xmm1
jbe 0x1011d41d
xorps xmm1, xmm1
jmp 0x1011d421
minss xmm1, xmm6
mulss xmm1, xmm5
addss xmm1, xmm7
cvttss2si eax, xmm1
movss xmm1, dword [ebp - 0x48]
shl eax, 8
or ecx, eax
comiss xmm4, xmm1
jbe 0x1011d441
xorps xmm1, xmm1
jmp 0x1011d445
minss xmm1, xmm6
mulss xmm1, xmm5
addss xmm1, xmm7
cvttss2si eax, xmm1
or ecx, eax
comiss xmm4, xmm0
jbe 0x1011d45d
xorps xmm0, xmm0
jmp 0x1011d461
minss xmm0, xmm6
mulss xmm0, xmm5
push ecx
mov dword [esp], 0x3f800000
movss dword [ebp - 0x48], xmm3
addss xmm0, xmm7
movss dword [ebp - 0x44], xmm2
cvttss2si eax, xmm0
shl eax, 0x18
or eax, ecx
mov ecx, dword [esi + 0x284]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.100cced0
movss xmm3, dword [ebp - 0x18]
movss xmm5, dword [ebp - 0x24]
movss xmm6, dword [0x1030b86c]
subss xmm5, dword [ebx + 0x18c4]
subss xmm3, xmm6
movss dword [ebx + 0x2d28], xmm5
movss dword [ebx + 0x2d24], xmm3
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
mov ecx, 0x811c9dc5
xor edx, edx
inc edx
cmp byte [edx + eax], 0
jne 0x1011d4d3
xor esi, esi
test edx, edx
je 0x1011d4f4
movsx eax, byte [esi + eax]
inc esi
xor eax, ecx
imul ecx, eax, 0x1000193
mov eax, dword [ebp + 8]
cmp esi, edx
jb 0x1011d4e0
lea eax, [ebp + 0x14]
mov dword [ebp + 0x14], ecx
push eax
mov ecx, 0x110ea460
call fcn.10111b50
movss xmm3, dword [ebp - 0x94]
lea ecx, [ebp - 0x80]
movss xmm2, dword [ebp - 0x9c]
mov esi, eax
mov eax, dword [ebp + 0x18]
movaps xmm1, xmm3
mov edx, dword [ebp - 0x28]
movaps xmm0, xmm2
movss dword [ebp - 0x80], xmm3
movss dword [ebp - 0x7c], xmm2
addss xmm1, dword [eax]
addss xmm0, dword [eax + 4]
movss dword [ebp - 0x78], xmm1
movss dword [ebp - 0x74], xmm0
call fcn.100b5780
mov ecx, dword [0x1040e4d4]
add esi, 4
add ecx, 0x5bba3cc6
movzx eax, al
xor ecx, 0x89e261d6
movss xmm0, dword [esi]
movd xmm1, eax
movss xmm2, dword [ecx + 4]
mulss xmm2, dword [0x1030b944]
cvtdq2ps xmm1, xmm1
call fcn.1003cca0
movss xmm6, dword [0x1030b86c]
lea ecx, [ebp - 0x44]
xorps xmm4, xmm4
movss dword [esi], xmm0
comiss xmm0, xmm4
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x3c], 0x3f800000
mov dword [ebp - 0x44], 0
mov bl, 0xd9
movss xmm5, dword [0x1030bb18]
movss xmm7, dword [0x1030b7fc]
cmovae ecx, esi
comiss xmm6, xmm0
cmovae eax, ecx
lea ecx, [ebp + 0x14]
movss xmm1, dword [eax]
movss dword [esi], xmm1
movaps xmm0, xmm1
mulss xmm1, dword [0x1030b9e8]
mov dword [ebp - 0x3c], 0xff
mulss xmm0, dword [0x1030bc3c]
mov dword [ebp + 0x14], 0
addss xmm1, dword [0x1030b9a0]
cvttss2si eax, xmm0
mulss xmm1, dword [ebp - 0x90]
sub bl, al
lea eax, [ebp - 0x44]
cvttss2si edx, xmm1
test edx, edx
mov dword [ebp - 0x44], edx
cmovns ecx, eax
cmp edx, 0xff
lea eax, [ebp - 0x3c]
cmovle eax, ecx
mov cl, byte [eax]
movzx eax, bl
movd xmm2, eax
movzx eax, cl
cvtdq2ps xmm2, xmm2
movd xmm3, eax
mulss xmm2, dword [0x1030b70c]
cvtdq2ps xmm3, xmm3
comiss xmm4, xmm2
mulss xmm3, dword [0x1030b70c]
jbe 0x1011d64d
xor ecx, ecx
xorps xmm2, xmm2
jmp 0x1011d67f
movaps xmm0, xmm2
movaps xmm1, xmm2
minss xmm0, xmm6
minss xmm1, xmm6
minss xmm2, xmm6
mulss xmm0, xmm5
mulss xmm1, xmm5
addss xmm0, xmm7
addss xmm1, xmm7
cvttss2si ecx, xmm0
cvttss2si eax, xmm1
shl ecx, 8
or ecx, eax
shl ecx, 8
mulss xmm2, xmm5
addss xmm2, xmm7
cvttss2si eax, xmm2
or ecx, eax
comiss xmm4, xmm3
jbe 0x1011d697
xorps xmm3, xmm3
jmp 0x1011d69b
minss xmm3, xmm6
mov eax, dword [ebp + 0x18]
movss xmm0, dword [ebp - 0x94]
mulss xmm3, xmm5
push 0xf
addss xmm0, dword [eax]
push ecx
addss xmm3, xmm7
mov dword [esp], 0x40800000
movss dword [ebp - 0x48], xmm0
movss xmm0, dword [ebp - 0x9c]
addss xmm0, dword [eax + 4]
cvttss2si eax, xmm3
movss dword [ebp - 0x44], xmm0
shl eax, 0x18
or eax, ecx
mov ecx, dword [0x110e99c4]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0xb8]
push eax
call fcn.100cd1f0
mov eax, dword [ebp - 0x54]
cmp byte [eax + 0x2d60], 0
je 0x1011d70e
mov edx, dword [ebp + 0x10]
lea ecx, [ebp - 0x5c]
push edi
call fcn.100c1ac0
add esp, 4
movss xmm0, dword [ebp - 0x8c]
comiss xmm0, dword [0x1030b6ac]
jbe 0x1011d75e
movss xmm0, dword [ebp - 0x94]
xor edx, edx
addss xmm0, dword [0x1030b978]
mov ecx, dword [ebp + 8]
movss dword [ebp - 0x5c], xmm0
movss xmm0, dword [ebp - 0x9c]
addss xmm0, dword [0x1030b990]
movss dword [ebp - 0x58], xmm0
push dword [ebp - 0x58]
push dword [ebp - 0x5c]
push 1
call fcn.100b3470
add esp, 0xc
mov bl, byte [ebp - 0xb]
test bl, bl
je 0x1011d781
mov edx, dword [0x103c70dc]
mov word [edx + 0x19fb], 0x101
mov edx, dword [edx + 0x19b0]
or dword [edx + 0x11c], 4
mov ecx, dword [ebp - 0x98]
call fcn.100bd000
mov al, bl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 0x20