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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb4
movss xmm0, dword [0x110979c4]
push ebx
mov ebx, dword [0x10378a34]
push esi
push edi
movss dword [ebp - 0x70], xmm0
mov eax, dword [ebx + 0x19b0]
mov dword [ebp - 0x6c], ebx
mov byte [eax + 0x8c], 1
mov edi, dword [ebx + 0x19b0]
mov dword [ebp - 0x34], edi
cmp byte [edi + 0x8f], 0
jne 0x1011cf62
movups xmm0, xmmword [ebx + 0x15c0]
lea eax, [ebp - 0x84]
mov dword [ebp - 0x84], 0
push eax
lea ecx, [ebx + 0x1a9c]
movups xmmword [ebp - 0x80], xmm0
call fcn.100c2750
movss xmm0, dword [ebp - 0x70]
xor edx, edx
mov dword [ebx + 0x15c0], 0x3f800000
mov dword [ebx + 0x15c4], 0x3f800000
mov dword [ebx + 0x15c8], 0x3f800000
mulss xmm0, dword [0x102bd73c]
movss dword [ebx + 0x15cc], xmm0
mov ecx, dword [edi + 0xcc]
mov eax, dword [edi + 0xd4]
push dword [eax + ecx*4 - 4]
mov ecx, dword [ebp + 8]
call fcn.100b2390
mov esi, dword [0x10378a34]
add esp, 4
mov dword [ebp - 0x38], eax
cmp dword [esi + 0x19ec], eax
jne 0x1011afe3
mov dword [esi + 0x19f0], eax
cmp dword [esi + 0x1a20], eax
jne 0x1011aff2
mov byte [esi + 0x1a24], 1
mov ecx, dword [ebp + 8]
cmp ecx, 0xffffffff
jae 0x1011b06e
nop word [eax + eax]
mov dl, byte [ecx]
test dl, dl
je 0x1011b016
cmp dl, 0x23
jne 0x1011b010
cmp byte [ecx + 1], dl
je 0x1011b016
inc ecx
cmp ecx, 0xffffffff
jb 0x1011b000
mov eax, dword [ebp + 8]
cmp eax, ecx
je 0x1011b06e
movss xmm2, dword [esi + 0x18c4]
push ecx
push ecx
push eax
push ecx
mov ecx, dword [esi + 0x18c0]
lea eax, [ebp - 0x60]
mov dword [esp], 0xbf800000
push eax
call fcn.100d1550
movss xmm0, dword [ebp - 0x60]
addss xmm0, dword [0x102bd79c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xa4], xmm0
movss xmm0, dword [ebp - 0x5c]
movss dword [ebp - 0xac], xmm0
jmp 0x1011b079
xorps xmm1, xmm1
movss dword [ebp - 0xa4], xmm1
mov eax, dword [ebp + 0x18]
lea ecx, [ebp - 0x60]
movss xmm1, dword [edi + 0xd8]
movss xmm0, dword [edi + 0xdc]
movss dword [ebp - 0x8c], xmm1
movss xmm4, dword [eax]
movss xmm5, dword [eax + 4]
movaps xmm6, xmm4
mulss xmm6, dword [0x102bd73c]
movaps xmm2, xmm5
addss xmm2, xmm0
movss dword [ebp - 0xb0], xmm1
movss dword [ebp - 0x90], xmm0
subss xmm6, dword [0x102bd8b8]
movss dword [ebp - 0xac], xmm0
subss xmm4, xmm6
addss xmm4, xmm1
movss xmm1, dword [0x102bd8a0]
subss xmm2, xmm1
addss xmm0, xmm1
subss xmm5, xmm1
movaps xmm3, xmm4
movss dword [ebp - 0x48], xmm4
addss xmm3, xmm6
movss dword [ebp - 0x3c], xmm2
addss xmm2, dword [0x102bd8d8]
subss xmm6, xmm1
movss dword [ebp - 0x44], xmm0
movss dword [ebp - 0x80], xmm4
movss dword [ebp - 0x7c], xmm0
subss xmm3, xmm1
movss dword [ebp - 0x58], xmm5
movss xmm1, dword [ebx + 0x154c]
movss dword [ebp - 0x74], xmm2
subss xmm2, xmm0
movss dword [ebp - 0x54], xmm6
movss dword [ebp - 0x40], xmm3
movss dword [ebp - 0x78], xmm3
subss xmm3, xmm4
movss dword [ebp - 0x5c], xmm2
movss dword [ebp - 0x60], xmm3
call fcn.100b50a0
mov esi, dword [ebp - 0x38]
lea eax, [ebp - 0x48]
push eax
mov edx, esi
lea ecx, [ebp - 0x80]
call fcn.100b51d0
add esp, 4
test al, al
je 0x1011cf62
mov edx, esi
lea ecx, [ebp - 0x48]
call fcn.100b5400
mov byte [ebp - 7], al
test al, al
je 0x1011b18d
mov dword [ebx + 0x1d38], 1
mov ecx, dword [ebp - 0x34]
lea edi, [ebx + 0x1e08]
xor eax, eax
cmp dword [edi], esi
cmovne edi, eax
mov eax, dword [ecx + 0x174]
mov edx, dword [ecx + 0x17c]
mov dword [ebp - 0x50], edi
lea eax, [eax + 1]
mov dword [ecx + 0x174], eax
and edx, 5
jne 0x1011b1c0
inc dword [ecx + 0x178]
mov ecx, dword [0x10378a34]
mov edi, dword [ebp - 0x34]
cmp dword [ecx + 0x1be4], edi
mov edi, dword [ebp - 0x50]
jne 0x1011b234
cmp eax, dword [ecx + 0x1bec]
jne 0x1011b1e1
mov edx, dword [ebp - 0x34]
jmp 0x1011b1fc
test edx, edx
jne 0x1011b223
mov edx, dword [ebp - 0x34]
mov eax, dword [edx + 0x178]
cmp eax, dword [ecx + 0x1bf0]
jne 0x1011b223
mov dword [ecx + 0x1af0], esi
mov cl, 1
cmp dword [ebx + 0x1be4], edx
jne 0x1011b219
mov eax, dword [ebx + 0x1bec]
cmp eax, dword [edx + 0x174]
jne 0x1011b219
mov byte [ebp - 2], cl
jmp 0x1011b239
mov byte [ebp - 2], 0
mov byte [ebp - 0xb], 1
jmp 0x1011b23d
cmp dword [ecx + 0x19ec], esi
jne 0x1011b234
xor edx, edx
xor ecx, ecx
call fcn.100b4f00
xor cl, cl
mov byte [ebp - 2], cl
mov byte [ebp - 0xb], 0
cmp byte [ebp - 7], 0
je 0x1011b250
cmp byte [ebx + 0x3d8], 0
je 0x1011b250
mov dl, 1
jmp 0x1011b252
xor dl, dl
mov eax, dword [ebx + 0x19ec]
mov byte [ebp - 8], dl
cmp eax, esi
je 0x1011b27f
cmp dword [ebx + 0x1aec], esi
je 0x1011b278
cmp dword [ebx + 0x1ae0], esi
jne 0x1011b27f
cmp dword [ebx + 0x1b00], 3
jne 0x1011b27f
mov ch, 1
mov byte [ebp - 0x18], ch
jmp 0x1011b285
mov byte [ebp - 0x18], 0
xor ch, ch
mov byte [ebp - 0x20], 0
mov byte [ebp - 4], ch
mov dword [ebp - 0x24], 1
test cl, cl
jne 0x1011b2a7
test dl, dl
jne 0x1011b2a7
test ch, ch
jne 0x1011b2a7
mov byte [ebp - 5], cl
jmp 0x1011b48a
mov dword [ebp - 0x50], edi
mov cl, 1
mov byte [ebp - 5], cl
cmp eax, esi
je 0x1011b48a
mov ecx, dword [ebp + 0x10]
lea edi, [ebx + 0x1e08]
mov dword [ebp - 0x50], edi
mov dword [edi + 0xe60], 0xbe99999a
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1011b2d0
mov eax, dword [edi + 0x28]
sub ecx, edx
lea esi, [ecx + 1]
cmp esi, eax
jle 0x1011b30d
test eax, eax
je 0x1011b2f6
cdq
sub eax, edx
lea edx, [edi + 0x24]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x1011b2fe
mov ecx, 8
lea edx, [edi + 0x24]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.100c2b90
push esi
push dword [ebp + 0x10]
mov dword [edi + 0x24], esi
push dword [edi + 0x2c]
call fcn.101f5840
mov edx, dword [ebp + 0x14]
lea eax, [edi + 0xc]
mov esi, dword [eax + 4]
inc edx
add esp, 0xc
mov dword [ebp - 0x10], edx
cmp edx, esi
jle 0x1011b35f
test esi, esi
je 0x1011b344
mov eax, esi
cdq
sub eax, edx
mov edx, dword [ebp - 0x10]
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x1011b349
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [edi + 0xc]
push eax
call fcn.100c2c00
mov edx, dword [ebp - 0x10]
lea eax, [edi + 0xc]
mov dword [eax], edx
mov ecx, dword [edi + 0x1c]
test ecx, ecx
jns 0x1011b381
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.100c2b90
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 - 0x10], edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x1011b3ea
mov ebx, eax
cmp byte [ebx], 0
je 0x1011b3e1
push 0
mov edx, ebx
lea ecx, [ebp - 0x2c]
call fcn.100b2700
add ebx, eax
add esp, 4
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x1011b3de
cmp eax, 0xffff
ja 0x1011b3ce
mov word [esi], ax
add esi, 2
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp - 0x10]
dec eax
lea eax, [edx + eax*2]
cmp esi, eax
jb 0x1011b3a4
jmp 0x1011b3e1
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x1c], ebx
mov ebx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x1c]
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 - 0x38]
mov dword [edi + 4], esi
cmp dword [edi], eax
jne 0x1011b426
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 0x1011b46b
cmp byte [ebp - 2], cl
mov esi, eax
mov eax, dword [ebp - 0x18]
movzx eax, al
cmovne eax, dword [ebp - 0x24]
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 - 0x18], eax
cmp byte [ebp - 0xb], 0
mov dword [edi + 0x40], ecx
jne 0x1011b483
cmp byte [ebp - 8], 0
je 0x1011b487
cmp byte [ebx + 0x100], 0
je 0x1011b487
mov byte [ebp - 0x18], 1
mov cl, byte [ebp - 5]
cmp dword [ebx + 0x19ec], esi
je 0x1011b4d8
test cl, cl
je 0x1011b4d0
mov edx, dword [ebp - 0x34]
mov ecx, esi
call fcn.100b4f00
call fcn.100b4fe0
mov ecx, edx
call fcn.100bc880
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 0x1011b50b
test edi, edi
jne 0x1011b4e5
xor edx, edx
xor ecx, ecx
call fcn.100b4f00
cmp dword [ebx + 0x19ec], esi
jne 0x1011b50b
cmp byte [ebx + 0x3d8], 0
je 0x1011b507
mov eax, dword [ebp - 0x20]
cmp byte [ebp - 5], 0
movzx eax, al
cmove eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
mov cl, 1
jmp 0x1011b50d
xor cl, cl
mov byte [ebp - 5], cl
test edi, edi
je 0x1011b52a
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x1011b52a
test cl, cl
je 0x1011b52a
mov byte [ebp - 3], 1
mov byte [ebp - 6], 0
jmp 0x1011b545
mov byte [ebp - 6], 0
mov byte [ebp - 3], 0
test cl, cl
jne 0x1011b541
mov byte [ebp - 3], cl
cmp dword [ebx + 0x19ec], esi
jne 0x1011b54f
test edi, edi
je 0x1011b54f
cmp byte [edi + 0x30], 0
mov byte [ebp - 0x26], 1
jne 0x1011b553
mov byte [ebp - 0x26], 0
movss xmm0, dword [ebp - 0x48]
movss dword [ebp - 0x64], xmm0
cmp dword [ebx + 0x19ec], esi
jne 0x1011b849
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
cmp byte [ebx + 0xf0], 0
movss xmm2, dword [ebx + 0x18c4]
mulss xmm2, dword [0x102bd73c]
sete al
cmp byte [ebp - 0x18], 0
mov byte [ebx + 0x19f9], al
mov dword [ebx + 0x2f84], 1
movss xmm6, dword [ebx + 0xe8]
mov al, byte [ebx + 0xb1]
subss xmm6, xmm0
mov byte [ebp - 2], al
subss xmm6, dword [ebx + 0x1548]
addss xmm6, dword [edi + 0x38]
jne 0x1011b740
mov cl, byte [ebp - 7]
test cl, cl
je 0x1011b5fa
test al, al
jne 0x1011b65f
cmp byte [ebx + 0x3e2], al
jne 0x1011b740
cmp byte [ebx + 0x3d8], 0
je 0x1011b6b3
cmp byte [edi + 0xe65], 0
jne 0x1011b6b3
test cl, cl
je 0x1011b75e
cmp byte [edi + 0x4c], 0
je 0x1011b639
push 0
mov edx, edi
lea ecx, [ebp - 0x88]
call fcn.100d54a0
movss xmm2, dword [ebp - 0x7c]
add esp, 4
movaps xmm1, xmm6
mov ecx, edi
call fcn.100d57c0
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
jmp 0x1011b75b
cmp byte [ebx + 0x3e2], 0
je 0x1011b5fa
push 0x20000c
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100d5ba0
add esp, 4
mov byte [edi + 0xe64], 1
lea edx, [edi + 0x3c]
mov dword [edi + 0xe60], 0xbe99999a
mov ecx, edi
push 0x60000d
call fcn.100d5ba0
add esp, 4
mov byte [edi + 0xe64], 1
mov dword [edi + 0xe60], 0xbe99999a
jmp 0x1011b75b
cmp byte [ebx + 0xf0], 0
je 0x1011b75e
cmp byte [edi + 0xe65], 0
jne 0x1011b767
movss xmm0, dword [ebx + 0x378]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1011b6f2
movss xmm0, dword [ebx + 0x37c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1011b75e
cmp byte [edi + 0x4c], 0
je 0x1011b70f
push 0
mov edx, edi
lea ecx, [ebp - 0x88]
call fcn.100d54a0
movss xmm2, dword [ebp - 0x7c]
add esp, 4
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x1011b71d
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x40], eax
movaps xmm1, xmm6
mov ecx, edi
call fcn.100d57c0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0xe60], 0xbe99999a
mov byte [edi + 0xe64], 1
jmp 0x1011b75b
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
mov byte [edi + 0xe65], 1
mov al, byte [ebp - 2]
cmp byte [edi + 0xe65], 0
je 0x1011b777
cmp byte [ebx + 0xf0], 0
jne 0x1011b777
mov byte [edi + 0xe65], 0
cmp byte [ebx + 0x100], 0
je 0x1011b789
cmp byte [ebx + 0x102], 0
je 0x1011b796
test al, al
je 0x1011b79a
cmp byte [ebx + 0x103], 0
je 0x1011b79a
mov al, 1
jmp 0x1011b79c
xor al, al
cmp dword [ebx + 0x1500], 0
jle 0x1011b849
test al, al
jne 0x1011b819
cmp byte [ebp - 4], al
jne 0x1011b819
xor esi, esi
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [ebx + 0x1508]
movzx eax, word [eax + esi*2]
mov dword [ebp - 0x10], eax
cmp eax, 9
jne 0x1011b7db
cmp byte [ebx + 0x101], 0
jne 0x1011b810
sub esp, 8
lea ecx, [ebp - 0x10]
xor edx, edx
call fcn.100daf90
add esp, 8
test al, al
je 0x1011b810
push dword [ebp - 0x10]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100d5ba0
add esp, 4
mov byte [edi + 0xe64], 1
mov dword [edi + 0xe60], 0xbe99999a
inc esi
cmp esi, dword [ebx + 0x1500]
jl 0x1011b7c0
mov ecx, dword [ebx + 0x1504]
test ecx, ecx
jns 0x1011b83f
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, [ebx + 0x1500]
call fcn.100c2c00
mov dword [ebx + 0x1500], 0
mov eax, dword [ebp - 0x38]
xor cl, cl
mov byte [ebp - 1], cl
cmp dword [ebx + 0x19ec], eax
jne 0x1011c103
cmp byte [ebx + 0x19f8], cl
jne 0x1011bfc6
cmp byte [ebp - 0x20], cl
jne 0x1011bfc6
mov cl, byte [ebx + 0x101]
xor eax, eax
mov ch, byte [ebx + 0xb1]
test cl, cl
mov edx, 0x400000
mov byte [ebp - 0x11], ch
cmovne eax, edx
mov dword [ebp - 0x18], eax
test ch, ch
je 0x1011b8e1
cmp byte [ebx + 0x103], 0
je 0x1011b8ad
cmp byte [ebx + 0x100], 0
jne 0x1011b8ad
mov eax, 1
jmp 0x1011b8af
xor eax, eax
test eax, eax
jne 0x1011b8f3
xor dl, dl
mov byte [ebp - 2], dl
test ch, ch
je 0x1011b904
cmp byte [ebx + 0x103], 0
je 0x1011b904
test cl, cl
je 0x1011b904
cmp byte [ebx + 0x100], 0
jne 0x1011b904
cmp byte [ebx + 0x102], 0
jne 0x1011b904
mov byte [ebp - 8], 1
jmp 0x1011b90c
cmp byte [ebx + 0x100], 0
je 0x1011b8b3
cmp byte [ebx + 0x103], 0
jne 0x1011b8b3
cmp byte [ebx + 0x102], 0
jne 0x1011b8b3
test cl, cl
jne 0x1011b8b3
mov dl, 1
jmp 0x1011b8b5
mov byte [ebp - 8], 0
test ch, ch
je 0x1011b969
cmp byte [ebx + 0x103], 0
mov al, byte [ebx + 0x102]
mov byte [ebp - 9], al
je 0x1011b973
cmp byte [ebx + 0x100], 0
jne 0x1011b973
test al, al
jne 0x1011b973
mov cl, byte [ebx + 0x100]
mov byte [ebp - 0xa], 1
cmp byte [ebx + 0x101], 0
mov byte [ebp - 4], 0
je 0x1011b9bf
mov byte [ebp - 4], 0
test cl, cl
jne 0x1011b9bf
mov byte [ebp - 4], cl
cmp byte [ebx + 0x102], cl
jne 0x1011b9bf
mov byte [ebp - 4], cl
cmp byte [ebx + 0x103], cl
jne 0x1011b9bf
mov byte [ebp - 7], 1
mov byte [ebp - 4], cl
jmp 0x1011b9c3
mov al, byte [ebx + 0x100]
mov byte [ebp - 8], 0
mov cl, byte [ebx + 0x100]
mov byte [ebp - 9], al
mov byte [ebp - 0xa], 0
test cl, cl
je 0x1011b935
cmp byte [ebx + 0x101], 0
mov byte [ebp - 9], al
mov byte [ebp - 0xa], 0
jne 0x1011b935
cmp byte [ebx + 0x102], 0
mov byte [ebp - 9], al
mov byte [ebp - 0xa], 0
jne 0x1011b935
cmp byte [ebx + 0x103], 0
mov byte [ebp - 9], al
mov byte [ebp - 0xa], 0
jne 0x1011b935
mov byte [ebp - 4], 1
mov byte [ebp - 9], al
mov byte [ebp - 0xa], 0
mov byte [ebp - 7], 0
mov esi, dword [0x10378a34]
test dl, dl
je 0x1011b9e0
mov ecx, dword [esi + 0x80]
test ecx, ecx
js 0x1011b9e0
call fcn.100b78e0
test al, al
jne 0x1011b9f6
cmp byte [ebp - 7], 0
je 0x1011b9fc
mov ecx, dword [esi + 0x5c]
test ecx, ecx
js 0x1011b9fc
call fcn.100b78e0
test al, al
je 0x1011b9fc
mov byte [ebp - 0xb], 1
jmp 0x1011ba00
mov byte [ebp - 0xb], 0
cmp byte [ebp - 2], 0
je 0x1011ba16
mov ecx, dword [esi + 0x78]
test ecx, ecx
js 0x1011ba16
call fcn.100b78e0
test al, al
jne 0x1011ba2c
cmp byte [ebp - 4], 0
je 0x1011ba32
mov ecx, dword [esi + 0x58]
test ecx, ecx
js 0x1011ba32
call fcn.100b78e0
test al, al
je 0x1011ba32
mov byte [ebp - 4], 1
jmp 0x1011ba36
mov byte [ebp - 4], 0
cmp byte [ebp - 2], 0
je 0x1011ba4c
mov ecx, dword [esi + 0x7c]
test ecx, ecx
js 0x1011ba4c
call fcn.100b78e0
test al, al
jne 0x1011ba62
cmp byte [ebp - 7], 0
je 0x1011ba68
mov ecx, dword [esi + 0x58]
test ecx, ecx
js 0x1011ba68
call fcn.100b78e0
test al, al
je 0x1011ba68
mov byte [ebp - 0x25], 1
jmp 0x1011ba6c
mov byte [ebp - 0x25], 0
mov al, byte [ebp - 2]
test al, al
je 0x1011ba8f
mov ecx, dword [esi + 0x88]
test ecx, ecx
js 0x1011ba8f
call fcn.100b78e0
test al, al
je 0x1011ba8c
mov byte [ebp - 7], 1
jmp 0x1011ba97
mov al, byte [ebp - 2]
mov byte [ebp - 7], 0
test al, al
je 0x1011baaa
mov ecx, dword [esi + 0x84]
test ecx, ecx
js 0x1011baaa
call fcn.100b78e0
test al, al
jne 0x1011bac3
cmp byte [ebp - 8], 0
je 0x1011bac9
mov ecx, dword [esi + 0x88]
test ecx, ecx
js 0x1011bac9
call fcn.100b78e0
test al, al
je 0x1011bac9
mov byte [ebp - 8], 1
jmp 0x1011bacd
mov byte [ebp - 8], 0
mov ecx, dword [esi + 0x38]
test ecx, ecx
js 0x1011bb10
call fcn.100b78e0
test al, al
je 0x1011bb10
cmp byte [ebp - 0xa], 0
je 0x1011baea
mov ecx, 0x200004
jmp 0x1011bafb
mov ecx, 0x200000
mov eax, 0x20000c
cmp byte [ebp - 9], 0
cmovne ecx, eax
mov eax, dword [ebp - 0x18]
lea edx, [edi + 0x3c]
or eax, ecx
mov ecx, edi
push eax
call fcn.100d5ba0
jmp 0x1011bf95
mov ecx, dword [esi + 0x3c]
test ecx, ecx
js 0x1011bb37
call fcn.100b78e0
test al, al
je 0x1011bb37
cmp byte [ebp - 0xa], 0
je 0x1011bb2d
mov ecx, 0x200005
jmp 0x1011bafb
mov ecx, 0x200001
lea eax, [ecx + 0xc]
jmp 0x1011baf4
mov ecx, dword [esi + 0x50]
test ecx, ecx
js 0x1011bb71
call fcn.100b78e0
test al, al
je 0x1011bb71
mov ecx, dword [ebp - 0x18]
lea edx, [edi + 0x3c]
mov eax, ecx
or ecx, 0x200004
or eax, 0x200006
cmp byte [ebx + 0x100], 0
cmovne ecx, eax
push ecx
mov ecx, edi
call fcn.100d5ba0
jmp 0x1011bf95
mov ecx, dword [esi + 0x54]
test ecx, ecx
js 0x1011bbab
call fcn.100b78e0
test al, al
je 0x1011bbab
mov ecx, dword [ebp - 0x18]
lea edx, [edi + 0x3c]
mov eax, ecx
or ecx, 0x200005
or eax, 0x200007
cmp byte [ebx + 0x100], 0
cmovne ecx, eax
push ecx
mov ecx, edi
call fcn.100d5ba0
jmp 0x1011bf95
mov ecx, dword [esi + 0x5c]
test ecx, ecx
js 0x1011bbd3
call fcn.100b78e0
test al, al
je 0x1011bbd3
mov eax, dword [ebp - 0x18]
lea edx, [edi + 0x3c]
or eax, 0x200008
mov ecx, edi
push eax
call fcn.100d5ba0
jmp 0x1011bf95
mov ecx, dword [esi + 0x60]
test ecx, ecx
js 0x1011bc54
call fcn.100b78e0
test al, al
je 0x1011bc54
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x1011bc3c
cmp byte [ebp - 9], 0
je 0x1011bbf8
push 0x60000c
jmp 0x1011bc1e
cmp byte [ebp - 0x11], 0
je 0x1011bc3c
cmp byte [ebx + 0x103], 0
je 0x1011bc3c
cmp byte [ebx + 0x102], 0
jne 0x1011bc3c
cmp byte [ebx + 0x100], 0
jne 0x1011bc3c
push 0x600004
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100d5ba0
mov dword [edi + 0xe60], 0xbe99999a
add esp, 4
mov byte [edi + 0xe64], 1
mov eax, dword [ebp - 0x18]
lea edx, [edi + 0x3c]
or eax, 0x200009
mov ecx, edi
push eax
call fcn.100d5ba0
jmp 0x1011bf95
mov ecx, dword [esi + 0x68]
test ecx, ecx
js 0x1011bc64
call fcn.100b78e0
test al, al
jne 0x1011bc74
mov ecx, dword [esi + 0x70]
test ecx, ecx
js 0x1011bc7d
call fcn.100b78e0
test al, al
je 0x1011bc7d
mov byte [ebp - 0x20], 1
jmp 0x1011bfa9
mov ecx, dword [esi + 0x6c]
test ecx, ecx
js 0x1011bc97
call fcn.100b78e0
test al, al
je 0x1011bc97
mov cl, 1
mov byte [ebp - 0x20], cl
jmp 0x1011bfac
mov al, byte [ebp - 7]
test al, al
jne 0x1011bf76
cmp byte [ebp - 8], al
jne 0x1011bf76
cmp byte [ebp - 2], al
je 0x1011bcd9
mov ecx, dword [esi + 0x74]
test ecx, ecx
js 0x1011bcd9
call fcn.100b78e0
test al, al
je 0x1011bcd9
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 0x1011bfa2
mov al, byte [ebp - 0xb]
test al, al
jne 0x1011be74
cmp byte [ebp - 4], al
jne 0x1011be74
cmp byte [ebp - 0x25], al
je 0x1011bfa9
mov eax, dword [esi + 0xd0]
test eax, eax
je 0x1011bd1e
push dword [esi + 0xd8]
call eax
add esp, 4
mov dword [ebp - 0x10], eax
test eax, eax
je 0x1011bfa9
mov esi, dword [0x10378a34]
jmp 0x1011bd26
mov eax, 0x102b6628
mov dword [ebp - 0x10], eax
mov ecx, eax
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1011bd30
sub ecx, edx
test esi, esi
je 0x1011bd43
inc dword [esi + 0x374]
lea eax, [ecx*2 + 2]
push eax
call fcn.101ff682
mov esi, dword [ebp - 0x10]
add esp, 4
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x24], 0
cmp byte [esi], 0
je 0x1011bdb5
xor ebx, ebx
mov edi, eax
nop dword [eax]
push 0
mov edx, esi
lea ecx, [ebp - 0x1c]
call fcn.100b2700
add esp, 4
add esi, eax
cmp dword [ebp - 0x1c], 0
je 0x1011bda9
sub esp, 8
lea ecx, [ebp - 0x1c]
xor edx, edx
call fcn.100daf90
add esp, 8
test al, al
je 0x1011bda4
mov ax, word [ebp - 0x1c]
mov word [edi + ebx*2], ax
inc ebx
cmp byte [esi], 0
jne 0x1011bd70
mov edi, dword [ebp - 0x50]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x24], ebx
mov ebx, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x24]
xor ecx, ecx
mov word [eax + esi*2], cx
test esi, esi
jle 0x1011be52
mov edx, dword [edi + 0x44]
mov ecx, dword [edi + 4]
mov dword [ebp - 0x10], edx
mov edx, dword [edi + 0x40]
cmp edx, dword [edi + 0x44]
je 0x1011bdf3
cmp edx, ecx
jle 0x1011bde0
mov dword [edi + 0x40], ecx
mov edx, ecx
cmp dword [edi + 0x44], ecx
jle 0x1011bdeb
mov dword [edi + 0x44], ecx
mov dword [ebp - 0x10], ecx
cmp edx, dword [ebp - 0x10]
jne 0x1011bdf3
mov dword [edi + 0x3c], edx
cmp dword [edi + 0x3c], ecx
jle 0x1011bdfb
mov dword [edi + 0x3c], ecx
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.1011ae80
mov edx, dword [edi + 0x3c]
mov ecx, edi
push esi
push dword [ebp - 0x30]
call fcn.100d5670
add esp, 8
test al, al
je 0x1011be34
mov edx, dword [edi + 0x3c]
lea ecx, [edi + 0x54]
push esi
push 0
call fcn.100d69d0
add esp, 8
mov byte [edi + 0x4b], 0
add dword [edi + 0x3c], esi
jmp 0x1011be48
movzx eax, word [edi + 0xe52]
test ax, ax
je 0x1011be48
dec eax
mov word [edi + 0xe52], ax
mov eax, dword [ebp - 0x30]
mov byte [edi + 0xe64], 1
test eax, eax
je 0x1011be66
mov ecx, dword [0x10378a34]
test ecx, ecx
je 0x1011be66
dec dword [ecx + 0x374]
push eax
call fcn.101feb05
add esp, 4
jmp 0x1011bfa9
cmp dword [ebx + 0xd4], 0
je 0x1011bf37
mov ecx, dword [edi + 0x44]
mov eax, dword [edi + 0x40]
cmp eax, ecx
je 0x1011be98
mov edx, ecx
cmovge ecx, eax
cmovl edx, eax
mov dword [ebp - 0x1c], edx
jmp 0x1011bea2
mov ecx, dword [edi + 4]
mov dword [ebp - 0x1c], 0
mov al, byte [ebp - 3]
mov byte [ebp - 3], al
mov al, byte [ebp - 6]
mov byte [ebp - 6], al
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x10], ecx
lea edx, [eax + ecx*2]
mov ecx, dword [ebp - 0x1c]
lea ecx, [eax + ecx*2]
call fcn.100b29c0
inc eax
mov dword [ebp - 0x24], eax
test esi, esi
je 0x1011bed0
inc dword [esi + 0x374]
push eax
call fcn.101ff682
mov esi, dword [edi + 0x14]
add esp, 4
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1c]
lea ecx, [esi + ecx*2]
push ecx
lea ecx, [esi + eax*2]
mov esi, dword [ebp - 0x2c]
push ecx
mov ecx, esi
call fcn.100b2890
mov eax, dword [0x10378a34]
add esp, 8
mov ecx, dword [eax + 0xd4]
test ecx, ecx
je 0x1011bf1d
push esi
push dword [eax + 0xd8]
call ecx
mov eax, dword [0x10378a34]
add esp, 8
test esi, esi
je 0x1011bf2b
test eax, eax
je 0x1011bf2b
dec dword [eax + 0x374]
push esi
call fcn.101feb05
mov al, byte [ebp - 0xb]
add esp, 4
test al, al
je 0x1011bfa9
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x1011bf57
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
mov byte [edi + 0xe64], 1
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x1011bfa9
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.1011ae80
mov byte [edi + 0x4b], 0
jmp 0x1011bfa9
movzx eax, al
lea edx, [edi + 0x3c]
xor eax, 1
mov ecx, edi
add eax, 0x20000a
push eax
call fcn.100d5ba0
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 0x1011bfbe
cmp byte [ebp - 5], 0
je 0x1011bfbe
mov al, 1
jmp 0x1011bfc0
xor al, al
or byte [ebp - 3], al
mov eax, dword [ebp - 0x38]
cmp dword [ebx + 0x19ec], eax
jne 0x1011c103
test cl, cl
je 0x1011c016
mov esi, dword [edi + 0x2c]
mov ecx, esi
mov eax, dword [ebp + 0x10]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1011c000
test dl, dl
je 0x1011bffc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1011c000
add eax, 2
add ecx, 2
test dl, dl
jne 0x1011bfe0
xor eax, eax
jmp 0x1011c005
sbb eax, eax
or eax, 1
test eax, eax
je 0x1011c0e2
mov eax, dword [edi + 0x24]
dec eax
jmp 0x1011c0ac
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 0x1011c05b
test eax, eax
je 0x1011c041
cdq
sub eax, edx
lea edx, [edi + 0x18]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x1011c049
mov ecx, 8
lea edx, [edi + 0x18]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.100c2b90
lea ecx, [edi + 0x18]
mov dword [ecx], esi
mov edx, esi
mov ecx, dword [edi + 0x20]
push 0
push dword [edi + 0x14]
call fcn.100b2890
mov esi, dword [edi + 0x20]
add esp, 8
mov ecx, dword [ebp + 0x10]
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1011c097
test dl, dl
je 0x1011c093
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1011c097
add eax, 2
add ecx, 2
test dl, dl
jne 0x1011c077
xor eax, eax
jmp 0x1011c09c
sbb eax, eax
or eax, 1
mov cl, byte [ebp - 6]
mov byte [ebp - 6], cl
test eax, eax
je 0x1011c0e2
mov eax, dword [edi + 8]
mov byte [ebp - 6], cl
test esi, esi
je 0x1011c0e2
mov ecx, dword [ebp + 0x14]
inc eax
cmp eax, ecx
cmovl ecx, eax
mov dword [ebp + 0x14], ecx
cmp ecx, 1
jb 0x1011c0de
jbe 0x1011c0d6
lea eax, [ecx - 1]
push eax
push esi
push dword [ebp + 0x10]
call fcn.102008b0
mov ecx, dword [ebp + 0x14]
add esp, 0xc
mov eax, dword [ebp + 0x10]
mov byte [ecx + eax - 1], 0
mov byte [ebp - 6], 1
mov eax, dword [ebp - 0x38]
mov dword [edi + 0xe68], 0
mov dword [edi + 0xe6c], 0
mov dword [edi + 0xe70], 0
cmp byte [ebp - 0x20], 0
je 0x1011c11a
cmp dword [ebx + 0x19ec], eax
jne 0x1011c11a
xor edx, edx
xor ecx, ecx
call fcn.100b4f00
mov eax, dword [ebp + 8]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + eax], 0
jne 0x1011c124
xor edx, edx
test ecx, ecx
je 0x1011c145
movsx eax, byte [edx + eax]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
mov eax, dword [ebp + 8]
cmp edx, ecx
jb 0x1011c131
lea eax, [esi - 0x2df58e5a]
mov ecx, 0x1109797c
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0xa8]
push eax
call fcn.101113a0
cmp byte [ebp - 5], 0
jne 0x1011c173
cmp byte [ebp - 3], 0
jne 0x1011c173
xorps xmm1, xmm1
jmp 0x1011c17b
movss xmm1, dword [0x102bd7ac]
movss xmm0, dword [eax + 4]
lea esi, [eax + 4]
mov eax, dword [0x103bfe2c]
add eax, 0x9783d53e
xor eax, 0x6794d44c
movss xmm2, dword [eax + 4]
mulss xmm2, dword [0x102bd87c]
call fcn.1003d480
movss xmm6, dword [0x102bd7ac]
lea ecx, [ebp + 0x14]
xorps xmm4, xmm4
movss dword [esi], xmm0
comiss xmm0, xmm4
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 0x3f800000
mov dword [ebp + 0x14], 0
mov dword [ebp - 0x24], 0xff
movss xmm5, dword [0x102bda54]
movss xmm7, dword [0x102bd73c]
cmovae ecx, esi
comiss xmm6, xmm0
cmovae eax, ecx
lea ecx, [ebp + 0x14]
movss xmm1, dword [eax]
lea eax, [ebp - 0x10]
movaps xmm0, xmm1
movss dword [esi], xmm1
mulss xmm1, dword [0x102bd920]
mov dword [ebp + 0x14], 0
mulss xmm0, dword [0x102bd93c]
addss xmm1, dword [0x102bd9ac]
cvttss2si ebx, xmm0
mulss xmm1, dword [ebp - 0x70]
cvttss2si edx, xmm1
test edx, edx
mov dword [ebp - 0x10], 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 [0x102bd644]
cvtdq2ps xmm3, xmm3
comiss xmm4, xmm2
mulss xmm3, dword [0x102bd644]
jbe 0x1011c26d
xor ecx, ecx
xorps xmm2, xmm2
jmp 0x1011c29f
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 0x1011c2b7
xorps xmm3, xmm3
jmp 0x1011c2bb
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 [0x11096f04]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.100cd700
cmp byte [ebp - 0x26], 0
movss xmm2, dword [ebp - 0x48]
movss xmm0, dword [ebp - 0x54]
movss xmm1, dword [ebp - 0x44]
addss xmm0, xmm2
movss dword [ebp - 0x18], xmm1
movss dword [ebp - 0x9c], xmm1
movss dword [ebp - 0xa0], xmm2
movss dword [ebp - 0x30], xmm0
movss dword [ebp - 0x98], xmm0
movaps xmm0, xmm1
addss xmm0, dword [ebp - 0x58]
addss xmm1, dword [0x102bd88c]
movss dword [ebp - 0x68], xmm0
movss dword [ebp - 0x94], xmm0
movaps xmm0, xmm2
addss xmm0, dword [0x102bd8a4]
movss dword [ebp - 0x24], xmm1
movss dword [ebp - 0x5c], xmm1
movss dword [ebp - 0x58], xmm0
movss dword [ebp - 0x60], xmm0
je 0x1011c369
mov edx, dword [edi + 0x20]
mov dword [ebp + 0x10], edx
jmp 0x1011c36c
mov edx, dword [ebp + 0x10]
mov ch, byte [ebp - 5]
mov cl, byte [ebp - 3]
test ch, ch
jne 0x1011c407
test cl, cl
jne 0x1011c407
mov ebx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x38]
cmp dword [ebx + 0x19ec], eax
jne 0x1011c397
mov esi, dword [edi + 8]
add esi, edx
jmp 0x1011c3af
mov ecx, edx
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1011c3a0
sub ecx, edx
mov edx, dword [ebp + 0x10]
lea esi, [edx + ecx]
mov eax, esi
mov dword [ebp - 0x1c], esi
sub eax, edx
cmp eax, 0x200000
jge 0x1011cc74
movss xmm1, dword [0x102bd7ac]
lea eax, [ebp - 0xa0]
push eax
push ecx
mov dword [esp], 0
xor ecx, ecx
push esi
push edx
call fcn.100b3000
movss xmm2, dword [ebx + 0x18c4]
push eax
lea eax, [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x34]
push dword [ebx + 0x18c0]
mov ecx, dword [eax + 0x284]
call fcn.100cdc10
jmp 0x1011cc74
mov eax, dword [edi + 8]
mov ebx, 0xfffffc18
add eax, edx
mov dword [ebp - 0x2c], 0
xor edx, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [edi + 0x14]
xorps xmm7, xmm7
mov dword [ebp - 0x20], 0
xorps xmm6, xmm6
mov dword [ebp - 0x4c], ebx
xorps xmm4, xmm4
mov dword [ebp + 0x14], ebx
test ch, ch
je 0x1011c451
mov esi, dword [edi + 0x14]
or ebx, 0xffffffff
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0x4c], ebx
lea edx, [ebx + 2]
lea eax, [esi + eax*2]
mov dword [ebp - 0x2c], eax
mov eax, esi
test cl, cl
je 0x1011c470
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 - 0x20], ecx
mov ecx, eax
xor esi, esi
movzx eax, word [eax]
test ax, ax
je 0x1011c4c3
mov edi, dword [ebp - 0x4c]
mov ebx, eax
cmp bx, 0xa
jne 0x1011c4ac
inc esi
cmp edi, 0xffffffff
jne 0x1011c499
cmp ecx, dword [ebp - 0x2c]
jb 0x1011c499
dec edx
mov edi, esi
test edx, edx
jle 0x1011c4ba
cmp dword [ebp + 0x14], 0xffffffff
jne 0x1011c4ac
cmp ecx, dword [ebp - 0x20]
jb 0x1011c4ac
dec edx
mov dword [ebp + 0x14], esi
test edx, edx
jle 0x1011c4ba
movzx eax, word [ecx + 2]
add ecx, 2
mov ebx, eax
test ax, ax
jne 0x1011c481
mov dword [ebp - 0x4c], edi
mov edi, dword [ebp - 0x50]
mov ebx, dword [ebp - 0x4c]
mov edx, dword [edi + 0x14]
inc esi
cmp ebx, 0xffffffff
mov eax, esi
cmovne eax, ebx
mov ebx, dword [ebp - 0x2c]
mov dword [ebp - 0x10], eax
mov ecx, ebx
mov eax, dword [ebp + 0x14]
cmp eax, 0xffffffff
cmove eax, esi
mov dword [ebp + 0x14], eax
cmp ebx, edx
jbe 0x1011c4f5
cmp word [ecx - 2], 0xa
je 0x1011c4f5
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x1011c4e7
mov eax, dword [0x10378a34]
movaps xmm2, xmm7
movaps xmm5, xmm7
mov esi, dword [eax + 0x18c0]
movss xmm3, dword [eax + 0x18c4]
divss xmm3, dword [esi + 0x10]
cmp ecx, ebx
jae 0x1011c55c
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x1011c530
maxss xmm5, xmm2
movaps xmm2, xmm5
movaps xmm5, xmm7
jmp 0x1011c555
cmp edx, 0xd
je 0x1011c555
mov edx, eax
cmp edx, dword [esi]
jge 0x1011c545
mov eax, dword [esi + 8]
movss xmm1, dword [eax + edx*4]
jmp 0x1011c54a
movss xmm1, dword [esi + 0xc]
movaps xmm0, xmm3
mulss xmm0, xmm1
addss xmm5, xmm0
cmp ecx, ebx
jb 0x1011c517
mov edx, dword [edi + 0x14]
cmp dword [ebp + 0x14], 0
maxss xmm5, xmm2
movd xmm0, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x6c]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x4c], xmm5
mulss xmm0, dword [ebx + 0x18c4]
movss dword [ebp - 0x10], xmm0
jl 0x1011c61d
mov eax, dword [ebp - 0x20]
mov ecx, eax
cmp eax, edx
jbe 0x1011c5a1
cmp word [ecx - 2], 0xa
je 0x1011c59e
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x1011c590
mov eax, dword [ebp - 0x20]
mov edx, dword [0x10378a34]
movaps xmm1, xmm7
movaps xmm4, xmm7
mov esi, dword [edx + 0x18c0]
movss xmm2, dword [edx + 0x18c4]
divss xmm2, dword [esi + 0x10]
cmp ecx, eax
jae 0x1011c609
mov edi, dword [ebp - 0x20]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x1011c5e0
maxss xmm4, xmm1
movaps xmm1, xmm4
movaps xmm4, xmm7
jmp 0x1011c602
cmp edx, 0xd
je 0x1011c602
mov edx, eax
cmp edx, dword [esi]
jge 0x1011c5f5
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x1011c5fa
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm2
addss xmm4, xmm0
cmp ecx, edi
jb 0x1011c5c7
mov edi, dword [ebp - 0x50]
movd xmm6, dword [ebp + 0x14]
maxss xmm4, xmm1
cvtdq2ps xmm6, xmm6
mulss xmm6, dword [ebx + 0x18c4]
cmp byte [ebp - 5], 0
je 0x1011c67b
cmp byte [edi + 0xe64], 0
je 0x1011c67b
movss xmm3, dword [ebp - 0x54]
movaps xmm0, xmm5
movss xmm2, dword [edi + 0x38]
movaps xmm1, xmm3
comiss xmm2, xmm5
mulss xmm1, dword [0x102bd6f8]
jbe 0x1011c657
subss xmm0, xmm1
maxss xmm0, xmm7
cvttss2si eax, xmm0
jmp 0x1011c668
subss xmm0, xmm3
comiss xmm0, xmm2
jb 0x1011c674
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 - 3], 0
movss xmm2, dword [edi + 0x38]
movss dword [ebp - 0x2c], xmm2
je 0x1011c92b
mov ecx, dword [edi + 0x40]
mov edx, dword [edi + 0x44]
mov eax, edx
mov esi, dword [edi + 0x14]
cmp ecx, edx
movss xmm0, dword [ebp - 0x70]
mulss xmm0, dword [0x102bd920]
cmovl eax, ecx
cmovge edx, ecx
mov dword [ebp - 0x3c], 0xff
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x54], 0
lea esi, [esi + eax*2]
mov eax, dword [edi + 0x14]
lea eax, [eax + edx*2]
cvttss2si edx, xmm0
mov dword [ebp + 0x14], eax
lea eax, [ebp - 0x20]
test edx, edx
mov dword [ebp - 0x20], 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 [0x102bd644]
comiss xmm7, xmm0
jbe 0x1011c703
movaps xmm0, xmm7
jmp 0x1011c70b
minss xmm0, dword [0x102bd7ac]
mulss xmm0, dword [0x102bda54]
mov ecx, dword [ebp + 0x14]
addss xmm4, dword [ebp - 0x58]
addss xmm6, dword [ebp - 0x24]
addss xmm0, dword [0x102bd73c]
subss xmm4, xmm2
movss dword [ebp - 0x54], xmm6
cvttss2si eax, xmm0
shl eax, 0x18
or eax, 0xd9d9d9
mov dword [ebp - 0x3c], eax
cmp esi, ecx
jae 0x1011c92b
movss xmm1, dword [ebp - 0x68]
mov edi, eax
nop
movaps xmm0, xmm1
addss xmm0, dword [ebx + 0x18c4]
comiss xmm6, xmm0
ja 0x1011c923
movss xmm0, dword [ebp - 0x18]
comiss xmm0, xmm6
jbe 0x1011c78f
cmp esi, ecx
jae 0x1011c904
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x1011c904
cmp esi, ecx
jb 0x1011c776
jmp 0x1011c923
mov eax, dword [0x10378a34]
movaps xmm5, xmm7
movaps xmm3, xmm7
mov edx, dword [eax + 0x18c0]
movss xmm2, dword [eax + 0x18c4]
divss xmm2, dword [edx + 0x10]
cmp esi, ecx
jae 0x1011c7f7
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x1011c7ea
cmp ecx, 0xd
je 0x1011c7e1
cmp ecx, dword [edx]
jge 0x1011c7d1
mov eax, dword [edx + 8]
movss xmm1, dword [eax + ecx*4]
jmp 0x1011c7d6
movss xmm1, dword [edx + 0xc]
movaps xmm0, xmm2
mulss xmm0, xmm1
addss xmm3, xmm0
mov ecx, dword [ebp + 0x14]
cmp esi, ecx
jb 0x1011c7b1
jmp 0x1011c7f7
mov ecx, dword [ebp + 0x14]
movaps xmm5, xmm3
maxss xmm5, xmm7
movaps xmm3, xmm7
maxss xmm3, xmm5
comiss xmm7, xmm3
jb 0x1011c830
mov eax, dword [ebx + 0x18c0]
cmp dword [eax], 0x20
jle 0x1011c818
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x1011c81d
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x102bd73c]
cvttss2si eax, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
movss xmm0, dword [ebx + 0x18c4]
addss xmm3, xmm4
addss xmm0, dword [0x102bd7ac]
movss xmm5, dword [ebp - 0x18]
movaps xmm1, xmm6
maxss xmm4, dword [ebp - 0x64]
movaps xmm2, xmm6
addss xmm2, dword [0x102bd800]
minss xmm3, dword [ebp - 0x30]
subss xmm1, xmm0
movss dword [ebp - 0x48], xmm4
movss dword [ebp - 0x40], xmm3
maxss xmm5, xmm1
movss xmm1, dword [ebp - 0x68]
movaps xmm0, xmm1
minss xmm0, xmm2
movss dword [ebp - 0x44], xmm5
comiss xmm0, dword [ebp - 0x18]
movss dword [ebp - 0x3c], xmm0
jbe 0x1011c904
comiss xmm1, xmm5
jbe 0x1011c904
comiss xmm3, dword [ebp - 0x64]
jbe 0x1011c904
movss xmm0, dword [ebp - 0x30]
comiss xmm0, xmm4
jbe 0x1011c904
push 0xf
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x40]
push edi
push eax
lea eax, [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x284]
call fcn.100cd700
movss xmm0, dword [ebp - 0x98]
xorps xmm7, xmm7
movss xmm1, dword [ebp - 0x94]
movss xmm6, dword [ebp - 0x54]
mov ecx, dword [ebp + 0x14]
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [ebp - 0x9c]
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [ebp - 0xa0]
movss dword [ebp - 0x68], xmm1
movss dword [ebp - 0x64], xmm0
movss xmm4, dword [ebp - 0x58]
addss xmm6, dword [ebx + 0x18c4]
subss xmm4, dword [ebp - 0x2c]
movss dword [ebp - 0x54], xmm6
cmp esi, ecx
jb 0x1011c750
movss xmm2, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x50]
mov esi, dword [ebp - 0x1c]
mov eax, esi
mov edx, dword [ebp + 0x10]
sub eax, edx
cmp eax, 0x200000
jge 0x1011ca78
mov eax, dword [0x10378a34]
movss xmm4, dword [0x102bd7ac]
movups xmm0, xmmword [eax + 0x15c0]
comiss xmm7, xmm0
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xff
mulss xmm1, dword [eax + 0x1510]
movups xmmword [ebp - 0x80], xmm0
jbe 0x1011c971
movaps xmm0, xmm7
jmp 0x1011c975
minss xmm0, xmm4
movss xmm3, dword [0x102bda54]
movss xmm5, dword [0x102bd73c]
mulss xmm0, xmm3
addss xmm0, xmm5
cvttss2si ecx, xmm0
movss xmm0, dword [ebp - 0x7c]
shl ecx, 0x10
comiss xmm7, xmm0
jbe 0x1011c9a3
movaps xmm0, xmm7
jmp 0x1011c9a7
minss xmm0, xmm4
mulss xmm0, xmm3
addss xmm0, xmm5
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x78]
shl eax, 8
or ecx, eax
comiss xmm7, xmm0
jbe 0x1011c9c7
movaps xmm0, xmm7
jmp 0x1011c9cb
minss xmm0, xmm4
mulss xmm0, xmm3
addss xmm0, xmm5
cvttss2si eax, xmm0
or ecx, eax
comiss xmm7, xmm1
jbe 0x1011c9e3
movaps xmm1, xmm7
jmp 0x1011c9e7
minss xmm1, xmm4
movss xmm0, dword [ebp - 0x58]
lea eax, [ebp - 0xa0]
mulss xmm1, xmm3
subss xmm0, xmm2
push eax
movss xmm2, dword [ebx + 0x18c4]
push ecx
addss xmm1, xmm5
mov dword [esp], 0
push esi
mov esi, dword [ebp - 0x34]
push edx
movss dword [ebp - 0x40], xmm0
movss xmm0, dword [ebp - 0x24]
cvttss2si eax, xmm1
movss dword [ebp - 0x3c], xmm0
shl eax, 0x18
or eax, ecx
mov ecx, dword [esi + 0x284]
push eax
lea eax, [ebp - 0x40]
push eax
push dword [ebx + 0x18c0]
call fcn.100cdc10
movss xmm0, dword [ebp - 0x94]
movss dword [ebp - 0x68], xmm0
movss xmm0, dword [ebp - 0x98]
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [ebp - 0x9c]
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [ebp - 0xa0]
movss dword [ebp - 0x64], xmm0
jmp 0x1011ca7b
mov esi, dword [ebp - 0x34]
cmp byte [ebp - 5], 0
je 0x1011cc74
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 0x1011cad3
xorps xmm1, xmm1
comiss xmm1, xmm0
jae 0x1011cad3
fld dword [ebp + 0x14]
fld dword [0x102bd7bc]
call fcn.1021f3d0
movss xmm0, dword [0x102bd77c]
fstp dword [ebp + 0x14]
comiss xmm0, dword [ebp + 0x14]
jae 0x1011cad3
xor al, al
jmp 0x1011cad5
mov al, 1
movss xmm5, dword [ebp - 0x10]
movss xmm3, dword [ebp - 0x4c]
movss xmm7, dword [0x102bd73c]
movss xmm6, dword [0x102bd7ac]
addss xmm5, dword [ebp - 0x24]
addss xmm3, dword [ebp - 0x58]
movss dword [ebp - 0x10], xmm5
movaps xmm0, xmm5
movaps xmm2, xmm5
subss xmm3, dword [ebp - 0x2c]
subss xmm0, dword [ebx + 0x18c4]
subss xmm2, dword [0x102bd7c8]
movss dword [ebp - 0x4c], 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 0x1011cc58
comiss xmm2, dword [ebp - 0x18]
jbe 0x1011cc58
movss xmm4, dword [ebp - 0x68]
comiss xmm4, xmm0
jbe 0x1011cc58
comiss xmm1, dword [ebp - 0x64]
jbe 0x1011cc58
movss xmm0, dword [ebp - 0x30]
comiss xmm0, xmm3
jbe 0x1011cc58
mov eax, dword [0x10378a34]
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 - 0x48], xmm1
jbe 0x1011cba1
xorps xmm1, xmm1
jmp 0x1011cba5
minss xmm1, xmm6
movss xmm5, dword [0x102bda54]
mulss xmm1, xmm5
addss xmm1, xmm7
cvttss2si ecx, xmm1
movss xmm1, dword [ebp - 0x44]
shl ecx, 0x10
comiss xmm4, xmm1
jbe 0x1011cbcb
xorps xmm1, xmm1
jmp 0x1011cbcf
minss xmm1, xmm6
mulss xmm1, xmm5
addss xmm1, xmm7
cvttss2si eax, xmm1
movss xmm1, dword [ebp - 0x40]
shl eax, 8
or ecx, eax
comiss xmm4, xmm1
jbe 0x1011cbef
xorps xmm1, xmm1
jmp 0x1011cbf3
minss xmm1, xmm6
mulss xmm1, xmm5
addss xmm1, xmm7
cvttss2si eax, xmm1
or ecx, eax
comiss xmm4, xmm0
jbe 0x1011cc0b
xorps xmm0, xmm0
jmp 0x1011cc0f
minss xmm0, xmm6
mulss xmm0, xmm5
push ecx
mov dword [esp], 0x3f800000
movss dword [ebp - 0x40], xmm3
addss xmm0, xmm7
movss dword [ebp - 0x3c], xmm2
cvttss2si eax, xmm0
shl eax, 0x18
or eax, ecx
mov ecx, dword [esi + 0x284]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.100cd3e0
movss xmm3, dword [ebp - 0x4c]
movss xmm5, dword [ebp - 0x10]
movss xmm6, dword [0x102bd7ac]
subss xmm5, dword [ebx + 0x18c4]
subss xmm3, xmm6
movss dword [ebx + 0x2d28], xmm5
movss dword [ebx + 0x2d24], xmm3
mov edi, dword [ebp + 8]
mov ecx, 0x811c9dc5
xor edx, edx
nop
inc edx
cmp byte [edx + edi], 0
jne 0x1011cc80
xor esi, esi
test edx, edx
je 0x1011cca1
nop dword [eax]
movsx eax, byte [esi + edi]
inc esi
xor eax, ecx
imul ecx, eax, 0x1000193
cmp esi, edx
jb 0x1011cc90
lea eax, [ebp + 0x14]
mov dword [ebp + 0x14], ecx
push eax
mov ecx, 0x1109797c
call fcn.101113a0
movss xmm3, dword [ebp - 0x8c]
lea ecx, [ebp - 0x80]
movss xmm2, dword [ebp - 0x90]
mov esi, eax
mov eax, dword [ebp + 0x18]
movaps xmm1, xmm3
mov edx, dword [ebp - 0x38]
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.100b5400
mov ecx, dword [0x103bfe2c]
add esi, 4
add ecx, 0x9783d53e
movzx eax, al
xor ecx, 0x6794d44c
movss xmm0, dword [esi]
movd xmm1, eax
movss xmm2, dword [ecx + 4]
mulss xmm2, dword [0x102bd87c]
cvtdq2ps xmm1, xmm1
call fcn.1003d480
movss xmm6, dword [0x102bd7ac]
lea ecx, [ebp + 8]
xorps xmm4, xmm4
movss dword [esi], xmm0
comiss xmm0, xmm4
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x3c], 0x3f800000
mov dword [ebp + 8], 0
mov bl, 0xd9
movss xmm5, dword [0x102bda54]
movss xmm7, dword [0x102bd73c]
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 [0x102bd920]
mov dword [ebp - 0x3c], 0xff
mulss xmm0, dword [0x102bdb74]
mov dword [ebp + 0x14], 0
addss xmm1, dword [0x102bd8d4]
cvttss2si eax, xmm0
mulss xmm1, dword [ebp - 0x70]
sub bl, al
lea eax, [ebp + 8]
cvttss2si edx, xmm1
test edx, edx
mov dword [ebp + 8], 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 [0x102bd644]
cvtdq2ps xmm3, xmm3
comiss xmm4, xmm2
mulss xmm3, dword [0x102bd644]
jbe 0x1011cdf7
xor ecx, ecx
xorps xmm2, xmm2
jmp 0x1011ce29
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 0x1011ce41
xorps xmm3, xmm3
jmp 0x1011ce45
minss xmm3, xmm6
mov eax, dword [ebp + 0x18]
movss xmm0, dword [ebp - 0x8c]
mulss xmm3, xmm5
push 0xf
addss xmm0, dword [eax]
push ecx
addss xmm3, xmm7
mov dword [esp], 0x40800000
movss dword [ebp - 0x40], xmm0
movss xmm0, dword [ebp - 0x90]
addss xmm0, dword [eax + 4]
cvttss2si eax, xmm3
movss dword [ebp - 0x3c], xmm0
shl eax, 0x18
or eax, ecx
mov ecx, dword [0x11096f04]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0xb0]
push eax
call fcn.100cd700
mov eax, dword [ebp - 0x6c]
cmp byte [eax + 0x2d60], 0
je 0x1011cebb
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x60]
mov edx, dword [ebp + 0x10]
push eax
call fcn.100c16d0
add esp, 4
movss xmm0, dword [ebp - 0xa4]
comiss xmm0, dword [0x102bd5e4]
jbe 0x1011cf0a
movss xmm0, dword [ebp - 0x8c]
xor edx, edx
addss xmm0, dword [0x102bd8ac]
mov ecx, edi
movss dword [ebp - 0x60], xmm0
movss xmm0, dword [ebp - 0x90]
addss xmm0, dword [0x102bd8c4]
movss dword [ebp - 0x5c], xmm0
push dword [ebp - 0x5c]
push dword [ebp - 0x60]
push 1
call fcn.100b31a0
add esp, 0xc
mov bl, byte [ebp - 6]
mov edi, dword [0x10378a34]
test bl, bl
je 0x1011cf2d
mov eax, dword [edi + 0x19b0]
mov word [edi + 0x19fb], 0x101
or dword [eax + 0x11c], 4
mov eax, dword [edi + 0x1a9c]
mov edx, dword [edi + 0x1aa4]
lea esi, [eax + eax*4]
mov al, bl
mov ecx, dword [edx + esi*4 - 0x14]
movups xmm0, xmmword [edx + esi*4 - 0x10]
add ecx, 0x15c
add ecx, ecx
movups xmmword [edi + ecx*8], xmm0
dec dword [edi + 0x1a9c]
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