Function at 0x1002b073
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x3e8
mov esi, dword [esp + 0x3fc]
push esi
call fcn.1002c070
add esp, 4
mov dword [esi], 0
xorps xmm0, xmm0
movups xmmword [esi + 0x14], xmm0
mov dword [esi + 0x28], 0
mov dword [esi + 0x24], 0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x10026f05
push eax
call fcn.10009440
add esp, 4
mov eax, dword [esp + 0x3fc]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x10026f1c
push eax
call fcn.10009440
add esp, 4
mov ecx, dword [esp + 0x3fc]
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x44], 0
jle 0x10026fe7
xor edi, edi
xor esi, esi
xor eax, eax
jmp 0x10026f5d
inc eax
mov ecx, dword [esp + 0x3fc]
cmp eax, dword [ecx + 0x44]
jge 0x10026fae
mov edx, dword [ecx + 0x4c]
imul ebx, eax, 0x64
mov ecx, dword [edx + ebx + 0x30]
test ecx, ecx
jne 0x10026f7c
lea ecx, [edx + ebx]
add ecx, 0x30
mov dword [ecx], 0x10035314
mov ecx, 0x10035314
movzx edx, word [ecx]
test dx, dx
je 0x10026f50
add ecx, 4
nop word [eax + eax]
movzx ebx, word [ecx - 2]
test ebx, ebx
je 0x10026f50
movzx edx, dx
sub edi, edx
add edi, ebx
inc edi
inc esi
movzx edx, word [ecx]
add ecx, 4
test dx, dx
jne 0x10026f90
jmp 0x10026f50
mov edx, dword [ecx + 4]
test edx, edx
mov eax, ecx
jg 0x10027006
mov edx, 0x1000
cmp edi, 0xfa0
jg 0x10027006
mov edx, 0x800
cmp edi, 0x7d0
jg 0x10027006
xor edx, edx
cmp edi, 0x3e9
setge dl
shl edx, 9
add edx, 0x200
jmp 0x10027006
mov eax, dword [esp + 0x3fc]
mov eax, dword [eax + 4]
test eax, eax
mov edx, 0x200
cmovg edx, eax
mov eax, dword [esp + 0x3fc]
xor edi, edi
xor esi, esi
mov dword [eax + 0x14], edx
mov dword [eax + 0x18], 0
mov ebp, dword [eax + 8]
push 0x30
mov ebx, edx
call fcn.100089d0
add esp, 4
mov dword [esp + 0xb8], eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x84], ebp
sub ebx, ebp
lea eax, [ebx*8]
push eax
call fcn.100089d0
mov ecx, dword [esp + 0xbc]
add esp, 4
test ecx, ecx
je 0x1002717d
test eax, eax
je 0x1002717d
mov ecx, 0x8000
sub ecx, dword [esp + 0x84]
mov dword [esp + 0x28], ecx
lea ecx, [ebx - 1]
mov dword [esp + 0x14], ecx
xor ecx, ecx
cmp ebx, 2
mov dword [esp + 0xc4], eax
jl 0x1002711d
mov dword [esp + 0x70], ebx
lea eax, [ebx - 2]
mov edx, dword [esp + 0x14]
and edx, 7
xor ebp, ebp
cmp eax, 7
jb 0x100270e9
mov eax, dword [esp + 0x14]
and eax, 0xfffffff8
xor ebp, ebp
mov ecx, dword [esp + 0xc4]
nop dword [eax + eax]
lea ebx, [ecx + 8]
mov dword [ecx + 4], ebx
lea ebx, [ecx + 0x10]
mov dword [ecx + 0xc], ebx
lea ebx, [ecx + 0x18]
mov dword [ecx + 0x14], ebx
lea ebx, [ecx + 0x20]
mov dword [ecx + 0x1c], ebx
lea ebx, [ecx + 0x28]
mov dword [ecx + 0x24], ebx
lea ebx, [ecx + 0x30]
mov dword [ecx + 0x2c], ebx
lea ebx, [ecx + 0x38]
mov dword [ecx + 0x34], ebx
add ebp, 8
lea ebx, [ecx + 0x40]
mov dword [ecx + 0x3c], ebx
mov ecx, ebx
cmp eax, ebp
jne 0x100270b0
mov ecx, dword [esp + 0x14]
test edx, edx
mov eax, dword [esp + 0xc4]
mov ebx, dword [esp + 0x70]
je 0x1002711d
lea ecx, [eax + ebp*8]
add ecx, 8
nop word cs:[eax + eax]
mov dword [ecx - 4], ecx
add ecx, 8
dec edx
jne 0x10027110
mov ecx, dword [esp + 0x14]
mov dword [eax + ecx*8 + 4], 0
mov ecx, dword [esp + 0xb8]
mov dword [ecx + 0xc], 1
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x1c], eax
lea eax, [ecx + 0x20]
mov dword [ecx + 0x18], eax
mov dword [ecx], ebx
mov eax, dword [esp + 0x28]
mov dword [ecx + 4], eax
mov dword [ecx + 0x14], ebx
mov eax, dword [esp + 0x14]
add eax, ebx
cdq
idiv ebx
mov dword [ecx + 8], eax
mov dword [ecx + 0x20], 0
mov eax, ecx
add eax, 0x28
mov dword [ecx + 0x24], eax
mov word [ecx + 0x28], bx
mov word [ecx + 0x2a], 0xffff
mov dword [ecx + 0x2c], 0
jmp 0x100271bb
test ecx, ecx
je 0x1002718e
push ecx
mov ebx, eax
call fcn.10009440
mov eax, ebx
add esp, 4
test eax, eax
je 0x1002719b
push eax
call fcn.10009440
add esp, 4
mov dword [esp + 0xc4], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x24], 0
xor ecx, ecx
mov eax, dword [esp + 0x3fc]
mov dword [esp + 0xb8], ecx
push ecx
push eax
call fcn.1002c130
add esp, 8
mov eax, dword [esp + 0x3fc]
mov eax, dword [eax + 0x44]
mov ecx, eax
shl ecx, 7
lea eax, [ecx + eax*8]
push eax
call fcn.100089d0
add esp, 4
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x3fc]
cmp dword [eax + 0x44], 0
jle 0x10028422
xorps xmm0, xmm0
xor ebx, ebx
mov eax, dword [eax + 0x4c]
imul ecx, ebx, 0x64
mov edx, ebx
shl edx, 7
lea edx, [edx + ebx*8]
add edx, dword [esp + 0x50]
mov dword [esp + 0x14], edx
mov ebp, dword [eax + ecx]
mov eax, dword [eax + ecx + 0xc]
movzx ecx, byte [ebp]
cmp ecx, 0x4e
mov dword [esp + 0x38], ebx
jg 0x10027260
test ecx, ecx
je 0x100272b0
cmp ecx, 0x31
jne 0x10027350
cmp byte [ebp + 1], 0
jne 0x10027350
cmp byte [ebp + 2], 0
jne 0x10027350
jmp 0x100272c4
cmp ecx, 0x4f
je 0x100272e0
cmp ecx, 0x74
jne 0x10027350
movzx ecx, byte [ebp + 1]
cmp ecx, 0x72
je 0x100272f9
cmp ecx, 0x74
je 0x10027315
cmp ecx, 0x79
jne 0x10027350
cmp byte [ebp + 2], 0x70
mov ebx, 0xffffffff
jne 0x10027355
cmp byte [ebp + 3], 0x31
je 0x1002730a
jmp 0x10027355
cmp byte [ebp + 1], 1
jne 0x10027350
cmp byte [ebp + 2], 0
jne 0x10027350
cmp byte [ebp + 3], 0
mov ebx, 0xffffffff
jne 0x10027355
jmp 0x1002730a
cmp byte [ebp + 1], 0x54
jne 0x10027350
cmp byte [ebp + 2], 0x54
jne 0x10027350
cmp byte [ebp + 3], 0x4f
mov ebx, 0xffffffff
jne 0x10027355
jmp 0x1002730a
cmp byte [ebp + 2], 0x75
jne 0x10027350
cmp byte [ebp + 3], 0x65
mov ebx, 0xffffffff
jne 0x10027355
neg eax
mov ebx, 0
sbb ebx, ebx
jmp 0x10027355
cmp byte [ebp + 2], 0x63
jne 0x10027350
cmp byte [ebp + 3], 0x66
mov ebx, 0xffffffff
jne 0x10027355
mov ecx, dword [ebp + 4]
bswap ecx
cmp ecx, 0x20000
je 0x1002733b
cmp ecx, 0x10000
jne 0x10027355
mov ecx, dword [ebp + 8]
bswap ecx
cmp ecx, eax
jle 0x10027355
mov ebx, dword [ebp + eax*4 + 0xc]
bswap ebx
jmp 0x10027355
mov ebx, 0xffffffff
mov eax, dword [esp + 0x14]
mov dword [eax + 4], ebp
mov dword [eax + 8], ebx
mov dword [eax + 0x30], 0
mov dword [eax + 0x34], 0
mov dword [eax + 0x38], 0
movzx edx, byte [ebp + ebx + 4]
mov ecx, edx
shl ecx, 8
movzx eax, byte [ebp + ebx + 5]
mov dword [esp + 4], 0
mov dword [esp + 0x40], eax
or ecx, eax
mov dword [esp + 0x28], 0
mov eax, 0
mov dword [esp + 0x70], ebx
mov dword [esp + 0x94], ebp
je 0x10027466
lea eax, [ebx + ebp]
add eax, 0x17
mov ebx, dword [esp + 0x40]
shl ebx, 4
shl edx, 0xc
or edx, ebx
xor ebx, ebx
jmp 0x100273d7
add ebx, 0x10
cmp edx, ebx
je 0x10027410
cmp byte [eax + ebx - 0xb], 0x63
jne 0x100273d0
cmp byte [eax + ebx - 0xa], 0x6d
jne 0x100273d0
cmp byte [eax + ebx - 9], 0x61
jne 0x100273d0
cmp byte [eax + ebx - 8], 0x70
jne 0x100273d0
mov edx, dword [esp + 0x70]
mov ebp, dword [esp + 0x94]
add edx, ebp
mov edx, dword [ebx + edx + 0x14]
bswap edx
mov dword [esp + 0x28], edx
jmp 0x10027436
mov dword [esp + 0x28], 0
mov ebp, dword [esp + 0x94]
jmp 0x10027436
add eax, 0x10
dec ecx
je 0x10027460
cmp byte [eax - 0xb], 0x6c
jne 0x10027430
cmp byte [eax - 0xa], 0x6f
jne 0x10027430
cmp byte [eax - 9], 0x63
jne 0x10027430
cmp byte [eax - 8], 0x61
jne 0x10027430
mov eax, dword [eax - 3]
bswap eax
jmp 0x10027462
xor eax, eax
mov ebx, dword [esp + 0x70]
mov ecx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 8], ecx
mov dword [eax + 0x10], ecx
movzx eax, byte [ebp + ebx + 4]
mov ecx, eax
shl ecx, 8
movzx edx, byte [ebp + ebx + 5]
or ecx, edx
je 0x100274e8
lea ecx, [ebx + ebp]
add ecx, 0x17
shl edx, 4
shl eax, 0xc
or eax, edx
xor edx, edx
jmp 0x100274a7
add edx, 0x10
cmp eax, edx
je 0x100274e0
cmp byte [ecx + edx - 0xb], 0x68
jne 0x100274a0
cmp byte [ecx + edx - 0xa], 0x65
jne 0x100274a0
cmp byte [ecx + edx - 9], 0x61
jne 0x100274a0
cmp byte [ecx + edx - 8], 0x64
jne 0x100274a0
lea eax, [ebx + ebp]
mov eax, dword [edx + eax + 0x14]
bswap eax
mov dword [esp + 4], eax
jmp 0x100274e8
mov dword [esp + 4], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 4]
mov dword [eax + 0x14], ecx
movzx eax, byte [ebp + ebx + 4]
mov edx, eax
shl edx, 8
movzx ebx, byte [ebp + ebx + 5]
mov dword [esp + 0x40], 0
or edx, ebx
mov ecx, 0
je 0x10027572
mov ecx, dword [esp + 0x70]
lea edx, [ecx + ebp]
add edx, 0x17
shl ebx, 4
shl eax, 0xc
or eax, ebx
xor ebx, ebx
jmp 0x10027537
add ebx, 0x10
cmp eax, ebx
je 0x10027570
cmp byte [edx + ebx - 0xb], 0x67
jne 0x10027530
cmp byte [edx + ebx - 0xa], 0x6c
jne 0x10027530
cmp byte [edx + ebx - 9], 0x79
jne 0x10027530
cmp byte [edx + ebx - 8], 0x66
jne 0x10027530
mov eax, dword [esp + 0x70]
add eax, ebp
mov ecx, dword [ebx + eax + 0x14]
bswap ecx
jmp 0x10027572
xor ecx, ecx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x54], ecx
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x70]
movzx eax, byte [ebp + ecx + 4]
mov ebx, eax
shl ebx, 8
movzx edx, byte [ebp + ecx + 5]
or ebx, edx
je 0x100275fc
add ecx, ebp
add ecx, 0x17
shl edx, 4
shl eax, 0xc
or eax, edx
xor ebx, ebx
jmp 0x100275b7
add ebx, 0x10
cmp eax, ebx
je 0x100275f0
cmp byte [ecx + ebx - 0xb], 0x68
jne 0x100275b0
cmp byte [ecx + ebx - 0xa], 0x68
jne 0x100275b0
cmp byte [ecx + ebx - 9], 0x65
jne 0x100275b0
cmp byte [ecx + ebx - 8], 0x61
jne 0x100275b0
mov ecx, dword [esp + 0x70]
lea eax, [ecx + ebp]
mov eax, dword [ebx + eax + 0x14]
bswap eax
mov dword [esp + 0x40], eax
jmp 0x100275fc
mov dword [esp + 0x40], 0
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x14]
mov edx, ecx
mov ecx, dword [esp + 0x40]
mov dword [eax + 0x1c], ecx
mov ecx, edx
mov ebx, ebp
movzx ebp, byte [ebp + edx + 4]
mov eax, ebp
shl eax, 8
movzx edx, byte [ebx + edx + 5]
or eax, edx
mov eax, 0
je 0x10027689
lea eax, [ebx + ecx]
add eax, 0x17
shl edx, 4
shl ebp, 0xc
or ebp, edx
xor edx, edx
jmp 0x10027647
add edx, 0x10
cmp ebp, edx
je 0x10027680
cmp byte [eax + edx - 0xb], 0x68
jne 0x10027640
cmp byte [eax + edx - 0xa], 0x6d
jne 0x10027640
cmp byte [eax + edx - 9], 0x74
jne 0x10027640
cmp byte [eax + edx - 8], 0x78
jne 0x10027640
mov ebx, dword [esp + 0x94]
lea eax, [ebx + ecx]
mov eax, dword [edx + eax + 0x14]
bswap eax
jmp 0x10027689
xor eax, eax
mov ebx, dword [esp + 0x94]
mov edx, eax
mov eax, ecx
mov ecx, dword [esp + 0x14]
mov dword [esp], edx
mov dword [ecx + 0x20], edx
movzx ebp, byte [ebx + eax + 4]
mov ecx, ebp
shl ecx, 8
movzx edx, byte [ebx + eax + 5]
or ecx, edx
mov ebx, eax
mov eax, 0
je 0x10027716
mov ecx, dword [esp + 0x94]
add ebx, ecx
add ebx, 0x17
shl edx, 4
shl ebp, 0xc
or ebp, edx
xor edx, edx
jmp 0x100276d7
add edx, 0x10
cmp ebp, edx
je 0x10027710
cmp byte [ebx + edx - 0xb], 0x6b
jne 0x100276d0
cmp byte [ebx + edx - 0xa], 0x65
jne 0x100276d0
cmp byte [ebx + edx - 9], 0x72
jne 0x100276d0
cmp byte [ebx + edx - 8], 0x6e
jne 0x100276d0
mov ecx, dword [esp + 0x94]
mov ebx, dword [esp + 0x70]
add ecx, ebx
mov eax, dword [edx + ecx + 0x14]
bswap eax
jmp 0x10027716
xor eax, eax
mov ebx, dword [esp + 0x70]
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x24], eax
cmp dword [esp + 0x28], 0
mov ebp, dword [esp + 0x94]
je 0x100283fa
cmp dword [esp + 4], 0
je 0x100283fa
cmp dword [esp + 0x40], 0
je 0x100283fa
cmp dword [esp], 0
je 0x100283fa
cmp dword [esp + 0x54], 0
je 0x100278b0
cmp dword [esp + 8], 0
je 0x100283fa
movzx ecx, byte [ebp + ebx + 4]
mov edx, ecx
shl edx, 8
mov eax, ebx
movzx ebx, byte [ebp + ebx + 5]
or edx, ebx
je 0x100277e0
lea edx, [eax + ebp]
add edx, 0x17
shl ebx, 4
shl ecx, 0xc
or ecx, ebx
xor ebx, ebx
jmp 0x10027797
add ebx, 0x10
cmp ecx, ebx
je 0x100277e0
cmp byte [edx + ebx - 0xb], 0x6d
jne 0x10027790
cmp byte [edx + ebx - 0xa], 0x61
jne 0x10027790
cmp byte [edx + ebx - 9], 0x78
jne 0x10027790
cmp byte [edx + ebx - 8], 0x70
jne 0x10027790
mov eax, dword [esp + 0x70]
add eax, ebp
mov ecx, dword [ebx + eax + 0x14]
bswap ecx
test ecx, ecx
mov eax, 0xffff
je 0x100277e5
movzx eax, word [ebp + ecx + 4]
rol ax, 8
movzx eax, ax
jmp 0x100277e5
mov eax, 0xffff
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x28]
movzx eax, word [ebp + eax + 2]
rol ax, 8
mov dword [ecx + 0x28], 0
test ax, ax
je 0x100283fa
movzx eax, ax
mov ecx, dword [esp + 0x28]
add ecx, ebp
add ecx, 0xb
xor edx, edx
xor ebx, ebx
jmp 0x10027836
mov edx, dword [ecx + ebx*8 - 3]
bswap edx
add edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x14]
mov dword [ebp + 0x28], edx
inc ebx
cmp eax, ebx
je 0x10027870
movzx ebp, word [ecx + ebx*8 - 7]
rol bp, 8
test bp, bp
je 0x10027820
movzx ebp, bp
cmp ebp, 3
jne 0x10027831
movzx ebp, word [ecx + ebx*8 - 5]
rol bp, 8
cmp bp, 0xa
je 0x10027820
movzx ebp, bp
cmp ebp, 1
je 0x10027820
jmp 0x10027831
test edx, edx
mov edx, dword [esp + 0x94]
je 0x100283fa
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x14]
movzx eax, word [edx + eax + 0x32]
rol ax, 8
movzx eax, ax
mov dword [ecx + 0x2c], eax
mov ebx, dword [esp + 0x38]
inc ebx
mov eax, dword [esp + 0x3fc]
cmp ebx, dword [eax + 0x44]
jl 0x10027208
jmp 0x10028422
mov dword [esp + 0xc0], 2
mov dword [esp + 0xbc], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xd4], 0
movzx eax, byte [ebp + ebx + 4]
mov ecx, eax
shl ecx, 8
movzx edx, byte [ebp + ebx + 5]
or ecx, edx
je 0x100283fa
lea ecx, [ebx + ebp]
add ecx, 0x17
shl edx, 4
shl eax, 0xc
or eax, edx
xor edx, edx
jmp 0x1002791b
add edx, 0x10
cmp eax, edx
je 0x100283fa
cmp byte [ecx + edx - 0xb], 0x43
jne 0x10027910
cmp byte [ecx + edx - 0xa], 0x46
jne 0x10027910
cmp byte [ecx + edx - 9], 0x46
jne 0x10027910
cmp byte [ecx + edx - 8], 0x20
jne 0x10027910
lea eax, [ebx + ebp]
mov eax, dword [edx + eax + 0x14]
bswap eax
test eax, eax
je 0x100283fa
lea edx, [eax + ebp]
mov ecx, dword [esp + 0x14]
movups xmmword [ecx + 0x60], xmm0
mov dword [ecx + 0x74], 0
mov dword [ecx + 0x70], 0
mov dword [ecx + 0x30], edx
mov dword [ecx + 0x34], 0
mov dword [ecx + 0x38], 0x20000000
movzx eax, byte [ebp + eax + 2]
mov ebp, edx
movzx ecx, word [eax + edx]
rol cx, 8
movzx ebx, byte [eax + edx + 2]
test cx, cx
mov dword [esp + 4], edx
je 0x100279c6
movzx ecx, cx
imul ecx, ebx
add eax, ecx
add eax, 3
test ebx, ebx
je 0x100279ce
xor edx, edx
cmp bl, 1
mov dword [esp + 0x40], ebx
jne 0x100279d5
test byte [esp + 0x40], 1
mov ebp, dword [esp + 4]
je 0x10027a22
shl edx, 8
cmp eax, 0x1fffffff
jg 0x10027a1b
movzx ecx, byte [ebp + eax]
inc eax
jmp 0x10027a1d
add eax, 2
shl ebx, 8
jmp 0x10027a4a
mov edx, 0xffffffff
jmp 0x10027a23
and ebx, 0xfffffffe
xor ebp, ebp
jmp 0x100279f1
mov ecx, dword [esp + 4]
movzx ecx, byte [ecx + eax]
inc eax
movzx ecx, cl
or edx, ecx
mov ebp, edx
add ebx, 0xfffffffe
je 0x100279a9
cmp eax, 0x1fffffff
jg 0x10027a03
mov ecx, dword [esp + 4]
movzx edx, byte [ecx + eax]
inc eax
jmp 0x10027a05
xor edx, edx
movzx edx, dl
shl ebp, 0x10
shl edx, 8
or edx, ebp
cmp eax, 0x1fffffff
jle 0x100279dc
xor ecx, ecx
jmp 0x100279e5
xor ecx, ecx
movzx ecx, cl
or edx, ecx
dec edx
add eax, edx
mov ecx, 0x20000000
xor edx, edx
cmp eax, 0x1fffffff
ja 0x10027a58
movzx ebx, byte [ebp + eax]
shl ebx, 8
mov dword [esp + 0x54], 0x1fffffff
cmp eax, 0x1fffffff
je 0x10027a62
lea ecx, [eax + 2]
movzx edx, byte [eax + ebp + 1]
mov dword [esp + 0x54], eax
jmp 0x10027a62
xor ebx, ebx
mov dword [esp + 0x54], 0x20000000
or ebx, edx
je 0x10027b1e
mov edx, 0xffffffff
mov eax, 0x20000000
cmp ecx, 0x1fffffff
ja 0x10027b0d
movzx eax, byte [ebp + ecx]
mov dword [esp + 0x40], eax
imul ebx, eax
lea eax, [ecx + ebx]
inc eax
cmp eax, 0x20000000
mov ecx, 0x20000000
cmovae eax, ecx
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x10027b0d
xor edx, edx
cmp cl, 1
jne 0x10027ac5
test byte [esp + 0x40], 1
je 0x10027b0c
shl edx, 8
cmp eax, 0x1fffffff
jg 0x10027b05
movzx ecx, byte [ebp + eax]
inc eax
jmp 0x10027b07
and ecx, 0xfffffffe
xor ebx, ebx
jmp 0x10027ade
movzx ebx, byte [ebp + eax]
inc eax
movzx ebx, bl
or edx, ebx
mov ebx, edx
add ecx, 0xfffffffe
je 0x10027aac
cmp eax, 0x1fffffff
jg 0x10027aed
movzx edx, byte [ebp + eax]
inc eax
jmp 0x10027aef
xor edx, edx
movzx edx, dl
shl ebx, 0x10
shl edx, 8
or edx, ebx
cmp eax, 0x1fffffff
jle 0x10027acc
xor ebx, ebx
jmp 0x10027ad2
xor ecx, ecx
movzx ecx, cl
or edx, ecx
dec edx
add eax, edx
cmp eax, 0x20000000
mov ecx, 0x20000000
cmovae eax, ecx
mov ecx, eax
mov ebp, dword [esp + 0x54]
cmp ebp, 0x20000000
mov dword [esp + 8], ecx
jg 0x10027b7f
sub ecx, ebp
mov eax, ecx
or eax, ebp
mov ebx, 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0xa8], 0
mov edx, 0
mov eax, 0
js 0x10027d40
add ebp, dword [esp + 4]
xor edx, edx
test ecx, ecx
cmovs eax, ecx
mov dword [esp], ecx
jle 0x10027ba5
movzx ecx, byte [ebp + eax]
inc eax
shl ecx, 8
jmp 0x10027ba7
xor ebx, ebx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0xa8], 0
xor edx, edx
xor eax, eax
jmp 0x10027d40
xor ecx, ecx
cmp eax, dword [esp]
jge 0x10027bb2
movzx edx, byte [ebp + eax]
inc eax
or edx, ecx
mov dword [esp + 0x108], edx
mov ecx, dword [esp]
cmp eax, ecx
jge 0x10027c3f
movzx ebx, byte [ebp + eax]
test ebx, ebx
je 0x10027c3f
lea edx, [eax + 1]
cmp eax, 0xffffffff
cmovl edx, ecx
mov dword [esp + 0x40], edx
mov eax, ebx
dec eax
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x54], ebp
mov dword [esp + 0x3c], eax
je 0x10027c62
mov eax, ebx
and eax, 0xfffffffe
xor ebx, ebx
jmp 0x10027c11
mov ecx, dword [esp + 0x54]
movzx ebx, byte [ecx + edx]
inc edx
mov dword [esp + 0x40], edx
movzx ecx, bl
or ebp, ecx
mov ebx, ebp
add eax, 0xfffffffe
mov ecx, dword [esp]
je 0x10027c64
mov edx, dword [esp + 0x40]
cmp edx, ecx
jge 0x10027c25
mov ebp, dword [esp + 0x54]
movzx ecx, byte [ebp + edx]
inc edx
jmp 0x10027c27
xor ecx, ecx
movzx ebp, cl
shl ebx, 0x10
shl ebp, 8
or ebp, ebx
cmp edx, dword [esp]
jl 0x10027bf5
mov dword [esp + 0x40], edx
xor ebx, ebx
jmp 0x10027c02
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], ebp
mov dword [esp + 0xa8], 0
xor eax, eax
mov ebx, dword [esp + 0x108]
xor edx, edx
jmp 0x10027d40
xor ebp, ebp
mov ebx, dword [esp + 0xa8]
test bl, 1
je 0x10027c91
shl ebp, 8
mov edx, dword [esp + 0x40]
cmp edx, ecx
jge 0x10027c8a
mov eax, dword [esp + 0x54]
movzx eax, byte [eax + edx]
inc edx
mov dword [esp + 0x40], edx
jmp 0x10027c8c
xor eax, eax
movzx eax, al
or ebp, eax
cmp dword [esp + 0x3c], 0
mov dword [esp + 0x80], ebp
je 0x10027cee
and ebx, 0xfffffffe
xor ebp, ebp
jmp 0x10027cc2
mov ecx, dword [esp + 0x54]
movzx ecx, byte [ecx + edx]
inc edx
mov dword [esp + 0x40], edx
movzx ecx, cl
or eax, ecx
mov ebp, eax
add ebx, 0xfffffffe
mov ecx, dword [esp]
je 0x10027cf0
mov edx, dword [esp + 0x40]
cmp edx, ecx
jge 0x10027cd5
mov eax, dword [esp + 0x54]
movzx eax, byte [eax + edx]
inc edx
jmp 0x10027cd7
xor eax, eax
movzx eax, al
shl ebp, 0x10
shl eax, 8
or eax, ebp
cmp edx, ecx
jl 0x10027ca6
mov dword [esp + 0x40], edx
xor ecx, ecx
jmp 0x10027cb3
xor eax, eax
mov ebx, dword [esp + 0xa8]
test bl, 1
jne 0x10027d0a
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x40], ecx
jmp 0x10027d32
shl eax, 8
mov edx, dword [esp + 0x40]
cmp edx, ecx
mov ebp, dword [esp + 0x54]
jge 0x10027d20
movzx ecx, byte [ebp + edx]
jmp 0x10027d22
xor ecx, ecx
movzx ecx, cl
or eax, ecx
mov ecx, dword [esp]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], ebp
mov ebx, dword [esp + 0x108]
mov edx, dword [esp + 0x80]
sub eax, edx
inc ebx
imul ebx, dword [esp + 0xa8]
add edx, ebx
add edx, 2
mov ebp, eax
or ebp, edx
js 0x10027d83
mov ecx, dword [esp + 0x3c]
sub ecx, edx
setl bl
cmp ecx, eax
setl bh
or bh, bl
mov ecx, dword [esp + 0x40]
add ecx, edx
test bh, bh
mov ebx, dword [esp + 8]
mov edx, 0
cmovne eax, edx
cmovne ecx, edx
mov ebp, dword [esp + 4]
jmp 0x10027d8f
xor eax, eax
mov ebp, dword [esp + 4]
xor ecx, ecx
mov ebx, dword [esp + 8]
mov dword [esp + 0x1c4], ecx
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1cc], eax
xor edx, edx
cmp ebx, 0x1fffffff
jg 0x10027ddc
movzx eax, byte [ebp + ebx]
jne 0x10027de5
mov edx, 0xffffffff
mov ecx, 0x20000000
test eax, eax
jne 0x10027eb3
mov dword [esp + 8], 0x20000000
xor ebx, ebx
xor edx, edx
jmp 0x10027f04
mov ecx, ebx
xor ebx, ebx
jmp 0x10027f04
shl eax, 8
movzx ebp, byte [ebx + ebp + 1]
or ebp, eax
je 0x10027e58
mov edx, 0xffffffff
mov ecx, 0x20000000
cmp ebx, 0x1ffffffd
jg 0x10027e52
mov eax, dword [esp + 4]
movzx eax, byte [eax + ebx + 2]
imul ebp, eax
lea ecx, [ebx + ebp]
add ecx, 3
mov ebx, eax
cmp ecx, 0x20000000
mov eax, 0x20000000
cmovae ecx, eax
test ebx, ebx
je 0x10027e52
xor edx, edx
cmp bl, 1
mov dword [esp + 0x40], ebx
jne 0x10027e63
test byte [esp + 0x40], 1
mov ebp, dword [esp + 4]
je 0x10027eb2
shl edx, 8
cmp ecx, 0x1fffffff
jg 0x10027eab
movzx eax, byte [ebp + ecx]
inc ecx
jmp 0x10027ead
mov ebp, dword [esp + 4]
jmp 0x10027eb3
add ebx, 2
mov eax, ebx
mov ebp, dword [esp + 4]
jmp 0x10027ec7
and ebx, 0xfffffffe
xor ebp, ebp
jmp 0x10027e7f
mov eax, dword [esp + 4]
movzx eax, byte [eax + ecx]
inc ecx
movzx eax, al
or edx, eax
mov ebp, edx
add ebx, 0xfffffffe
je 0x10027e34
cmp ecx, 0x1fffffff
jg 0x10027e92
mov eax, dword [esp + 4]
movzx edx, byte [eax + ecx]
inc ecx
jmp 0x10027e94
xor edx, edx
movzx edx, dl
shl ebp, 0x10
shl edx, 8
or edx, ebp
cmp ecx, 0x1fffffff
jle 0x10027e6a
xor eax, eax
jmp 0x10027e73
xor eax, eax
movzx eax, al
or edx, eax
dec edx
add ecx, edx
cmp ecx, 0x20000000
mov eax, 0x20000000
cmovae ecx, eax
mov eax, ecx
xor edx, edx
mov ecx, 0x20000000
cmp eax, 0x1fffffff
jg 0x10027eec
movzx ebx, byte [ebp + eax]
shl ebx, 8
cmp eax, 0x1fffffff
jne 0x10027ef8
mov dword [esp + 8], 0x1fffffff
jmp 0x10027f04
mov dword [esp + 8], 0x20000000
xor ebx, ebx
jmp 0x10027f04
lea ecx, [eax + 2]
mov dword [esp + 8], eax
movzx edx, byte [eax + ebp + 1]
or ebx, edx
je 0x10027f65
mov edx, 0xffffffff
mov eax, 0x20000000
cmp ecx, 0x1fffffff
jg 0x10027f6b
movzx ebp, byte [ebp + ecx]
imul ebx, ebp
lea eax, [ecx + ebx]
inc eax
cmp eax, 0x20000000
mov ecx, 0x20000000
cmovae eax, ecx
test ebp, ebp
je 0x10027f71
mov ecx, ebp
xor edx, edx
cmp cl, 1
mov dword [esp + 0x40], ebp
jne 0x10027f7b
mov ebp, dword [esp + 4]
test byte [esp + 0x40], 1
mov ebx, dword [esp + 8]
je 0x10027fc6
shl edx, 8
cmp eax, 0x1fffffff
jg 0x10027fbf
movzx ecx, byte [ebp + eax]
inc eax
jmp 0x10027fc1
mov ebx, dword [esp + 8]
jmp 0x10027fd8
mov ebx, dword [esp + 8]
jmp 0x10027fc7
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 4]
jmp 0x10027fc7
and ecx, 0xfffffffe
xor ebx, ebx
mov ebp, dword [esp + 4]
jmp 0x10027f98
movzx ebx, byte [ebp + eax]
inc eax
movzx ebx, bl
or edx, ebx
mov ebx, edx
add ecx, 0xfffffffe
je 0x10027f48
cmp eax, 0x1fffffff
jg 0x10027fa7
movzx edx, byte [ebp + eax]
inc eax
jmp 0x10027fa9
xor edx, edx
movzx edx, dl
shl ebx, 0x10
shl edx, 8
or edx, ebx
cmp eax, 0x1fffffff
jle 0x10027f86
xor ebx, ebx
jmp 0x10027f8c
xor ecx, ecx
movzx ecx, cl
or edx, ecx
dec edx
add eax, edx
cmp eax, 0x20000000
mov ecx, 0x20000000
cmovae eax, ecx
mov ecx, eax
mov eax, ecx
sub eax, ebx
mov edx, eax
or edx, ebx
js 0x10028007
cmp ebx, 0x20000001
setge dl
cmp ecx, 0x20000001
setge cl
or cl, dl
add ebx, ebp
test cl, cl
mov ecx, 0
cmovne eax, ecx
cmovne ebx, ecx
jmp 0x1002800b
xor eax, eax
xor ebx, ebx
mov ebp, dword [esp + 0x14]
mov dword [ebp + 0x48], ebx
mov dword [ebp + 0x4c], 0
mov dword [ebp + 0x50], eax
lea ebx, [esp + 0x1c4]
mov ecx, ebx
mov edx, 0x11
lea eax, [esp + 0xbc]
push eax
push 1
call fcn.1002d950
add esp, 8
mov ecx, ebx
mov edx, 0x106
lea eax, [esp + 0xc0]
push eax
push 1
call fcn.1002d950
add esp, 8
mov ecx, ebx
mov edx, 0x124
lea eax, [esp + 0xd8]
push eax
push 1
call fcn.1002d950
add esp, 8
mov ecx, ebx
mov edx, 0x125
lea eax, [esp + 0xd4]
push eax
push 1
call fcn.1002d950
add esp, 8
lea ecx, [esp + 0x118]
mov edx, dword [esp + 4]
push dword [esp + 0x1cc]
push dword [esp + 0x1cc]
push dword [esp + 0x1cc]
push 0x20000000
call fcn.1002daf0
add esp, 0x10
mov eax, dword [esp + 0x120]
mov dword [ebp + 0x5c], eax
movsd xmm0, qword [esp + 0x118]
movsd qword [ebp + 0x54], xmm0
cmp dword [esp + 0xc0], 2
xorps xmm0, xmm0
mov ebp, dword [esp + 0x94]
jne 0x100283fa
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x40], eax
test eax, eax
je 0x100283fa
mov ebx, dword [esp + 0xd8]
test ebx, ebx
je 0x1002829f
mov eax, dword [esp + 0xd4]
test eax, eax
je 0x100283fa
mov dword [esp + 0x54], eax
xor edx, edx
mov eax, 0
cmp ebx, 0x20000000
mov ecx, 0x20000000
cmovae ebx, ecx
mov dword [esp], ebx
mov ebp, dword [esp + 4]
jae 0x10028156
mov eax, dword [esp]
lea ebx, [eax + 1]
movzx eax, byte [ebp + eax]
shl eax, 8
cmp ebx, 0x1fffffff
jbe 0x1002815e
or edx, eax
jne 0x1002816c
jmp 0x10028229
cmp ebx, 0x1fffffff
ja 0x1002814d
movzx edx, byte [ebp + ebx]
inc ebx
or edx, eax
je 0x10028229
mov ecx, 0xffffffff
mov eax, 0x20000000
cmp ebx, 0x1fffffff
ja 0x10028218
mov eax, edx
movzx edx, byte [ebp + ebx]
imul eax, edx
add eax, ebx
inc eax
mov ebx, edx
cmp eax, 0x20000000
mov edx, 0x20000000
cmovae eax, edx
test ebx, ebx
je 0x10028218
xor ecx, ecx
cmp bl, 1
mov dword [esp + 8], ebx
jne 0x100281ca
test byte [esp + 8], 1
mov ebp, dword [esp + 4]
je 0x10028217
shl ecx, 8
cmp eax, 0x1fffffff
jg 0x10028210
movzx edx, byte [ebp + eax]
inc eax
jmp 0x10028212
and ebx, 0xfffffffe
xor ebp, ebp
jmp 0x100281e6
mov edx, dword [esp + 4]
movzx edx, byte [edx + eax]
inc eax
movzx edx, dl
or ecx, edx
mov ebp, ecx
add ebx, 0xfffffffe
je 0x100281ad
cmp eax, 0x1fffffff
jg 0x100281f8
mov ecx, dword [esp + 4]
movzx ecx, byte [ecx + eax]
inc eax
jmp 0x100281fa
xor ecx, ecx
movzx ecx, cl
shl ebp, 0x10
shl ecx, 8
or ecx, ebp
cmp eax, 0x1fffffff
jle 0x100281d1
xor edx, edx
jmp 0x100281da
xor edx, edx
movzx edx, dl
or ecx, edx
dec ecx
add eax, ecx
cmp eax, 0x20000000
mov ecx, 0x20000000
cmovae eax, ecx
mov ebx, eax
mov ecx, ebx
mov eax, dword [esp]
sub ecx, eax
add eax, ebp
cmp ebx, 0x20000001
mov ebx, ecx
mov edx, 0
cmovae ebx, edx
cmovae eax, edx
test ecx, ecx
cmovs ebx, edx
cmovs eax, edx
mov ebp, dword [esp + 0x14]
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x64], 0
mov ecx, 0x20000000
mov eax, dword [esp + 0x54]
sub ecx, eax
mov edx, ecx
or edx, eax
sets dl
cmp eax, 0x20000001
setge dh
or dh, dl
add eax, dword [esp + 4]
test dh, dh
mov edx, 0
cmovne ecx, edx
cmovne eax, edx
mov dword [ebp + 0x68], ebx
mov dword [ebp + 0x6c], eax
mov dword [ebp + 0x70], 0
mov dword [ebp + 0x74], ecx
mov ebp, dword [esp + 0x94]
xor edx, edx
mov eax, 0
mov ebx, dword [esp + 0x40]
cmp ebx, 0x20000000
mov ecx, 0x20000000
cmovae ebx, ecx
mov dword [esp + 0x40], ebx
jae 0x100282e1
mov ecx, dword [esp + 0x40]
lea ebx, [ecx + 1]
mov eax, dword [esp + 4]
movzx eax, byte [eax + ecx]
shl eax, 8
cmp ebx, 0x1fffffff
jbe 0x100282e9
or edx, eax
jne 0x100282fa
jmp 0x100283b7
cmp ebx, 0x1fffffff
ja 0x100282d8
mov ecx, dword [esp + 4]
movzx edx, byte [ecx + ebx]
inc ebx
or edx, eax
je 0x100283b7
mov ecx, 0xffffffff
mov eax, 0x20000000
cmp ebx, 0x1fffffff
ja 0x100283a6
mov eax, dword [esp + 4]
movzx eax, byte [eax + ebx]
mov dword [esp], eax
imul edx, eax
lea eax, [ebx + edx]
inc eax
mov ebx, dword [esp]
cmp eax, 0x20000000
mov edx, 0x20000000
cmovae eax, edx
test ebx, ebx
je 0x100283a6
xor ecx, ecx
cmp bl, 1
jne 0x10028358
test byte [esp], 1
je 0x100283a5
shl ecx, 8
cmp eax, 0x1fffffff
jg 0x1002839e
mov edx, dword [esp + 4]
movzx edx, byte [edx + eax]
inc eax
jmp 0x100283a0
and ebx, 0xfffffffe
xor edx, edx
jmp 0x10028374
mov edx, dword [esp + 4]
movzx edx, byte [edx + eax]
inc eax
movzx edx, dl
or ecx, edx
mov edx, ecx
add ebx, 0xfffffffe
je 0x1002833d
cmp eax, 0x1fffffff
jg 0x10028386
mov ecx, dword [esp + 4]
movzx ecx, byte [ecx + eax]
inc eax
jmp 0x10028388
xor ecx, ecx
movzx ecx, cl
shl edx, 0x10
shl ecx, 8
or ecx, edx
cmp eax, 0x1fffffff
jle 0x1002835f
xor edx, edx
jmp 0x10028368
xor edx, edx
movzx edx, dl
or ecx, edx
dec ecx
add eax, ecx
cmp eax, 0x20000000
mov ecx, 0x20000000
cmovae eax, ecx
mov ebx, eax
mov eax, ebx
mov ecx, dword [esp + 0x40]
sub eax, ecx
mov edx, dword [esp + 4]
add edx, ecx
cmp ebx, 0x20000001
mov ecx, eax
mov ebx, 0
cmovae ecx, ebx
cmovae edx, ebx
test eax, eax
cmovs ecx, ebx
cmovs edx, ebx
mov eax, dword [esp + 0x14]
mov dword [eax + 0x3c], edx
mov dword [eax + 0x40], 0
mov dword [eax + 0x44], ecx
mov ebx, dword [esp + 0x70]
jmp 0x10027765
mov eax, dword [esp + 0x3fc]
mov dword [eax + 0x18], 0
mov dword [eax + 0x14], 0
push dword [esp + 0x50]
call fcn.10009440
add esp, 4
xor eax, eax
jmp 0x1002c05b
lea eax, [edi + edi*8]
lea ebx, [eax + eax*2]
add ebx, edi
push ebx
call fcn.100089d0
add esp, 4
mov ebp, eax
shl edi, 4
push edi
call fcn.100089d0
add esp, 4
mov dword [esp + 0xdc], eax
shl esi, 3
lea eax, [esi + esi*2]
mov dword [esp + 0x14], eax
push eax
call fcn.100089d0
add esp, 4
mov esi, eax
push ebx
push 0
push ebp
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push edi
push 0
push dword [esp + 0xe4]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push dword [esp + 0x14]
push 0
mov dword [esp + 0x12c], esi
push esi
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esp + 0x408]
add esp, 0xc
cmp dword [eax + 0x44], 0
mov dword [esp + 0x12c], ebp
jle 0x1002898d
mov ecx, dword [esp + 0xdc]
add ecx, 6
mov dword [esp + 0x90], ecx
mov dword [esp + 8], 1
xor edx, edx
mov dword [esp + 0x10], 0
xor ecx, ecx
xor esi, esi
mov ebx, 1
jmp 0x1002851e
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x14]
push 0
call fcn.1002c220
add esp, 4
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x6c]
add ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x54]
add dword [esp + 0x10], eax
mov esi, dword [esp + 0xc]
inc esi
mov eax, dword [esp + 0x3fc]
cmp esi, dword [eax + 0x44]
jge 0x1002898d
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x64], edx
mov eax, dword [eax + 0x4c]
mov ecx, esi
shl ecx, 7
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], esi
imul ecx, esi, 0x64
mov dword [esp + 0x70], eax
mov dword [esp + 0x94], ecx
mov esi, dword [eax + ecx + 0x30]
movzx edi, word [esi]
mov edx, 0
mov dword [esp + 0x54], 0
test di, di
je 0x10028598
mov dword [esp + 0x54], 0
xor edx, edx
nop word [eax + eax]
movzx eax, word [esi + edx*4 + 2]
test eax, eax
je 0x10028598
movzx edi, di
mov ecx, edx
mov edx, dword [esp + 0x54]
sub edx, edi
add edx, eax
inc edx
mov dword [esp + 0x54], edx
mov edx, ecx
movzx edi, word [esi + ecx*4 + 4]
inc edx
test di, di
jne 0x10028570
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
lea edi, [ecx + eax*8]
mov eax, dword [esp + 0x6c]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x124]
lea ecx, [ecx + eax*8]
mov eax, dword [esp + 0x50]
mov dword [eax + edi + 0x80], ecx
mov dword [eax + edi + 0x84], edx
test edx, edx
mov dword [esp + 0x38], edx
mov dword [esp + 4], edi
je 0x10028690
mov dword [esp], ebx
mov ecx, dword [esp + 0x70]
mov esi, dword [esp + 0x94]
add ecx, esi
add ecx, 0x30
mov dword [esp + 0x28], ecx
add eax, edi
add eax, 0x80
mov dword [esp + 0x14], eax
xor ebx, ebx
mov ebp, 4
mov esi, dword [esp + 0x64]
nop word cs:[eax + eax]
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
movss xmm0, dword [edx - 0x20]
movss dword [eax + ebp*4 - 0x10], xmm0
movzx edi, word [ecx + ebx*4]
mov dword [eax + ebp*4 - 0xc], edi
movzx edi, word [ecx + ebx*4 + 2]
movzx ecx, word [ecx + ebx*4]
sub edi, ecx
lea ecx, [edi + 1]
mov dword [eax + ebp*4 - 4], ecx
lea ecx, [esi + esi*8]
lea ecx, [ecx + ecx*2]
mov edx, dword [esp + 0x12c]
add edx, esi
add ecx, edx
mov dword [eax + ebp*4], ecx
add esi, edi
inc esi
inc ebx
add ebp, 6
cmp dword [esp + 0x38], ebx
jne 0x10028610
mov dword [esp + 0x64], esi
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov dword [esp + 0xa8], ecx
mov eax, dword [eax]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x50]
mov ebx, dword [esp]
mov edi, dword [esp + 4]
jmp 0x1002869f
mov dword [esp + 0x3c], ecx
mov dword [esp + 0xa8], 0
mov edx, dword [esp + 0x10]
shl edx, 4
mov ecx, dword [esp + 0xdc]
add ecx, edx
mov dword [esp + 0x14], ecx
mov dword [eax + edi + 0x78], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + edi + 0x7c], ecx
mov edi, eax
mov ecx, dword [esp + 0x70]
mov esi, dword [esp + 0x94]
mov eax, dword [ecx + esi + 0x14]
mov ecx, dword [ecx + esi + 0x18]
cmp eax, 9
mov esi, dword [esp + 8]
cmovb esi, eax
cmp ecx, 9
cmovb ebx, ecx
mov ecx, dword [esp + 0xa8]
test ecx, ecx
mov dword [esp + 8], esi
jle 0x100284e0
mov eax, esi
mov ecx, dword [esp + 4]
lea esi, [edi + ecx]
add ecx, edi
add ecx, 0x78
mov dword [esp + 0x108], ecx
movd xmm0, ebx
movq xmm1, qword [0x10039e28]
por xmm0, xmm1
subsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [esp + 0xe8], xmm0
movd xmm0, eax
por xmm0, xmm1
subsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x68], xmm0
mov ecx, eax
mov eax, dword [esp + 0x84]
add ecx, eax
mov dword [esp + 0x70], ecx
add eax, ebx
mov dword [esp + 0x94], eax
add edx, dword [esp + 0x90]
xor eax, eax
xor edi, edi
mov dword [esp], ebx
mov dword [esp + 0x80], edx
jmp 0x1002879d
mov eax, dword [esp + 4]
add eax, edi
mov edi, eax
mov ebx, dword [esp]
mov eax, dword [esp + 0x40]
inc eax
cmp eax, dword [esp + 0xa8]
je 0x10028920
mov dword [esp + 0x40], eax
lea eax, [eax + eax*2]
mov ebp, dword [esp + 0x3c]
movss xmm1, dword [ebp + eax*8]
xorps xmm0, xmm0
ucomiss xmm0, xmm1
mov dword [esp + 4], edi
jae 0x10028800
mov ecx, dword [esi + 4]
mov edx, dword [esi + 0x1c]
movzx edi, byte [ecx + edx + 4]
shl edi, 8
movzx ebx, byte [ecx + edx + 5]
movsx edi, di
or edi, ebx
movzx ebx, byte [ecx + edx + 6]
shl ebx, 8
movzx ecx, byte [ecx + edx + 7]
movsx edx, bx
mov ebx, dword [esp]
or edx, ecx
sub edi, edx
xorps xmm0, xmm0
cvtsi2ss xmm0, edi
mov edi, dword [esp + 4]
jmp 0x10028820
xorps xmm1, xmmword [0x10034040]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 0x14]
movzx ecx, word [ecx + edx + 0x12]
rol cx, 8
movzx ecx, cx
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
divss xmm1, xmm0
mov ecx, dword [esp + 8]
mov byte [ebp + eax*8 + 0x14], cl
mov byte [ebp + eax*8 + 0x15], bl
cmp dword [ebp + eax*8 + 0xc], 0
jle 0x1002878b
lea ebx, [eax*8 + 0xc]
add ebx, ebp
movaps xmm0, xmm1
mulss xmm0, dword [esp + 0xe8]
movss dword [esp + 0x28], xmm0
mulss xmm1, dword [esp + 0x68]
movups xmmword [esp + 0x14], xmm1
mov ebp, edi
shl ebp, 4
add ebp, dword [esp + 0x80]
xor edi, edi
jmp 0x10028904
mov edx, dword [eax + edi*4]
mov ecx, esi
call fcn.1002dd50
mov ecx, esi
mov edx, eax
movups xmm0, xmmword [esp + 0x14]
movss xmm1, dword [esp + 0x28]
lea eax, [esp + 0xbc]
push eax
lea eax, [esp + 0xc4]
push eax
lea eax, [esp + 0x120]
push eax
lea eax, [esp + 0x1d0]
push eax
call fcn.1002e050
add esp, 0x10
mov eax, dword [esp + 0x1c4]
mov ecx, dword [esp + 0xc0]
add ecx, dword [esp + 0x70]
not eax
add eax, ecx
mov word [ebp - 2], ax
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0xbc]
add ecx, dword [esp + 0x94]
not eax
add eax, ecx
mov word [ebp], ax
inc edi
add ebp, 0x10
cmp edi, dword [ebx]
jge 0x10028780
mov eax, dword [ebx - 4]
test eax, eax
jne 0x10028880
mov edx, dword [ebx - 8]
add edx, edi
jmp 0x10028883
mov eax, dword [esp + 0x108]
mov edx, dword [eax]
mov ecx, dword [esp + 0xb8]
push edi
call fcn.1002c220
add esp, 4
test edi, edi
mov edx, dword [esp + 0x64]
jle 0x100284f9
mov eax, 0xc
jmp 0x1002895a
add eax, 0x10
dec edi
je 0x100284f9
mov ecx, dword [esp + 0x108]
mov ecx, dword [ecx]
cmp dword [ecx + eax], 0
je 0x10028950
movzx edx, word [ecx + eax - 2]
movzx ecx, word [ecx + eax - 6]
add ecx, edx
mov esi, dword [esp + 0x3fc]
mov edx, dword [esi + 0x18]
cmp edx, ecx
cmovg ecx, edx
mov dword [esi + 0x18], ecx
mov edx, dword [esp + 0x64]
jmp 0x10028950
mov eax, dword [esp + 0x3fc]
mov eax, dword [eax + 0x14]
mov ecx, dword [esp + 0x3fc]
mov ecx, dword [ecx + 0x18]
dec ecx
mov edx, ecx
sar edx, 1
or edx, ecx
mov ecx, edx
sar ecx, 2
or ecx, edx
mov edx, ecx
sar edx, 4
or edx, ecx
mov esi, edx
sar esi, 8
or esi, edx
mov ecx, esi
sar ecx, 0x10
or ecx, esi
inc ecx
mov edx, dword [esp + 0x3fc]
mov dword [edx + 0x18], ecx
movd xmm0, ecx
movd xmm1, eax
punpckldq xmm1, xmm0
cvtdq2ps xmm0, xmm1
rcpps xmm1, xmm0
mulps xmm0, xmm1
movaps xmm2, xmmword [0x10034a10]
subps xmm2, xmm0
mulps xmm2, xmm1
addps xmm2, xmm1
movlps qword [edx + 0x1c], xmm2
imul ecx, eax
push ecx
call fcn.100089d0
add esp, 4
mov ecx, dword [esp + 0x3fc]
mov dword [ecx + 0xc], eax
mov ecx, dword [ecx + 0x18]
mov edx, dword [esp + 0x3fc]
imul ecx, dword [edx + 0x14]
push ecx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esp + 0x408]
add esp, 0xc
cmp dword [eax + 0x44], 0
mov ecx, dword [esp + 0x24]
jle 0x1002bbc9
mov edx, dword [eax + 0xc]
mov dword [esp + 0xe0], edx
movd xmm0, dword [esp + 0x84]
pshuflw xmm0, xmm0, 0
movdqu xmmword [esp + 0x3d8], xmm0
add ecx, ecx
mov dword [esp + 4], ecx
xor ecx, ecx
movaps xmm0, xmmword [0x10034040]
jmp 0x10028a98
mov ecx, dword [esp + 0x128]
mov eax, dword [esp]
mov dword [eax], 0
inc ecx
mov eax, dword [esp + 0x3fc]
cmp ecx, dword [eax + 0x44]
movaps xmm0, xmmword [0x10034040]
jge 0x1002bbc9
mov eax, dword [eax + 0x4c]
mov dword [esp + 0x154], eax
mov eax, ecx
shl eax, 7
mov dword [esp + 0x128], ecx
lea ecx, [eax + ecx*8]
mov eax, dword [esp + 0x50]
mov dword [esp + 0xec], ecx
mov ecx, dword [eax + ecx + 0x84]
mov dword [esp + 0x15c], ecx
test ecx, ecx
jle 0x1002b7e0
mov ecx, dword [esp + 0xec]
lea edx, [eax + ecx]
mov dword [esp + 0xf8], edx
mov edx, dword [eax + ecx + 0x78]
mov dword [esp + 0x100], edx
mov ecx, dword [eax + ecx + 0x80]
xor edx, edx
xor ebx, ebx
mov dword [esp + 0x130], ecx
jmp 0x10028b37
mov eax, dword [esp + 0x50]
movaps xmm0, xmmword [0x10034040]
mov edx, dword [esp + 0x164]
inc edx
cmp edx, dword [esp + 0x15c]
mov ecx, dword [esp + 0x130]
je 0x1002b7e0
mov dword [esp + 0x164], edx
lea eax, [edx + edx*2]
movss xmm2, dword [ecx + eax*8]
xorps xmm1, xmm1
ucomiss xmm1, xmm2
jae 0x10028b90
mov edx, dword [esp + 0xf8]
mov ecx, dword [edx + 4]
mov edx, dword [edx + 0x1c]
movzx esi, byte [ecx + edx + 4]
shl esi, 8
movzx edi, byte [ecx + edx + 5]
movsx esi, si
or esi, edi
movzx edi, byte [ecx + edx + 6]
shl edi, 8
movzx ecx, byte [ecx + edx + 7]
movsx edx, di
or edx, ecx
sub esi, edx
xorps xmm0, xmm0
cvtsi2ss xmm0, esi
jmp 0x10028bb3
xorps xmm2, xmm0
mov edx, dword [esp + 0xf8]
mov ecx, dword [edx + 4]
mov edx, dword [edx + 0x14]
movzx ecx, word [ecx + edx + 0x12]
rol cx, 8
movzx ecx, cx
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
divss xmm2, xmm0
mov edx, dword [esp + 0x130]
movzx ecx, byte [edx + eax*8 + 0x14]
mov esi, 1
xorps xmm1, xmm1
cvtsi2ss xmm1, ecx
sub esi, ecx
xorps xmm0, xmm0
movss dword [esp + 0x138], xmm0
movss dword [esp + 0x134], xmm0
mov dword [esp + 0x68], ecx
test ecx, ecx
mov ecx, esi
movups xmmword [esp + 0x19c], xmm2
je 0x10028c1b
xorps xmm2, xmm2
cvtsi2ss xmm2, ecx
movaps xmm0, xmm1
addss xmm0, xmm1
divss xmm2, xmm0
movss dword [esp + 0x134], xmm2
movups xmm2, xmmword [esp + 0x19c]
movss dword [esp + 0xc8], xmm1
mov dword [esp + 0x16c], ecx
movzx ecx, byte [edx + eax*8 + 0x15]
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
mov esi, 1
sub esi, ecx
mov dword [esp + 0x94], ecx
test ecx, ecx
je 0x10028c6f
xorps xmm2, xmm2
cvtsi2ss xmm2, esi
movaps xmm1, xmm0
addss xmm0, xmm0
divss xmm2, xmm0
movaps xmm0, xmm1
movss dword [esp + 0x138], xmm2
movups xmm2, xmmword [esp + 0x19c]
mov ecx, dword [edx + eax*8 + 0xc]
test ecx, ecx
jle 0x10028b10
movaps xmm3, xmm2
movaps xmm1, xmm0
movss xmm4, dword [0x10034020]
movaps xmm2, xmm4
movss xmm0, dword [esp + 0xc8]
divss xmm2, xmm0
movss dword [esp + 0x194], xmm2
movaps xmm2, xmm4
divss xmm2, xmm1
movss dword [esp + 0x190], xmm2
lea edi, [edx + eax*8 + 0xc]
mulss xmm1, xmm3
mulss xmm0, xmm3
movaps xmm3, xmm1
movss dword [esp + 0xc8], xmm0
minss xmm3, xmm0
movss xmm2, dword [0x10039e30]
divss xmm2, xmm3
mulss xmm2, xmm2
movss dword [esp + 0xe8], xmm2
movups xmmword [esp + 0x1b4], xmm1
movaps xmm0, xmmword [0x10034040]
xorps xmm1, xmm0
movups xmmword [esp + 0x3c8], xmm1
mov eax, dword [esp + 0x68]
lea eax, [eax*4]
mov edx, 4
sub edx, eax
mov dword [esp + 0x158], edx
mov dword [esp + 0x90], 0
mov eax, dword [esp + 0x50]
mov dword [esp + 0x168], esi
mov dword [esp + 0x18c], edi
jmp 0x10028e65
mov ecx, dword [esp + 0x148]
movzx edx, word [esp + 0xa6]
mov edi, dword [esp + 0x108]
movzx eax, word [edi]
mov word [ebp], ax
movzx eax, word [edi + 2]
mov word [ecx + esi + 2], ax
movzx eax, word [edi - 4]
add ax, word [edi]
mov word [ecx + esi + 4], ax
movzx eax, word [edi - 2]
add ax, word [edi + 2]
mov word [ecx + esi + 6], ax
movsx eax, dx
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, dword [esp + 0x19c]
movss dword [ecx + esi + 0x10], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xd4]
movss xmm6, dword [esp + 0x194]
mulss xmm0, xmm6
movss xmm1, dword [esp + 0x134]
addss xmm0, xmm1
movss dword [ecx + esi + 8], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0x150]
movss xmm3, dword [esp + 0x190]
mulss xmm0, xmm3
movss xmm2, dword [esp + 0x138]
addss xmm0, xmm2
movss dword [ecx + esi + 0xc], xmm0
movzx eax, word [edi - 4]
add eax, dword [esp + 0xd4]
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, xmm6
addss xmm0, xmm1
movss dword [ecx + esi + 0x14], xmm0
movzx eax, word [edi - 2]
add eax, dword [esp + 0x150]
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, xmm3
addss xmm0, xmm2
movss dword [ecx + esi + 0x18], xmm0
mov edi, dword [esp + 0x18c]
mov ecx, dword [edi]
mov eax, dword [esp + 0x50]
movaps xmm0, xmmword [0x10034040]
mov ebx, dword [esp + 0x198]
inc ebx
mov esi, dword [esp + 0x90]
inc esi
mov edx, esi
mov dword [esp + 0x90], esi
cmp esi, ecx
jge 0x10028b1b
mov dword [esp + 0x198], ebx
shl ebx, 4
mov edx, dword [esp + 0x100]
mov dword [esp + 0x14c], ebx
cmp dword [edx + ebx + 0xc], 0
je 0x10028e44
mov eax, dword [edi - 4]
test eax, eax
je 0x10028ea0
mov ecx, dword [esp + 0x90]
mov edx, dword [eax + ecx*4]
jmp 0x10028eaa
mov edx, dword [edi - 8]
add edx, dword [esp + 0x90]
mov eax, dword [edi + 4]
mov dword [esp + 0x148], eax
mov edi, dword [esp + 0xf8]
mov ecx, edi
call fcn.1002dd50
mov esi, eax
mov dword [esp + 0x14], eax
mov ebp, dword [esp + 0x100]
mov ebx, dword [esp + 0x14c]
movq xmm0, qword [ebp + ebx + 4]
movdqa xmm1, xmm0
movdqu xmm2, xmmword [esp + 0x3d8]
psubw xmm1, xmm2
paddw xmm0, xmm2
pshufd xmm0, xmm0, 0x55
punpckldq xmm1, xmm0
movq qword [ebp + ebx + 4], xmm1
mov eax, dword [edi + 4]
mov ecx, dword [edi + 0x1c]
movzx ecx, word [eax + ecx + 0x22]
rol cx, 8
movzx ecx, cx
add eax, dword [edi + 0x20]
lea edx, [esi*4]
cmp ecx, esi
lea ecx, [ecx*4 - 4]
cmovg ecx, edx
movzx eax, word [ecx + eax]
mov word [esp + 0xa6], ax
mov ecx, edi
mov edx, esi
movss xmm0, dword [esp + 0xc8]
movups xmm1, xmmword [esp + 0x1b4]
lea eax, [esp + 0x1ac]
push eax
lea eax, [esp + 0x1b4]
push eax
lea eax, [esp + 0x158]
push eax
lea eax, [esp + 0xe0]
push eax
call fcn.1002e050
add esp, 0x10
movzx esi, word [ebp + ebx + 6]
sub esi, dword [esp + 0x94]
movzx eax, word [ebp + ebx + 4]
mov dword [esp + 0x40], eax
movzx ecx, word [ebp + ebx + 8]
mov dword [esp], ecx
movzx ebp, word [ebp + ebx + 0xa]
mov ecx, edi
mov ebx, dword [esp + 0x14]
mov edx, ebx
lea eax, [esp + 0xd8]
push eax
call fcn.1002f530
add esp, 4
mov dword [esp + 0x28], eax
mov ecx, edi
mov edx, ebx
mov ebx, dword [esp + 0x40]
movd xmm0, dword [esp + 0xc8]
movdqu xmm1, xmmword [esp + 0x1b4]
push 0
push 0
lea eax, [esp + 0xc4]
push eax
lea eax, [esp + 0xcc]
push eax
call fcn.1002e050
add esp, 0x10
mov dword [esp + 0x144], esi
inc esi
je 0x1002af70
mov eax, dword [esp + 0x68]
neg eax
add eax, ebx
inc eax
test eax, eax
je 0x1002af70
mov dword [esp + 0x38], esi
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x70], eax
mov dword [esp + 0x1c4], 0
cmp dword [esp + 0x28], 0
jle 0x1002af70
xor edx, edx
mov eax, 0
cmp dword [esp + 0x28], 8
jb 0x1002912b
mov ebx, ebp
mov eax, dword [esp + 0x28]
and eax, 0xfffffff8
mov ecx, dword [esp + 0x70]
add ecx, 0x6e
pxor xmm0, xmm0
mov edx, eax
pxor xmm1, xmm1
movdqa xmm4, xmmword [0x10039e40]
movdqa xmm5, xmmword [0x10039e50]
nop dword [eax + eax]
movzx esi, byte [ecx - 0x62]
movzx edi, byte [ecx - 0x46]
movzx ebp, byte [ecx - 0x38]
shl ebp, 8
or ebp, edi
movzx edi, byte [ecx - 0x54]
shl edi, 8
or edi, esi
movd xmm2, edi
pinsrw xmm2, ebp, 1
movzx esi, byte [ecx - 0x2a]
movzx edi, byte [ecx - 0xe]
movzx ebp, byte [ecx]
shl ebp, 8
or ebp, edi
movzx edi, byte [ecx - 0x1c]
shl edi, 8
or edi, esi
movd xmm3, edi
pinsrw xmm3, ebp, 1
pcmpeqb xmm2, xmm4
punpcklbw xmm2, xmm2
punpcklwd xmm2, xmm2
pand xmm2, xmm5
paddd xmm0, xmm2
pcmpeqb xmm3, xmm4
punpcklbw xmm3, xmm3
punpcklwd xmm3, xmm3
pand xmm3, xmm5
paddd xmm1, xmm3
add ecx, 0x70
add edx, 0xfffffff8
jne 0x10029090
paddd xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddd xmm0, xmm1
pshufd xmm1, xmm0, 0x55
paddd xmm1, xmm0
movd edx, xmm1
cmp dword [esp + 0x28], eax
mov ebp, ebx
mov ebx, dword [esp + 0x40]
je 0x10029164
mov ecx, dword [esp + 0x28]
sub ecx, eax
mov esi, edx
lea edx, [eax + eax]
shl eax, 4
sub eax, edx
mov edx, esi
mov esi, dword [esp + 0x70]
add eax, esi
add eax, 0xc
nop word cs:[eax + eax]
mov esi, edx
xor edx, edx
cmp byte [eax], 1
sete dl
add esi, edx
mov edx, esi
add eax, 0xe
dec ecx
jne 0x10029150
test edx, edx
je 0x1002af70
lea eax, [edx*4]
push eax
mov dword [esp + 0x58], edx
call fcn.100089d0
add esp, 4
test eax, eax
je 0x1002af70
mov dword [esp + 0x64], eax
mov eax, dword [esp]
add eax, dword [esp + 0xe0]
imul ebp, dword [esp + 0x24]
add ebp, eax
mov eax, ebx
sub eax, dword [esp + 0x68]
mov dword [esp + 0x3c], eax
xor eax, eax
mov cl, 1
xor ebx, ebx
xor edx, edx
mov dword [esp + 0x13c], ebp
jmp 0x100291e2
mov eax, dword [esp + 0x1c4]
sub eax, ebx
mov ecx, dword [esp + 0x64]
mov dword [ecx + ebp*4], eax
mov al, 1
test byte [esp + 0x14], 1
mov ecx, 0
je 0x100293fa
mov dword [esp + 0x14], ecx
test al, 1
je 0x10029207
mov eax, dword [esp + 0x1c4]
shl eax, 3
push eax
call fcn.100089d0
add esp, 4
mov edx, eax
test eax, eax
je 0x10029466
mov dword [esp + 0x1c4], 0
pxor xmm0, xmm0
mov ebp, 0xffffffff
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x70]
mov dword [esp + 0x80], edx
jmp 0x100292e3
movsx eax, word [edi + 2]
xorps xmm3, xmm3
cvtsi2ss xmm3, eax
movsx eax, word [edi]
xorps xmm4, xmm4
cvtsi2ss xmm4, eax
movsx eax, word [edi + 0xa]
xorps xmm5, xmm5
cvtsi2ss xmm5, eax
movsx eax, word [edi + 8]
xorps xmm6, xmm6
cvtsi2ss xmm6, eax
movsx eax, word [edi + 6]
xorps xmm7, xmm7
cvtsi2ss xmm7, eax
movsx eax, word [edi + 4]
xorps xmm2, xmm2
cvtsi2ss xmm2, eax
movdqa xmm1, xmm0
shufps xmm1, xmm0, 0x55
sub esp, 0x1c
movss dword [esp + 0x10], xmm3
movss dword [esp + 0xc], xmm4
movss dword [esp + 8], xmm5
movss dword [esp + 4], xmm6
movss dword [esp], xmm7
movss xmm3, dword [esp + 0x104]
movss dword [esp + 0x14], xmm3
mov dword [esp + 0x18], 0
mov ecx, edx
lea edx, [esp + 0x1e0]
call fcn.100306c0
mov edx, dword [esp + 0x9c]
add esp, 0x1c
movd xmm0, dword [edi]
pshuflw xmm0, xmm0, 0x60
psrad xmm0, 0x10
cvtdq2ps xmm0, xmm0
add edi, 0xe
dec esi
je 0x100291c0
movzx eax, byte [edi + 0xc]
dec eax
cmp eax, 3
ja case.default.0x100292ed
jmp dword [eax*4 + 0x10039f80]
test ebp, ebp
js 0x10029308
mov eax, dword [esp + 0x1c4]
sub eax, ebx
mov ecx, dword [esp + 0x64]
mov dword [ecx + ebp*4], eax
inc ebp
mov ebx, dword [esp + 0x1c4]
lea eax, [ebx + 1]
movd xmm0, dword [edi]
pshuflw xmm0, xmm0, 0x60
psrad xmm0, 0x10
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x1c4], eax
test edx, edx
je case.default.0x100292ed
movlps qword [edx + ebx*8], xmm0
jmp case.default.0x100292ed
mov eax, dword [esp + 0x1c4]
lea ecx, [eax + 1]
movd xmm0, dword [edi]
pshuflw xmm0, xmm0, 0x60
psrad xmm0, 0x10
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x1c4], ecx
test edx, edx
je case.default.0x100292ed
movlps qword [edx + eax*8], xmm0
jmp case.default.0x100292ed
movsx eax, word [edi + 2]
xorps xmm3, xmm3
cvtsi2ss xmm3, eax
movsx eax, word [edi]
xorps xmm4, xmm4
cvtsi2ss xmm4, eax
movsx eax, word [edi + 6]
xorps xmm5, xmm5
cvtsi2ss xmm5, eax
movsx eax, word [edi + 4]
xorps xmm2, xmm2
cvtsi2ss xmm2, eax
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
sub esp, 0x14
movss xmm6, dword [esp + 0xfc]
movss dword [esp + 0xc], xmm6
movss dword [esp + 8], xmm3
movss dword [esp + 4], xmm4
movss dword [esp], xmm5
mov dword [esp + 0x10], 0
mov ecx, edx
lea edx, [esp + 0x1d8]
call fcn.100304d0
mov edx, dword [esp + 0x94]
add esp, 0x14
jmp 0x100292c8
test edx, edx
je 0x1002af70
xor ecx, ecx
mov eax, 0
mov edx, dword [esp + 0x54]
cmp edx, 8
mov esi, dword [esp + 0x64]
jb 0x10029480
mov eax, edx
and eax, 0xfffffff8
xorps xmm0, xmm0
xor ecx, ecx
pxor xmm1, xmm1
nop word cs:[eax + eax]
movdqu xmm2, xmmword [esi + ecx*4]
paddd xmm0, xmm2
movdqu xmm2, xmmword [esi + ecx*4 + 0x10]
paddd xmm1, xmm2
add ecx, 8
cmp eax, ecx
jne 0x10029430
paddd xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddd xmm0, xmm1
pshufd xmm1, xmm0, 0x55
paddd xmm1, xmm0
movd ecx, xmm1
jmp 0x10029484
push 0
call fcn.10009440
add esp, 4
push dword [esp + 0x64]
jmp 0x1002af59
add ecx, dword [esi + eax*4]
inc eax
cmp edx, eax
jne 0x10029480
lea eax, [ecx + ecx*4]
lea eax, [eax*4 + 0x14]
push eax
call fcn.100089d0
add esp, 4
test eax, eax
je 0x1002af49
mov ecx, eax
mov eax, dword [esp + 0x80]
add eax, 4
mov dword [esp + 8], eax
mov dword [esp + 0x14], 0
xor edx, edx
xor esi, esi
movss xmm1, dword [esp + 0xc8]
movups xmm2, xmmword [esp + 0x3c8]
mov dword [esp + 0x6c], ecx
jmp 0x100294f6
mov esi, dword [esp]
add esi, dword [esp + 0x70]
mov edx, dword [esp + 0x28]
inc edx
cmp edx, dword [esp + 0x54]
je 0x100295d1
mov eax, dword [esp + 0x64]
mov dword [esp + 0x28], edx
mov edx, dword [eax + edx*4]
test edx, edx
mov eax, dword [esp + 0x80]
mov dword [esp], esi
mov dword [esp + 0x70], edx
jle 0x100294e0
lea ebx, [eax + esi*8]
lea eax, [edx - 1]
mov edx, dword [esp + 8]
lea ebp, [edx + esi*8]
xor edi, edi
mov edx, dword [esp + 0x70]
jmp 0x1002959b
lea edi, [ecx + edx*4]
add edi, 0x10
mov dword [edi], 1
mov edi, eax
mov eax, esi
mov ecx, dword [esp + 0x6c]
lea ecx, [ecx + edx*4]
movss xmm0, dword [ebx + edi*8]
mulss xmm0, xmm1
movss dword [ecx], xmm0
mov ecx, dword [esp + 0x6c]
movss xmm0, dword [ebx + edi*8 + 4]
mulss xmm0, xmm2
movss dword [ecx + edx*4 + 4], xmm0
movss xmm0, dword [ebx + eax*8]
mulss xmm0, xmm1
movss dword [ecx + edx*4 + 8], xmm0
movss xmm0, dword [ebx + eax*8 + 4]
mulss xmm0, xmm2
movss dword [ecx + edx*4 + 0xc], xmm0
inc dword [esp + 0x14]
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x28]
mov edx, dword [eax + edx*4]
lea edi, [esi + 1]
mov eax, esi
cmp edi, edx
jge 0x100294e0
mov esi, edi
movss xmm0, dword [ebx + eax*8 + 4]
ucomiss xmm0, dword [ebp + edi*8]
je 0x1002958e
mov edx, dword [esp + 0x14]
lea edx, [edx + edx*4]
mov dword [ecx + edx*4 + 0x10], 0
movss xmm0, dword [ebx + eax*8 + 4]
ucomiss xmm0, dword [ebp + esi*8]
ja 0x10029528
mov edi, esi
jmp 0x10029538
mov esi, dword [esp + 0x14]
mov edx, esi
call fcn.10030950
cmp esi, 2
mov ebp, dword [esp + 0xfc]
mov ebx, dword [esp + 0x40]
jl 0x1002968f
mov eax, 1
mov ecx, dword [esp + 0x6c]
jmp 0x1002960e
inc eax
add ecx, 0x14
cmp eax, dword [esp + 0x14]
je 0x1002968f
lea edx, [eax + eax*4]
mov edi, dword [esp + 0x6c]
movsd xmm0, qword [edi + edx*4]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
mov esi, dword [edi + edx*4 + 0x10]
mov dword [esp + 0x1cc], esi
movsd xmm2, qword [edi + edx*4 + 8]
movsd qword [esp + 0x1c4], xmm2
mov edi, ecx
mov edx, eax
nop
ucomiss xmm1, dword [edi + 4]
jae 0x10029661
dec edx
mov esi, dword [edi + 0x10]
mov dword [edi + 0x24], esi
movups xmm2, xmmword [edi]
movups xmmword [edi + 0x14], xmm2
lea esi, [edx + 1]
add edi, 0xffffffec
cmp esi, 1
jg 0x10029640
xor edx, edx
cmp eax, edx
je 0x10029600
lea edx, [edx + edx*4]
mov edi, dword [esp + 0x6c]
movlps qword [edi + edx*4], xmm0
movsd xmm0, qword [esp + 0x1c4]
movsd qword [edi + edx*4 + 8], xmm0
mov esi, dword [esp + 0x1cc]
mov dword [edi + edx*4 + 0x10], esi
jmp 0x10029600
mov dword [esp + 0x118], 0
lea eax, [esp + 0x1c4]
cmp dword [esp + 0x3c], 0x40
jl 0x100296bf
mov eax, dword [esp + 0xf4]
lea eax, [eax*8 + 4]
push eax
call fcn.100089d0
add esp, 4
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
add eax, ebp
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
addss xmm0, dword [0x10034020]
mov eax, dword [esp + 0x14]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x6c]
movss dword [ecx + eax*4 + 4], xmm0
cmp dword [esp + 0x144], 0x7ffffffe
ja 0x1002af21
mov edi, ebp
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xa8]
movss dword [esp + 0xe4], xmm0
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0x10]
lea edx, [ecx + eax*4]
mov dword [esp + 0x17c], edx
add edx, 4
mov dword [esp + 0x88], edx
lea edx, [eax*4]
mov dword [esp + 0x178], edx
lea edx, [eax*4 + 4]
mov dword [esp + 0x174], edx
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movss dword [esp + 0x84], xmm0
lea eax, [ecx + 0x14]
mov dword [esp + 0x160], eax
mov eax, dword [esp + 0x158]
lea eax, [eax + ebx*4]
add eax, ecx
mov dword [esp + 0x170], eax
xor esi, esi
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xf0], eax
xor eax, eax
mov dword [esp + 0xd0], 0
xor ebp, ebp
mov dword [esp + 0xcc], 0
jmp 0x100297e1
mov edi, dword [esp + 0xfc]
inc edi
mov ecx, dword [esp + 0x188]
lea eax, [ecx + 1]
add ebp, dword [esp + 0x24]
mov dword [esp + 0x13c], ebp
cmp ecx, dword [esp + 0x144]
mov ebp, dword [esp + 0x184]
je 0x1002aefc
mov dword [esp + 0x188], eax
mov dword [esp + 0xfc], edi
xorps xmm0, xmm0
cvtsi2ss xmm0, edi
movss dword [esp + 0x14], xmm0
addss xmm0, dword [0x10034020]
movss dword [esp + 8], xmm0
push dword [esp + 0x178]
push 0
push dword [esp + 0x18]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push dword [esp + 0x174]
push 0
push dword [esp + 0x184]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
test esi, esi
je 0x10029890
lea eax, [esp + 0x118]
movss xmm3, dword [esp + 0xe4]
mov edi, dword [esp + 0xf0]
movss xmm7, dword [esp + 8]
jmp 0x10029875
mov ecx, dword [esi]
mov dword [eax], ecx
mov dword [esi + 0x10], 0
mov dword [esi], ebp
mov ebp, esi
mov esi, dword [eax]
test esi, esi
je 0x100298a6
movss xmm0, dword [esp + 0x14]
ucomiss xmm0, dword [esi + 0x18]
jae 0x10029860
mov eax, esi
jmp 0x1002986f
movss xmm3, dword [esp + 0xe4]
mov edi, dword [esp + 0xf0]
movss xmm7, dword [esp + 8]
movss xmm0, dword [edi + 4]
ucomiss xmm7, xmm0
jae 0x1002997b
mov dword [esp + 0xf0], edi
mov eax, dword [esp + 0x118]
mov dword [esp + 0x140], eax
test eax, eax
mov dword [esp + 0x184], ebp
je 0x1002ae50
movaps xmm0, xmm7
addss xmm0, dword [esp + 0x14]
movss dword [esp + 0x180], xmm0
mov eax, dword [esp + 0x140]
jmp 0x10029aea
movss dword [ebp + 0xc], xmm1
movss xmm1, dword [edi]
subss xmm1, xmm3
movss xmm2, dword [esp + 0x14]
subss xmm2, dword [edi + 4]
mulss xmm2, xmm0
addss xmm2, xmm1
movss dword [ebp + 4], xmm2
xor eax, eax
cmp dword [edi + 0x10], 0
sete al
movss xmm0, dword [eax*4 + 0x10039e60]
movss dword [ebp + 0x10], xmm0
movss xmm0, dword [edi + 4]
movss dword [ebp + 0x14], xmm0
movss xmm0, dword [edi + 0xc]
movss dword [ebp + 0x18], xmm0
mov dword [ebp], 0
mov eax, dword [esp + 0x118]
mov dword [ebp], eax
mov dword [esp + 0x118], ebp
movss xmm0, dword [edi + 0x18]
add edi, 0x14
ucomiss xmm7, xmm0
mov ebp, ecx
jb 0x100298b4
movss xmm1, dword [edi + 0xc]
ucomiss xmm0, xmm1
je 0x100299c0
test ebp, ebp
je 0x100299d0
mov ecx, dword [ebp]
subss xmm1, xmm0
movss xmm0, dword [edi + 8]
subss xmm0, dword [edi]
divss xmm0, xmm1
movss dword [ebp + 8], xmm0
xorps xmm1, xmm1
ucomiss xmm0, xmm1
je 0x10029900
movss xmm1, dword [0x10034020]
divss xmm1, xmm0
jmp 0x10029900
mov ecx, ebp
jmp 0x10029968
mov ebx, dword [esp + 0xd0]
test ebx, ebx
je 0x10029a00
lea eax, [ebx - 1]
xor ecx, ecx
mov esi, dword [esp + 0xcc]
test esi, esi
je 0x10029a54
lea edx, [eax + eax*8]
lea edx, [edx + edx*2]
lea ebp, [ebx + edx]
dec ebp
add ebp, esi
mov dword [esp + 0xd0], eax
jmp 0x1002998c
push 0xdac4
call fcn.100089d0
add esp, 4
test eax, eax
je 0x10029a6b
mov ecx, dword [esp + 0xcc]
mov dword [eax], ecx
mov ebp, eax
add ebp, 0xdaa4
movss xmm0, dword [edi + 4]
movss xmm1, dword [edi + 0xc]
mov dword [esp + 0xd0], 0x7cf
xor ecx, ecx
mov dword [esp + 0xcc], eax
movss xmm3, dword [esp + 0xe4]
movss xmm7, dword [esp + 8]
jmp 0x1002998c
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], eax
jmp 0x10029968
xor ecx, ecx
mov dword [esp + 0xd0], 0
movss xmm3, dword [esp + 0xe4]
movss xmm7, dword [esp + 8]
jmp 0x10029968
xorps xmm4, xmm4
cvtsi2ss xmm4, edx
subss xmm0, xmm6
addss xmm4, xmm4
addss xmm2, xmm1
subss xmm4, xmm2
mulss xmm4, dword [0x100340c4]
addss xmm4, dword [0x10034020]
mulss xmm4, xmm0
mulss xmm4, dword [eax + 0x10]
mov ecx, dword [esp + 0x10]
addss xmm4, dword [ecx + edx*4]
movss dword [ecx + edx*4], xmm4
mulss xmm0, dword [eax + 0x10]
mov ecx, dword [esp + 0x88]
addss xmm0, dword [ecx + edx*4]
movss dword [ecx + edx*4], xmm0
mov eax, dword [eax]
test eax, eax
je 0x1002ae50
movss xmm2, dword [eax + 4]
movss xmm5, dword [eax + 8]
xorps xmm3, xmm3
ucomiss xmm3, xmm5
movss dword [esp + 0x40], xmm2
jne 0x10029ba0
xorps xmm0, xmm0
ucomiss xmm2, dword [esp + 0x84]
jae 0x10029ae0
movss xmm1, dword [esp + 0x40]
ucomiss xmm1, xmm0
jae 0x10029cf3
ucomiss xmm7, dword [esp + 0x14]
je 0x10029ae0
movss xmm0, dword [eax + 0x18]
movss xmm1, dword [esp + 0x14]
ucomiss xmm1, xmm0
ja 0x10029ae0
movss xmm1, dword [eax + 0x14]
ucomiss xmm7, xmm1
jb 0x10029ae0
maxss xmm1, dword [esp + 0x14]
minss xmm0, xmm7
xorps xmm2, xmm2
movss xmm3, dword [esp + 0x40]
ucomiss xmm3, xmm2
jbe 0x1002ad5a
movaps xmm2, xmm3
ucomiss xmm3, dword [0x10034020]
jae 0x10029ae0
subss xmm0, xmm1
movss xmm1, dword [0x10034020]
subss xmm1, dword [esp + 0x40]
mulss xmm1, xmm0
mulss xmm1, dword [eax + 0x10]
mov ecx, dword [esp + 0x88]
movss xmm0, dword [ecx - 4]
jmp 0x1002ad6f
movss xmm4, dword [eax + 0x14]
movaps xmm0, xmm4
movss xmm1, dword [esp + 0x14]
subss xmm0, xmm1
mulss xmm0, xmm5
movups xmmword [esp + 0x28], xmm4
cmpltss xmm1, xmm4
andps xmm0, xmm1
movaps xmm4, xmm2
movss xmm2, dword [0x10034a34]
andnps xmm1, xmm2
orps xmm1, xmm0
movaps xmm0, xmm4
addss xmm0, xmm5
movups xmmword [esp + 0x54], xmm0
addss xmm1, xmm4
ucomiss xmm1, xmm3
jb 0x10029cb0
movss xmm0, dword [eax + 0x18]
movaps xmm4, xmm0
subss xmm4, dword [esp + 0x14]
mulss xmm4, xmm5
addss xmm4, dword [esp + 0x40]
movaps xmm2, xmm0
cmpltss xmm2, xmm7
movaps xmm6, xmm5
movaps xmm5, xmm2
andps xmm2, xmm4
movups xmm4, xmmword [esp + 0x54]
andnps xmm5, xmm4
orps xmm2, xmm5
movaps xmm5, xmm6
ucomiss xmm2, xmm3
jb 0x10029cb0
ucomiss xmm1, dword [esp + 0x84]
jae 0x10029cb0
ucomiss xmm2, dword [esp + 0x84]
jae 0x10029cb0
movups xmm6, xmmword [esp + 0x28]
maxss xmm6, dword [esp + 0x14]
cvttss2si edx, xmm1
minss xmm0, xmm7
cvttss2si esi, xmm2
cmp edx, esi
je 0x10029a8c
movss xmm3, dword [eax + 0xc]
ucomiss xmm1, xmm2
jbe 0x1002ab2b
movaps xmm5, xmm3
movss xmm3, dword [esp + 0x180]
movaps xmm4, xmm3
subss xmm4, xmm6
movaps xmm6, xmm3
movaps xmm3, xmm5
subss xmm6, xmm0
xorps xmm3, xmmword [0x10034040]
mov ecx, edx
movaps xmm0, xmm4
movss dword [esp], xmm1
movups xmm1, xmmword [esp + 0x54]
jmp 0x1002ab3d
movss dword [esp + 0x104], xmm5
cmp dword [esp + 0x3c], 0x7ffffffe
ja 0x10029ae0
lea ecx, [eax + 0x10]
mov dword [esp + 0xc], ecx
movss xmm0, dword [0x10034020]
divss xmm0, dword [esp + 0x104]
movss dword [esp + 0x108], xmm0
xor ecx, ecx
mov edx, dword [esp + 0x10]
jmp 0x10029dcb
ucomiss xmm7, dword [esp + 0x14]
je 0x10029ae0
cvttss2si ecx, dword [esp + 0x40]
movss xmm0, dword [eax + 0x18]
movss xmm1, dword [esp + 0x14]
ucomiss xmm1, xmm0
ja 0x1002ada6
movss xmm2, dword [eax + 0x14]
ucomiss xmm7, xmm2
jb 0x1002ada6
maxss xmm2, dword [esp + 0x14]
xorps xmm3, xmm3
cvtsi2ss xmm3, ecx
movaps xmm1, xmm0
minss xmm1, xmm7
movss xmm5, dword [esp + 0x40]
ucomiss xmm5, xmm3
jbe 0x1002ad84
lea edx, [ecx + 1]
xorps xmm4, xmm4
cvtsi2ss xmm4, edx
ucomiss xmm5, xmm4
jae 0x1002ada6
subss xmm1, xmm2
movss xmm0, dword [0x10034020]
subss xmm0, dword [esp + 0x40]
addss xmm0, xmm3
mulss xmm0, xmm1
mulss xmm0, dword [eax + 0x10]
mov edi, dword [esp + 0x10]
lea edx, [edi + ecx*4]
movss xmm1, dword [edi + ecx*4]
jmp 0x1002ad99
subss xmm0, xmm5
mov ebx, dword [esp + 0xc]
mulss xmm0, dword [ebx]
mov ebx, dword [esp + 0x10]
lea ebx, [ebx + ecx*4]
movss xmm2, dword [edx]
movaps xmm7, xmm4
addss xmm0, xmm2
movss dword [ebx], xmm0
nop
ucomiss xmm3, xmm7
jne 0x1002a161
add edx, 4
lea ebx, [edi - 1]
mov ecx, edi
cmp ebx, dword [esp + 0x3c]
je 0x10029ae0
xorps xmm7, xmm7
cvtsi2ss xmm7, ecx
lea edi, [ecx + 1]
xorps xmm6, xmm6
cvtsi2ss xmm6, edi
movaps xmm5, xmm7
movss xmm2, dword [esp + 0x40]
subss xmm5, xmm2
movaps xmm1, xmm5
movss xmm0, dword [esp + 0x108]
mulss xmm1, xmm0
movss dword [esp + 0x38], xmm1
movaps xmm3, xmm1
movss xmm1, dword [esp + 0x14]
addss xmm3, xmm1
movss dword [esp + 0x70], xmm3
movaps xmm4, xmm6
subss xmm4, xmm2
movaps xmm3, xmm4
mulss xmm3, xmm0
movss dword [esp + 0xa8], xmm3
movaps xmm0, xmm3
addss xmm0, xmm1
movss dword [esp + 0x28], xmm7
ucomiss xmm2, xmm7
movups xmm1, xmmword [esp + 0x54]
movss dword [esp], xmm6
jae 0x10029f50
ucomiss xmm1, xmm6
jbe 0x10029f50
movss xmm3, dword [esp + 0x70]
ucomiss xmm3, dword [esp + 0x14]
movss xmm7, dword [esp + 8]
je 0x1002a410
movss xmm1, dword [eax + 0x18]
movss xmm2, dword [esp + 0x14]
ucomiss xmm2, xmm1
ja 0x1002a410
movss xmm4, dword [eax + 0x14]
ucomiss xmm3, xmm4
jb 0x1002a410
movaps xmm6, xmm4
movss xmm7, dword [esp + 0x14]
subss xmm6, xmm7
mulss xmm6, xmm5
divss xmm6, dword [esp + 0x38]
movaps xmm2, xmm7
cmpltss xmm2, xmm4
andps xmm6, xmm2
movss xmm5, dword [0x10034a34]
andnps xmm2, xmm5
orps xmm2, xmm6
addss xmm2, dword [esp + 0x40]
maxss xmm4, xmm7
ucomiss xmm1, xmm3
movss xmm6, dword [esp + 0x28]
movaps xmm5, xmm6
movss dword [esp + 0x8c], xmm3
jae 0x10029f0f
movss xmm6, dword [esp + 0x28]
subss xmm6, xmm2
movaps xmm5, xmm1
subss xmm5, xmm3
mulss xmm5, xmm6
movaps xmm6, xmm3
subss xmm6, xmm4
divss xmm5, xmm6
movss xmm6, dword [esp + 0x28]
addss xmm5, xmm6
movss dword [esp + 0x8c], xmm1
ucomiss xmm2, xmm6
movss xmm7, dword [esp + 8]
ja 0x1002a3af
ucomiss xmm5, xmm6
ja 0x1002a3af
movss xmm2, dword [esp + 0x8c]
subss xmm2, xmm4
mov ebx, dword [esp + 0xc]
mulss xmm2, dword [ebx]
mov ebx, dword [esp + 0x10]
lea ebx, [ebx + ecx*4]
movss xmm1, dword [edx]
jmp 0x1002a3fc
ucomiss xmm1, dword [esp + 0x28]
jae 0x1002a060
ucomiss xmm2, xmm6
jbe 0x1002a060
ucomiss xmm0, dword [esp + 0x14]
movss xmm7, dword [esp + 8]
movss xmm3, dword [esp + 0x70]
je 0x1002a790
movss xmm1, dword [eax + 0x18]
movss xmm2, dword [esp + 0x14]
ucomiss xmm2, xmm1
ja 0x1002a790
movss xmm5, dword [eax + 0x14]
ucomiss xmm0, xmm5
jb 0x1002a790
movaps xmm2, xmm5
movss xmm7, dword [esp + 0x14]
subss xmm2, xmm7
mulss xmm2, xmm4
divss xmm2, dword [esp + 0xa8]
movaps xmm6, xmm7
movaps xmm4, xmm7
cmpltss xmm6, xmm5
andps xmm2, xmm6
movss xmm7, dword [0x10034a34]
andnps xmm6, xmm7
orps xmm6, xmm2
addss xmm6, dword [esp + 0x40]
maxss xmm5, xmm4
ucomiss xmm1, xmm0
movss xmm4, dword [esp]
movaps xmm2, xmm4
movss dword [esp + 0x8c], xmm0
jae 0x1002a01b
subss xmm4, xmm6
movaps xmm2, xmm1
subss xmm2, xmm0
mulss xmm2, xmm4
movaps xmm7, xmm0
subss xmm7, xmm5
divss xmm2, xmm7
addss xmm2, dword [esp]
movss dword [esp + 0x8c], xmm1
movss xmm1, dword [esp + 0x28]
ucomiss xmm6, xmm1
movss xmm7, dword [esp + 8]
ja 0x1002a733
ucomiss xmm2, xmm1
ja 0x1002a733
movss xmm2, dword [esp + 0x8c]
subss xmm2, xmm5
mov ebx, dword [esp + 0xc]
mulss xmm2, dword [ebx]
mov ebx, dword [esp + 0x10]
lea ebx, [ebx + ecx*4]
movss xmm1, dword [edx]
jmp 0x1002a780
movss xmm7, dword [esp + 0x28]
ucomiss xmm2, xmm7
movss xmm3, dword [esp + 0x70]
jae 0x1002a076
ucomiss xmm1, xmm7
ja 0x1002a088
ucomiss xmm1, xmm7
jae 0x1002a1ca
ucomiss xmm2, xmm7
jbe 0x1002a1ca
ucomiss xmm3, dword [esp + 0x14]
movss xmm7, dword [esp + 8]
je 0x10029db0
movss xmm1, dword [eax + 0x18]
movss xmm0, dword [esp + 0x14]
ucomiss xmm0, xmm1
ja 0x10029db0
movss xmm0, dword [eax + 0x14]
ucomiss xmm3, xmm0
jb 0x10029db0
movaps xmm2, xmm0
movss xmm7, dword [esp + 0x14]
subss xmm2, xmm7
mulss xmm2, xmm5
divss xmm2, dword [esp + 0x38]
movaps xmm6, xmm7
cmpltss xmm6, xmm0
andps xmm2, xmm6
movss xmm5, dword [0x10034a34]
andnps xmm6, xmm5
orps xmm6, xmm2
addss xmm6, dword [esp + 0x40]
maxss xmm0, xmm7
ucomiss xmm1, xmm3
movss xmm7, dword [esp + 0x28]
movaps xmm2, xmm7
movaps xmm5, xmm3
jae 0x1002a12a
movaps xmm5, xmm7
subss xmm5, xmm6
movaps xmm2, xmm1
subss xmm2, xmm3
mulss xmm2, xmm5
movaps xmm5, xmm3
subss xmm5, xmm0
divss xmm2, xmm5
addss xmm2, xmm7
movaps xmm5, xmm1
ucomiss xmm6, xmm7
movss xmm1, dword [esp + 8]
ja 0x1002a894
ucomiss xmm2, xmm7
ja 0x1002a894
subss xmm5, xmm0
mov ebx, dword [esp + 0xc]
mulss xmm5, dword [ebx]
mov ebx, dword [esp + 0x10]
lea ebx, [ebx + ecx*4]
movss xmm0, dword [edx]
movaps xmm7, xmm1
jmp 0x1002a8df
movss xmm2, dword [eax + 0x18]
ucomiss xmm3, xmm2
ja 0x10029db9
movss xmm0, dword [eax + 0x14]
ucomiss xmm7, xmm0
jb 0x10029db9
ucomiss xmm0, xmm3
jbe 0x1002a59b
movups xmm6, xmmword [esp + 0x54]
movaps xmm1, xmm6
movaps xmm4, xmm7
movss xmm7, dword [esp + 0x28]
subss xmm1, xmm7
movaps xmm5, xmm0
subss xmm5, xmm3
mulss xmm5, xmm1
movss xmm1, dword [0x10034020]
subss xmm1, dword [esp + 0x38]
divss xmm5, xmm1
movaps xmm1, xmm6
movaps xmm6, xmm7
movaps xmm7, xmm4
addss xmm5, xmm6
jmp 0x1002a5ac
movss xmm5, dword [esp]
ucomiss xmm2, xmm5
jae 0x1002a2bf
ucomiss xmm1, xmm5
jbe 0x1002a2bf
ucomiss xmm0, dword [esp + 0x14]
movss xmm7, dword [esp + 8]
je 0x1002a938
movss xmm1, dword [eax + 0x18]
movss xmm2, dword [esp + 0x14]
ucomiss xmm2, xmm1
ja 0x1002a938
movss xmm6, dword [eax + 0x14]
ucomiss xmm0, xmm6
jb 0x1002a938
movaps xmm2, xmm6
movss xmm7, dword [esp + 0x14]
subss xmm2, xmm7
mulss xmm2, xmm4
divss xmm2, dword [esp + 0xa8]
movaps xmm5, xmm7
cmpltss xmm5, xmm6
andps xmm2, xmm5
movss xmm4, dword [0x10034a34]
andnps xmm5, xmm4
orps xmm5, xmm2
addss xmm5, dword [esp + 0x40]
maxss xmm6, xmm7
ucomiss xmm1, xmm0
movss xmm3, dword [esp]
movaps xmm2, xmm3
movaps xmm4, xmm0
jae 0x1002a285
movaps xmm4, xmm3
subss xmm4, xmm5
movaps xmm2, xmm1
subss xmm2, xmm0
mulss xmm2, xmm4
movaps xmm4, xmm0
subss xmm4, xmm6
divss xmm2, xmm4
addss xmm2, xmm3
movaps xmm4, xmm1
movss xmm1, dword [esp + 0x28]
ucomiss xmm5, xmm1
movss xmm7, dword [esp + 8]
ja 0x1002a8ec
ucomiss xmm2, xmm1
ja 0x1002a8ec
subss xmm4, xmm6
mov ebx, dword [esp + 0xc]
mulss xmm4, dword [ebx]
mov ebx, dword [esp + 0x10]
lea ebx, [ebx + ecx*4]
movss xmm1, dword [edx]
jmp 0x1002a930
ucomiss xmm1, xmm5
movss xmm7, dword [esp + 8]
jae 0x1002a655
ucomiss xmm2, xmm5
jbe 0x1002a655
ucomiss xmm0, dword [esp + 0x14]
je 0x1002aaa3
movss xmm1, dword [eax + 0x18]
movss xmm2, dword [esp + 0x14]
ucomiss xmm2, xmm1
ja 0x1002aaa3
movss xmm6, dword [eax + 0x14]
ucomiss xmm0, xmm6
jb 0x1002aaa3
movaps xmm2, xmm6
movss xmm7, dword [esp + 0x14]
subss xmm2, xmm7
mulss xmm2, xmm4
divss xmm2, dword [esp + 0xa8]
movaps xmm5, xmm7
cmpltss xmm5, xmm6
andps xmm2, xmm5
movss xmm4, dword [0x10034a34]
andnps xmm5, xmm4
orps xmm5, xmm2
addss xmm5, dword [esp + 0x40]
maxss xmm6, xmm7
ucomiss xmm1, xmm0
movss xmm3, dword [esp]
movaps xmm2, xmm3
movaps xmm4, xmm0
jae 0x1002a375
movaps xmm4, xmm3
subss xmm4, xmm5
movaps xmm2, xmm1
subss xmm2, xmm0
mulss xmm2, xmm4
movaps xmm4, xmm0
subss xmm4, xmm6
divss xmm2, xmm4
addss xmm2, xmm3
movaps xmm4, xmm1
movss xmm1, dword [esp + 0x28]
ucomiss xmm5, xmm1
movss xmm7, dword [esp + 8]
ja 0x1002aa57
ucomiss xmm2, xmm1
ja 0x1002aa57
subss xmm4, xmm6
mov ebx, dword [esp + 0xc]
mulss xmm4, dword [ebx]
mov ebx, dword [esp + 0x10]
lea ebx, [ebx + ecx*4]
movss xmm1, dword [edx]
jmp 0x1002aa9b
ucomiss xmm2, dword [esp]
jb 0x1002a3bb
ucomiss xmm5, dword [esp]
jae 0x1002a410
movss xmm6, dword [esp + 0x8c]
subss xmm6, xmm4
movss xmm1, dword [esp + 0x28]
addss xmm1, xmm1
subss xmm1, xmm2
subss xmm1, xmm5
mulss xmm1, dword [0x100340c4]
addss xmm1, dword [0x10034020]
mulss xmm1, xmm6
mov ebx, dword [esp + 0xc]
mulss xmm1, dword [ebx]
movss xmm2, dword [edx]
mov ebx, edx
addss xmm2, xmm1
movss dword [ebx], xmm2
nop word cs:[eax + eax]
ucomiss xmm3, xmm0
je 0x1002a530
movss xmm2, dword [eax + 0x18]
ucomiss xmm3, xmm2
ja 0x1002a530
movss xmm5, dword [eax + 0x14]
ucomiss xmm0, xmm5
jb 0x1002a530
ucomiss xmm5, xmm3
jbe 0x1002a476
movss xmm4, dword [esp]
movaps xmm1, xmm4
movss xmm7, dword [esp + 0x28]
subss xmm1, xmm7
movaps xmm6, xmm5
subss xmm6, xmm3
mulss xmm6, xmm1
movss xmm1, dword [esp + 0xa8]
subss xmm1, dword [esp + 0x38]
divss xmm6, xmm1
addss xmm6, xmm7
movss xmm7, dword [esp + 8]
jmp 0x1002a484
movss xmm6, dword [esp + 0x28]
movaps xmm5, xmm3
movss xmm4, dword [esp]
ucomiss xmm2, xmm0
movaps xmm1, xmm4
movaps xmm3, xmm0
jae 0x1002a4b8
movss xmm4, dword [esp]
movaps xmm3, xmm4
subss xmm3, xmm6
movaps xmm1, xmm2
subss xmm1, xmm0
mulss xmm1, xmm3
movaps xmm3, xmm0
subss xmm3, xmm5
divss xmm1, xmm3
addss xmm1, xmm4
movaps xmm3, xmm2
movss xmm2, dword [esp + 0x28]
ucomiss xmm6, xmm2
ja 0x1002a4e1
ucomiss xmm1, xmm2
ja 0x1002a4e1
subss xmm3, xmm5
mov ebx, dword [esp + 0xc]
mulss xmm3, dword [ebx]
mov ebx, dword [esp + 0x10]
lea ebx, [ebx + ecx*4]
movss xmm2, dword [edx]
jmp 0x1002a525
ucomiss xmm6, dword [esp]
jb 0x1002a4ed
ucomiss xmm1, dword [esp]
jae 0x1002a530
subss xmm3, xmm5
movss xmm2, dword [esp + 0x28]
addss xmm2, xmm2
subss xmm2, xmm6
subss xmm2, xmm1
mulss xmm2, dword [0x100340c4]
addss xmm2, dword [0x10034020]
mulss xmm2, xmm3
mov ebx, dword [esp + 0xc]
mulss xmm2, dword [ebx]
movss xmm3, dword [edx]
mov ebx, edx
addss xmm3, xmm2
movss dword [ebx], xmm3
nop dword [eax]
ucomiss xmm0, xmm7
je 0x10029db9
movss xmm2, dword [eax + 0x18]
ucomiss xmm0, xmm2
ja 0x10029db9
movss xmm3, dword [eax + 0x14]
ucomiss xmm7, xmm3
jb 0x10029db9
ucomiss xmm3, xmm0
jbe 0x1002a99b
movups xmm5, xmmword [esp + 0x54]
movaps xmm1, xmm5
movss xmm6, dword [esp]
subss xmm1, xmm6
movaps xmm4, xmm3
subss xmm4, xmm0
mulss xmm4, xmm1
movss xmm1, dword [0x10034020]
subss xmm1, dword [esp + 0xa8]
divss xmm4, xmm1
movaps xmm1, xmm5
addss xmm4, xmm6
jmp 0x1002a9a8
movss xmm6, dword [esp + 0x28]
movaps xmm5, xmm6
movaps xmm0, xmm3
movups xmm1, xmmword [esp + 0x54]
ucomiss xmm2, xmm7
movaps xmm3, xmm7
jae 0x1002a5dd
movups xmm4, xmmword [esp + 0x54]
movaps xmm3, xmm4
subss xmm3, xmm5
movaps xmm1, xmm2
subss xmm1, xmm7
mulss xmm1, xmm3
movaps xmm3, xmm7
subss xmm3, xmm0
divss xmm1, xmm3
addss xmm1, xmm4
movaps xmm3, xmm2
ucomiss xmm5, xmm6
ja 0x1002a600
ucomiss xmm1, xmm6
ja 0x1002a600
subss xmm3, xmm0
mov ebx, dword [esp + 0xc]
mulss xmm3, dword [ebx]
mov ebx, dword [esp + 0x10]
lea ecx, [ebx + ecx*4]
movss xmm0, dword [edx]
jmp 0x1002a648
ucomiss xmm5, dword [esp]
jb 0x1002a610
ucomiss xmm1, dword [esp]
jae 0x10029db9
subss xmm3, xmm0
movss xmm0, dword [esp + 0x28]
addss xmm0, xmm0
subss xmm0, xmm5
subss xmm0, xmm1
mulss xmm0, dword [0x100340c4]
addss xmm0, dword [0x10034020]
mulss xmm0, xmm3
mov ecx, dword [esp + 0xc]
mulss xmm0, dword [ecx]
movss xmm3, dword [edx]
mov ecx, edx
addss xmm3, xmm0
movss dword [ecx], xmm3
jmp 0x10029db9
ucomiss xmm7, dword [esp + 0x14]
je 0x10029db9
movss xmm1, dword [eax + 0x18]
movss xmm0, dword [esp + 0x14]
ucomiss xmm0, xmm1
ja 0x10029db9
movss xmm0, dword [eax + 0x14]
ucomiss xmm7, xmm0
jb 0x10029db9
movaps xmm2, xmm0
movss xmm5, dword [esp + 0x14]
subss xmm2, xmm5
mulss xmm2, dword [esp + 0x104]
movaps xmm4, xmm5
cmpltss xmm4, xmm0
andps xmm2, xmm4
movss xmm3, dword [0x10034a34]
andnps xmm4, xmm3
orps xmm4, xmm2
maxss xmm0, xmm5
ucomiss xmm1, xmm7
movups xmm2, xmmword [esp + 0x54]
movaps xmm3, xmm7
jae 0x1002a6ee
movss xmm3, dword [esp + 0x104]
subss xmm3, xmm4
movaps xmm2, xmm1
subss xmm2, xmm7
mulss xmm2, xmm3
movaps xmm3, xmm7
subss xmm3, xmm0
divss xmm2, xmm3
addss xmm2, dword [esp + 0x54]
movaps xmm3, xmm1
addss xmm4, dword [esp + 0x40]
movss xmm1, dword [esp + 0x28]
ucomiss xmm4, xmm1
ja 0x1002a708
ucomiss xmm2, xmm1
jbe 0x1002a5e7
ucomiss xmm4, dword [esp]
jb 0x1002a718
ucomiss xmm2, dword [esp]
jae 0x10029db9
subss xmm3, xmm0
movss xmm0, dword [esp + 0x28]
addss xmm0, xmm0
subss xmm0, xmm4
subss xmm0, xmm2
jmp 0x1002a626
ucomiss xmm6, dword [esp]
jb 0x1002a73f
ucomiss xmm2, dword [esp]
jae 0x1002a790
movss xmm4, dword [esp + 0x8c]
subss xmm4, xmm5
movss xmm1, dword [esp + 0x28]
addss xmm1, xmm1
subss xmm1, xmm6
subss xmm1, xmm2
mulss xmm1, dword [0x100340c4]
addss xmm1, dword [0x10034020]
mulss xmm1, xmm4
mov ebx, dword [esp + 0xc]
mulss xmm1, dword [ebx]
movss xmm2, dword [edx]
mov ebx, edx
addss xmm2, xmm1
movss dword [ebx], xmm2
nop dword [eax + eax]
ucomiss xmm0, xmm3
je 0x10029db0
movss xmm2, dword [eax + 0x18]
ucomiss xmm0, xmm2
ja 0x10029db0
movss xmm5, dword [eax + 0x14]
ucomiss xmm3, xmm5
jb 0x10029db0
movaps xmm4, xmm7
ucomiss xmm5, xmm0
jbe 0x1002a7f9
movss xmm7, dword [esp + 0x28]
movaps xmm1, xmm7
movss xmm3, dword [esp]
subss xmm1, xmm3
movaps xmm6, xmm5
subss xmm6, xmm0
mulss xmm6, xmm1
movss xmm0, dword [esp + 0x38]
subss xmm0, dword [esp + 0xa8]
divss xmm6, xmm0
addss xmm6, xmm3
movss xmm3, dword [esp + 0x70]
jmp 0x1002a807
movss xmm6, dword [esp]
movaps xmm5, xmm0
movss xmm7, dword [esp + 0x28]
ucomiss xmm2, xmm3
movaps xmm1, xmm7
movaps xmm0, xmm3
jae 0x1002a836
movaps xmm0, xmm7
subss xmm0, xmm6
movaps xmm1, xmm2
subss xmm1, xmm3
mulss xmm1, xmm0
movaps xmm0, xmm3
subss xmm0, xmm5
divss xmm1, xmm0
addss xmm1, xmm7
movaps xmm0, xmm2
ucomiss xmm6, xmm7
ja 0x1002a844
ucomiss xmm1, xmm7
jbe 0x10029d8c
ucomiss xmm6, dword [esp]
movaps xmm7, xmm4
jb 0x1002a857
ucomiss xmm1, dword [esp]
jae 0x10029db0
subss xmm0, xmm5
movss xmm2, dword [esp + 0x28]
addss xmm2, xmm2
subss xmm2, xmm6
subss xmm2, xmm1
mulss xmm2, dword [0x100340c4]
addss xmm2, dword [0x10034020]
mulss xmm2, xmm0
mov ebx, dword [esp + 0xc]
mulss xmm2, dword [ebx]
movss xmm0, dword [edx]
mov ebx, edx
jmp 0x10029da6
ucomiss xmm6, dword [esp]
movaps xmm7, xmm1
jb 0x1002a8a7
ucomiss xmm2, dword [esp]
jae 0x10029db0
subss xmm5, xmm0
movss xmm0, dword [esp + 0x28]
addss xmm0, xmm0
subss xmm0, xmm6
subss xmm0, xmm2
mulss xmm0, dword [0x100340c4]
addss xmm0, dword [0x10034020]
mulss xmm0, xmm5
mov ebx, dword [esp + 0xc]
mulss xmm0, dword [ebx]
movss xmm5, dword [edx]
mov ebx, edx
addss xmm5, xmm0
movss dword [ebx], xmm5
jmp 0x10029db0
ucomiss xmm5, dword [esp]
jb 0x1002a8f8
ucomiss xmm2, dword [esp]
jae 0x1002a938
subss xmm4, xmm6
movss xmm1, dword [esp + 0x28]
addss xmm1, xmm1
subss xmm1, xmm5
subss xmm1, xmm2
mulss xmm1, dword [0x100340c4]
addss xmm1, dword [0x10034020]
mulss xmm1, xmm4
mov ebx, dword [esp + 0xc]
mulss xmm1, dword [ebx]
movss xmm4, dword [edx]
mov ebx, edx
addss xmm4, xmm1
movss dword [ebx], xmm4
ucomiss xmm0, xmm7
je 0x10029db9
movss xmm2, dword [eax + 0x18]
ucomiss xmm0, xmm2
ja 0x10029db9
movss xmm3, dword [eax + 0x14]
ucomiss xmm7, xmm3
jb 0x10029db9
ucomiss xmm3, xmm0
jbe 0x1002a99b
movups xmm5, xmmword [esp + 0x54]
movaps xmm1, xmm5
movss xmm6, dword [esp]
subss xmm1, xmm6
movaps xmm4, xmm3
subss xmm4, xmm0
mulss xmm4, xmm1
movaps xmm1, xmm5
movss xmm0, dword [0x10034020]
subss xmm0, dword [esp + 0xa8]
divss xmm4, xmm0
jmp 0x1002a592
movss xmm4, dword [esp]
movaps xmm3, xmm0
movups xmm1, xmmword [esp + 0x54]
movss xmm6, dword [esp + 0x28]
ucomiss xmm2, xmm7
movaps xmm0, xmm7
jae 0x1002a9df
movups xmm5, xmmword [esp + 0x54]
movaps xmm0, xmm5
subss xmm0, xmm4
movaps xmm1, xmm2
subss xmm1, xmm7
mulss xmm1, xmm0
movaps xmm0, xmm7
subss xmm0, xmm3
divss xmm1, xmm0
addss xmm1, xmm5
movaps xmm0, xmm2
ucomiss xmm4, xmm6
ja 0x1002aa02
ucomiss xmm1, xmm6
ja 0x1002aa02
subss xmm0, xmm3
mov ebx, dword [esp + 0xc]
mulss xmm0, dword [ebx]
mov ebx, dword [esp + 0x10]
lea ecx, [ebx + ecx*4]
movss xmm2, dword [edx]
jmp 0x1002aa4a
ucomiss xmm4, dword [esp]
jb 0x1002aa12
ucomiss xmm1, dword [esp]
jae 0x10029db9
subss xmm0, xmm3
movss xmm2, dword [esp + 0x28]
addss xmm2, xmm2
subss xmm2, xmm4
subss xmm2, xmm1
mulss xmm2, dword [0x100340c4]
addss xmm2, dword [0x10034020]
mulss xmm2, xmm0
mov ecx, dword [esp + 0xc]
mulss xmm2, dword [ecx]
movss xmm0, dword [edx]
mov ecx, edx
addss xmm0, xmm2
movss dword [ecx], xmm0
jmp 0x10029db9
ucomiss xmm5, dword [esp]
jb 0x1002aa63
ucomiss xmm2, dword [esp]
jae 0x1002aaa3
subss xmm4, xmm6
movss xmm1, dword [esp + 0x28]
addss xmm1, xmm1
subss xmm1, xmm5
subss xmm1, xmm2
mulss xmm1, dword [0x100340c4]
addss xmm1, dword [0x10034020]
mulss xmm1, xmm4
mov ebx, dword [esp + 0xc]
mulss xmm1, dword [ebx]
movss xmm4, dword [edx]
mov ebx, edx
addss xmm4, xmm1
movss dword [ebx], xmm4
ucomiss xmm0, xmm7
je 0x10029db9
movss xmm2, dword [eax + 0x18]
ucomiss xmm0, xmm2
ja 0x10029db9
movss xmm3, dword [eax + 0x14]
ucomiss xmm7, xmm3
jb 0x10029db9
ucomiss xmm3, xmm0
jbe 0x1002ab07
movups xmm5, xmmword [esp + 0x54]
movaps xmm1, xmm5
movss xmm6, dword [esp]
subss xmm1, xmm6
movaps xmm4, xmm3
subss xmm4, xmm0
mulss xmm4, xmm1
movaps xmm1, xmm5
movss xmm0, dword [0x10034020]
subss xmm0, dword [esp + 0xa8]
divss xmm4, xmm0
addss xmm4, xmm6
jmp 0x1002ab14
movss xmm4, dword [esp]
movaps xmm3, xmm0
movups xmm1, xmmword [esp + 0x54]
ucomiss xmm2, xmm7
movaps xmm0, xmm7
movss xmm6, dword [esp + 0x28]
jb 0x1002a9b6
jmp 0x1002a9df
mov ecx, esi
mov esi, edx
movss dword [esp], xmm2
movaps xmm2, xmm1
movss xmm1, dword [esp + 0x40]
lea edx, [esi + 1]
xorps xmm4, xmm4
cvtsi2ss xmm4, edx
subss xmm4, xmm1
mulss xmm4, xmm3
addss xmm4, dword [esp + 0x14]
xorps xmm1, xmm1
cvtsi2ss xmm1, esi
movss xmm5, dword [eax + 0x10]
movups xmmword [esp + 0x54], xmm4
unpcklps xmm4, xmm2
movaps xmm2, xmm6
unpcklps xmm2, xmm1
subps xmm4, xmm2
movaps xmm1, xmmword [0x10034dd0]
movss xmm1, xmm5
mulps xmm1, xmm4
movaps xmm2, xmm1
shufps xmm2, xmm1, 0x55
movss xmm4, dword [0x100340c4]
subss xmm4, xmm2
mulss xmm4, xmm1
mov ebx, dword [esp + 0x10]
addss xmm4, dword [ebx + esi*4]
movss dword [ebx + esi*4], xmm4
mov ebx, ecx
sub ebx, edx
movups xmmword [esp + 0x70], xmm3
movups xmmword [esp + 0x40], xmm5
jle 0x1002abe6
movaps xmm4, xmm5
mulss xmm4, xmm3
movaps xmm2, xmm4
mulss xmm2, dword [0x100340c4]
mov edi, esi
not edi
add edi, ecx
cmp edi, 8
jae 0x1002abf7
movaps xmm3, xmm2
movaps xmm2, xmm1
mov edi, dword [esp + 0x10]
movups xmm5, xmmword [esp + 0x54]
jmp 0x1002acd0
movaps xmm2, xmm1
mov edi, dword [esp + 0x10]
movups xmm5, xmmword [esp + 0x54]
jmp 0x1002acea
mov dword [esp + 0x38], ebx
movups xmmword [esp + 0x28], xmm6
mov dword [esp + 0xc], edi
mov ebx, edi
and ebx, 0xfffffff8
movaps xmm5, xmm2
xorps xmm2, xmm2
cvtsi2ss xmm2, ebx
mulss xmm2, xmm4
addss xmm2, xmm1
add edx, ebx
shufps xmm1, xmm1, 0
movaps xmm3, xmm4
shufps xmm4, xmm4, 0
mulps xmm4, xmmword [0x10039e70]
addps xmm4, xmm1
movups xmmword [esp + 0xa8], xmm3
movaps xmm1, xmm3
mulss xmm1, dword [0x10034b14]
shufps xmm1, xmm1, 0
movups xmmword [esp + 0x108], xmm5
shufps xmm5, xmm5, 0
mov ebp, dword [esp + 0x160]
lea edi, [esi*4]
add edi, ebp
xor ebp, ebp
movaps xmm7, xmm4
nop word [eax + eax]
addps xmm7, xmm1
addps xmm4, xmm5
movaps xmm3, xmm7
addps xmm3, xmm5
movups xmm6, xmmword [edi + ebp*4 - 0x10]
addps xmm6, xmm4
movups xmm4, xmmword [edi + ebp*4]
addps xmm4, xmm3
movups xmmword [edi + ebp*4 - 0x10], xmm6
movups xmmword [edi + ebp*4], xmm4
add ebp, 8
addps xmm7, xmm1
movaps xmm4, xmm7
cmp ebx, ebp
jne 0x1002ac70
cmp dword [esp + 0xc], ebx
mov edi, dword [esp + 0x10]
movss xmm7, dword [esp + 8]
movups xmm6, xmmword [esp + 0x28]
movups xmm5, xmmword [esp + 0x54]
mov ebx, dword [esp + 0x38]
movups xmm4, xmmword [esp + 0xa8]
movups xmm3, xmmword [esp + 0x108]
je 0x1002acea
nop
movaps xmm1, xmm2
addss xmm1, xmm3
addss xmm1, dword [edi + edx*4]
movss dword [edi + edx*4], xmm1
addss xmm2, xmm4
inc edx
cmp ecx, edx
jne 0x1002acd0
xorps xmm1, xmm1
cvtsi2ss xmm1, ecx
subss xmm1, dword [esp]
xorps xmm3, xmm3
cvtsi2ss xmm3, ebx
movups xmm4, xmmword [esp + 0x70]
mulss xmm4, xmm3
addss xmm4, xmm5
movaps xmm3, xmm0
subss xmm3, xmm4
mulss xmm1, dword [0x100340c4]
addss xmm1, dword [0x10034020]
movups xmm4, xmmword [esp + 0x40]
mulss xmm3, xmm4
mulss xmm3, xmm1
addss xmm3, xmm2
addss xmm3, dword [edi + ecx*4]
movss dword [edi + ecx*4], xmm3
subss xmm0, xmm6
mulss xmm0, xmm4
mov edx, dword [esp + 0x88]
addss xmm0, dword [edx + ecx*4]
movss dword [edx + ecx*4], xmm0
jmp 0x10029ae0
subss xmm0, xmm1
mulss xmm0, dword [eax + 0x10]
mov ecx, dword [esp + 0x88]
movss xmm1, dword [ecx - 4]
addss xmm0, xmm1
mov ecx, dword [esp + 0x88]
movss dword [ecx - 4], xmm0
jmp 0x10029ae0
subss xmm1, xmm2
mulss xmm1, dword [eax + 0x10]
mov edi, dword [esp + 0x10]
lea edx, [edi + ecx*4]
movss xmm0, dword [edi + ecx*4]
addss xmm1, xmm0
movss dword [edx], xmm1
movss xmm0, dword [eax + 0x18]
ucomiss xmm0, dword [esp + 0x14]
jb 0x10029ae0
movss xmm1, dword [eax + 0x14]
ucomiss xmm7, xmm1
jb 0x10029ae0
lea edx, [ecx + 1]
xorps xmm2, xmm2
cvtsi2ss xmm2, edx
maxss xmm1, dword [esp + 0x14]
minss xmm0, xmm7
movss xmm4, dword [esp + 0x40]
ucomiss xmm4, xmm2
jbe 0x1002ae21
lea edx, [ecx + 2]
xorps xmm3, xmm3
cvtsi2ss xmm3, edx
ucomiss xmm4, xmm3
jae 0x10029ae0
subss xmm0, xmm1
movss xmm1, dword [0x10034020]
subss xmm1, dword [esp + 0x40]
addss xmm1, xmm2
mulss xmm1, xmm0
mulss xmm1, dword [eax + 0x10]
mov esi, dword [esp + 0x88]
lea edx, [esi + ecx*4]
movss xmm0, dword [esi + ecx*4]
jmp 0x1002ae39
subss xmm0, xmm1
mulss xmm0, dword [eax + 0x10]
mov esi, dword [esp + 0x88]
lea edx, [esi + ecx*4]
movss xmm1, dword [esi + ecx*4]
addss xmm0, xmm1
movss dword [edx], xmm0
jmp 0x10029ae0
cmp dword [esp + 0x3c], 0x7ffffffe
movaps xmm2, xmmword [0x10034090]
movss xmm3, dword [0x10034a00]
movss xmm4, dword [0x100340c4]
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0x13c]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x170]
ja 0x1002aec4
xor eax, eax
xorps xmm0, xmm0
nop
addss xmm0, dword [edi + eax*4]
movss xmm1, dword [esi + eax*4]
addss xmm1, xmm0
andps xmm1, xmm2
mulss xmm1, xmm3
addss xmm1, xmm4
cvttss2si ecx, xmm1
cmp ecx, 0xff
mov edx, 0xff
cmovge ecx, edx
mov byte [ebp + eax], cl
inc eax
cmp ebx, eax
jne 0x1002ae90
mov esi, dword [esp + 0x140]
test esi, esi
je 0x100297b0
mov ecx, esi
lea eax, [esp + 0x118]
nop dword [eax]
movss xmm0, dword [ecx + 4]
addss xmm0, dword [ecx + 8]
movss dword [ecx + 4], xmm0
mov eax, dword [eax]
mov ecx, dword [eax]
test ecx, ecx
jne 0x1002aee0
jmp 0x100297b0
mov eax, dword [esp + 0xcc]
test eax, eax
je 0x1002af21
nop word [eax + eax]
mov esi, dword [eax]
push eax
call fcn.10009440
add esp, 4
mov eax, esi
test esi, esi
jne 0x1002af10
lea eax, [esp + 0x1c4]
mov ecx, dword [esp + 0x10]
cmp ecx, eax
je 0x1002af39
push ecx
call fcn.10009440
add esp, 4
push dword [esp + 0x6c]
call fcn.10009440
add esp, 4
mov esi, dword [esp + 0x64]
push esi
call fcn.10009440
add esp, 4
push dword [esp + 0x80]
call fcn.10009440
add esp, 4
nop word cs:[eax + eax]
mov ecx, dword [esp + 0x90]
lea eax, [ecx + ecx*8]
lea esi, [eax + eax*2]
add esi, ecx
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x14c]
add eax, ecx
add eax, 8
mov dword [esp + 0x108], eax
push dword [esp + 0xd8]
call fcn.10009440
add esp, 4
mov ebx, dword [esp + 0x68]
cmp bl, 2
mov dword [esp + 0x40], esi
jb 0x1002b3f0
mov ecx, dword [esp + 0x108]
movzx edx, word [ecx - 2]
movzx ebp, word [ecx - 4]
movzx eax, word [ecx]
movzx edi, word [ecx + 2]
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x54], edx
test edx, edx
je 0x1002b3f0
mov edx, ebp
add eax, dword [esp + 0xe0]
imul edi, dword [esp + 0x24]
add edi, eax
mov eax, dword [esp + 0x16c]
add eax, ebp
mov dword [esp + 0x28], eax
and eax, 0xfffffffe
mov dword [esp], eax
mov eax, ebp
neg eax
mov dword [esp + 8], eax
xor ebp, ebp
mov dword [esp + 0x14], edx
jmp 0x1002b049
add edi, dword [esp + 0x24]
mov ebp, dword [esp + 0x70]
inc ebp
cmp ebp, dword [esp + 0x54]
mov ebx, esi
mov esi, dword [esp + 0x40]
je 0x1002b3f0
push ebx
push 0
lea eax, [esp + 0x1cc]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebx - 2]
cmp eax, 3
mov dword [esp + 0x70], ebp
ja case.default.0x1002b06c
jmp dword [eax*4 + 0x10039f90]
xor ebp, ebp
mov ecx, 0
mov edx, dword [esp + 0x14]
cmp edx, ebx
jb 0x1002b34a
xor ecx, ecx
mov esi, 0
cmp edx, dword [esp + 0x68]
je 0x1002b100
xor ecx, ecx
xor edx, edx
nop word [eax + eax]
movzx ebx, byte [edi + edx]
mov eax, edx
and eax, 6
movzx ebp, byte [esp + eax + 0x1c4]
lea esi, [edx + 2]
mov eax, esi
and eax, 6
mov byte [esp + eax + 0x1c4], bl
sub ebx, ebp
add ebx, ecx
mov eax, ebx
shr eax, 1
mov byte [edi + edx], al
lea eax, [edx + 1]
movzx ecx, byte [edi + edx + 1]
and eax, 7
movzx eax, byte [esp + eax + 0x1c4]
lea ebp, [edx + 3]
and ebp, 7
mov byte [esp + ebp + 0x1c4], cl
sub ecx, eax
add ecx, ebx
mov eax, ecx
shr eax, 1
mov byte [edi + edx + 1], al
mov eax, dword [esp]
mov edx, esi
cmp eax, esi
jne 0x1002b0a0
mov eax, dword [esp + 0x28]
mov ebp, eax
test al, 1
mov edx, dword [esp + 0x14]
je 0x1002b34a
movzx edx, byte [edi + esi]
mov eax, esi
and eax, 7
movzx eax, byte [esp + eax + 0x1c4]
lea ebx, [esi + 2]
and ebx, 7
mov byte [esp + ebx + 0x1c4], dl
sub edx, eax
add ecx, edx
mov edx, dword [esp + 0x14]
mov eax, ecx
shr eax, 1
mov byte [edi + esi], al
mov ebp, dword [esp + 0x28]
jmp 0x1002b34a
xor ebp, ebp
mov ecx, 0
mov edx, dword [esp + 0x14]
cmp edx, ebx
jb 0x1002b34a
xor ecx, ecx
xor ebx, ebx
mov ebp, dword [esp + 0x68]
nop dword [eax + eax]
movzx eax, byte [edi + ebx]
mov edx, ebx
and edx, 7
movzx edx, byte [esp + edx + 0x1c4]
lea esi, [ebx + ebp]
and esi, 7
mov byte [esp + esi + 0x1c4], al
sub eax, edx
add ecx, eax
mov eax, ecx
xor edx, edx
div ebp
mov byte [edi + ebx], al
inc ebx
cmp dword [esp + 0x28], ebx
jne 0x1002b170
mov ebp, dword [esp + 0x28]
jmp 0x1002b346
xor ebp, ebp
mov ecx, 0
mov edx, dword [esp + 0x14]
cmp edx, ebx
jb 0x1002b34a
xor ecx, ecx
xor ebx, ebx
mov ebp, dword [esp + 0x28]
nop dword [eax + eax]
movzx eax, byte [edi + ebx]
mov edx, ebx
and edx, 7
movzx edx, byte [esp + edx + 0x1c4]
lea esi, [ebx + 3]
and esi, 7
mov byte [esp + esi + 0x1c4], al
sub eax, edx
add ecx, eax
mov eax, ecx
mov edx, 0xaaaaaaab
mul edx
shr edx, 1
mov byte [edi + ebx], dl
inc ebx
cmp ebp, ebx
jne 0x1002b1d0
jmp 0x1002b346
xor ebp, ebp
mov ecx, 0
mov edx, dword [esp + 0x14]
cmp edx, ebx
jb 0x1002b34a
xor ecx, ecx
mov eax, 0
cmp edx, dword [esp + 0x68]
mov ebp, dword [esp]
je 0x1002b29e
xor ecx, ecx
xor eax, eax
nop word [eax + eax]
movzx edx, byte [edi + eax]
mov esi, eax
and esi, 6
movzx esi, byte [esp + esi + 0x1c4]
lea ebx, [eax + 4]
and ebx, 6
mov byte [esp + ebx + 0x1c4], dl
sub edx, esi
add edx, ecx
mov ecx, edx
shr ecx, 2
mov byte [edi + eax], cl
lea esi, [eax + 1]
movzx ecx, byte [edi + eax + 1]
and esi, 7
movzx esi, byte [esp + esi + 0x1c4]
lea ebx, [eax + 5]
and ebx, 7
mov byte [esp + ebx + 0x1c4], cl
sub ecx, esi
add ecx, edx
mov edx, ecx
shr edx, 2
mov byte [edi + eax + 1], dl
add eax, 2
cmp ebp, eax
jne 0x1002b240
mov edx, dword [esp + 0x28]
mov ebp, edx
test dl, 1
mov edx, dword [esp + 0x14]
je 0x1002b34a
movzx edx, byte [edi + eax]
mov esi, eax
and esi, 7
movzx esi, byte [esp + esi + 0x1c4]
lea ebx, [eax + 4]
and ebx, 7
mov byte [esp + ebx + 0x1c4], dl
sub edx, esi
add ecx, edx
mov edx, ecx
shr edx, 2
mov byte [edi + eax], dl
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x28]
jmp 0x1002b34a
xor ebp, ebp
mov ecx, 0
mov edx, dword [esp + 0x14]
cmp edx, ebx
jb 0x1002b34a
xor ecx, ecx
xor ebx, ebx
mov ebp, dword [esp + 0x28]
nop word [eax + eax]
movzx eax, byte [edi + ebx]
mov edx, ebx
and edx, 7
movzx edx, byte [esp + edx + 0x1c4]
lea esi, [ebx + 5]
and esi, 7
mov byte [esp + esi + 0x1c4], al
sub eax, edx
add ecx, eax
mov eax, ecx
mov edx, 0xcccccccd
mul edx
shr edx, 2
mov byte [edi + ebx], dl
inc ebx
cmp ebp, ebx
jne 0x1002b310
mov edx, dword [esp + 0x14]
cmp ebp, edx
mov esi, dword [esp + 0x68]
jge 0x1002b030
mov eax, edx
sub eax, ebp
test al, 1
jne 0x1002b370
mov ebx, ebp
jmp 0x1002b38d
mov eax, ebp
and eax, 7
movzx eax, byte [esp + eax + 0x1c4]
sub ecx, eax
mov eax, ecx
xor edx, edx
div dword [esp + 0x68]
mov byte [edi + ebp], al
lea ebx, [ebp + 1]
not ebp
cmp ebp, dword [esp + 8]
mov esi, dword [esp + 0x68]
je 0x1002b030
nop dword [eax]
mov eax, ebx
and eax, 7
movzx eax, byte [esp + eax + 0x1c4]
sub ecx, eax
mov eax, ecx
xor edx, edx
div esi
mov byte [edi + ebx], al
lea eax, [ebx + 1]
and eax, 7
movzx eax, byte [esp + eax + 0x1c4]
sub ecx, eax
mov eax, ecx
xor edx, edx
div esi
mov edx, dword [esp + 0x14]
mov byte [edi + ebx + 1], al
add ebx, 2
cmp edx, ebx
jne 0x1002b3a0
jmp 0x1002b030
mov ecx, dword [esp + 0x148]
lea ebp, [ecx + esi]
movzx edx, word [esp + 0xa6]
rol dx, 8
mov ebx, dword [esp + 0x94]
cmp bl, 2
jb 0x10028d4f
mov word [esp + 0xa6], dx
mov ecx, dword [esp + 0x108]
movzx edx, word [ecx - 2]
movzx edi, word [ecx - 4]
movzx eax, word [ecx]
movzx ecx, word [ecx + 2]
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1c4], 0
mov dword [esp + 8], edi
test edi, edi
je 0x10028d40
add eax, dword [esp + 0xe0]
imul ecx, dword [esp + 0x24]
add ecx, eax
mov dword [esp], ecx
mov eax, dword [esp + 0x168]
add eax, edx
mov dword [esp + 0xa8], eax
mov eax, edx
neg eax
mov dword [esp + 0x3c], eax
xor edi, edi
mov dword [esp + 0x38], ebp
mov dword [esp + 0x14], edx
jmp 0x1002b4ac
inc dword [esp]
mov edi, dword [esp + 0x54]
inc edi
cmp edi, dword [esp + 8]
mov ebx, ebp
mov esi, dword [esp + 0x40]
mov ebp, dword [esp + 0x38]
je 0x10028d40
push ebx
push 0
lea eax, [esp + 0x1cc]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebx - 2]
cmp eax, 3
mov dword [esp + 0x54], edi
ja case.default.0x1002b4cb
jmp dword [eax*4 + 0x10039fa0]
xor edi, edi
mov ecx, 0
mov edx, dword [esp + 0x14]
cmp edx, ebx
jb 0x1002b706
xor ecx, ecx
mov eax, dword [esp]
xor edx, edx
mov ebp, dword [esp + 0xa8]
nop word cs:[eax + eax]
movzx ebx, byte [eax]
mov esi, edx
and esi, 7
movzx esi, byte [esp + esi + 0x1c4]
lea edi, [edx + 2]
and edi, 7
mov byte [esp + edi + 0x1c4], bl
sub ebx, esi
add ecx, ebx
mov ebx, ecx
shr ebx, 1
mov byte [eax], bl
inc edx
add eax, dword [esp + 0x24]
cmp ebp, edx
jne 0x1002b500
jmp 0x1002b700
xor edi, edi
mov ecx, 0
mov edx, dword [esp + 0x14]
cmp edx, ebx
jb 0x1002b706
xor ecx, ecx
mov esi, dword [esp]
xor edi, edi
mov ebp, dword [esp + 0xa8]
nop word cs:[eax + eax]
movzx eax, byte [esi]
mov edx, edi
and edx, 7
movzx edx, byte [esp + edx + 0x1c4]
mov ebx, dword [esp + 0x94]
add ebx, edi
and ebx, 7
mov byte [esp + ebx + 0x1c4], al
sub eax, edx
add ecx, eax
mov eax, ecx
xor edx, edx
div dword [esp + 0x94]
mov byte [esi], al
inc edi
add esi, dword [esp + 0x24]
cmp ebp, edi
jne 0x1002b570
jmp 0x1002b700
xor edi, edi
mov ecx, 0
mov edx, dword [esp + 0x14]
cmp edx, ebx
jb 0x1002b706
xor ecx, ecx
mov esi, dword [esp]
xor edi, edi
mov ebp, dword [esp + 0xa8]
nop word cs:[eax + eax]
movzx ebx, byte [esi]
mov eax, edi
and eax, 7
movzx eax, byte [esp + eax + 0x1c4]
mov edx, ebx
sub edx, eax
add ecx, edx
mov eax, ecx
mov edx, 0xaaaaaaab
mul edx
lea eax, [edi + 3]
and eax, 7
mov byte [esp + eax + 0x1c4], bl
shr edx, 1
mov byte [esi], dl
inc edi
add esi, dword [esp + 0x24]
cmp ebp, edi
jne 0x1002b5f0
jmp 0x1002b700
xor edi, edi
mov ecx, 0
mov edx, dword [esp + 0x14]
cmp edx, ebx
jb 0x1002b706
xor ecx, ecx
mov eax, dword [esp]
xor edx, edx
mov ebp, dword [esp + 0xa8]
nop word cs:[eax + eax]
movzx ebx, byte [eax]
mov esi, edx
and esi, 7
movzx esi, byte [esp + esi + 0x1c4]
lea edi, [edx + 4]
and edi, 7
mov byte [esp + edi + 0x1c4], bl
sub ebx, esi
add ecx, ebx
mov ebx, ecx
shr ebx, 2
mov byte [eax], bl
inc edx
add eax, dword [esp + 0x24]
cmp ebp, edx
jne 0x1002b660
jmp 0x1002b700
xor edi, edi
mov ecx, 0
mov edx, dword [esp + 0x14]
cmp edx, ebx
jb 0x1002b706
xor ecx, ecx
mov esi, dword [esp]
xor edi, edi
mov ebp, dword [esp + 0xa8]
nop dword [eax]
movzx ebx, byte [esi]
mov eax, edi
and eax, 7
movzx eax, byte [esp + eax + 0x1c4]
mov edx, ebx
sub edx, eax
add ecx, edx
mov eax, ecx
mov edx, 0xcccccccd
mul edx
lea eax, [edi + 5]
and eax, 7
mov byte [esp + eax + 0x1c4], bl
shr edx, 2
mov byte [esi], dl
inc edi
add esi, dword [esp + 0x24]
cmp ebp, edi
jne 0x1002b6c0
nop word [eax + eax]
mov edi, ebp
mov edx, dword [esp + 0x14]
cmp edi, edx
mov ebp, dword [esp + 0x94]
jge 0x1002b490
mov eax, edx
sub eax, edi
test al, 1
jne 0x1002b730
mov esi, edi
jmp 0x1002b75a
mov eax, edi
and eax, 7
movzx eax, byte [esp + eax + 0x1c4]
sub ecx, eax
mov eax, ecx
xor edx, edx
div dword [esp + 0x94]
mov edx, edi
imul edx, dword [esp + 0x24]
mov esi, dword [esp]
mov byte [esi + edx], al
lea esi, [edi + 1]
not edi
cmp edi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x94]
je 0x1002b490
lea eax, [esi + 1]
mov edi, dword [esp + 0x24]
imul eax, edi
mov dword [esp + 0x28], eax
imul edi, esi
mov dword [esp + 0x70], edi
mov ebx, dword [esp]
nop word cs:[eax + eax]
mov eax, esi
and eax, 7
movzx eax, byte [esp + eax + 0x1c4]
sub ecx, eax
mov eax, ecx
xor edx, edx
div ebp
mov edx, dword [esp + 0x70]
mov byte [ebx + edx], al
lea eax, [esi + 1]
and eax, 7
movzx eax, byte [esp + eax + 0x1c4]
sub ecx, eax
mov eax, ecx
xor edx, edx
div ebp
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
mov byte [ebx + edi], al
add esi, 2
add ebx, dword [esp + 4]
cmp edx, esi
jne 0x1002b790
jmp 0x1002b490
mov ecx, dword [esp + 0xec]
add eax, ecx
add eax, 0x78
mov dword [esp], eax
mov ecx, dword [esp + 0x128]
imul eax, ecx, 0x64
mov edx, dword [esp + 0x154]
movss xmm1, dword [edx + eax + 0x3c]
movss xmm0, dword [0x10034020]
movups xmmword [esp + 0x40], xmm1
ucomiss xmm0, xmm1
je 0x10028a77
movups xmm0, xmmword [esp + 0x40]
shufps xmm0, xmm0, 0
movups xmmword [esp + 0x40], xmm0
xor ecx, ecx
movaps xmm7, xmmword [0x10034980]
movaps xmm1, xmmword [0x10039ea0]
movaps xmm0, xmmword [str._b_t_n_v]
movups xmmword [esp + 0x14], xmm0
movaps xmm0, xmmword [0x10039e80]
movaps xmm6, xmmword [0x10039ee0]
nop word cs:[eax + eax]
movups xmmword [esp + 0x94], xmm0
movups xmmword [esp + 0x28], xmm1
movups xmmword [esp + 0x70], xmm7
movups xmm3, xmmword [esp + 0x28]
movaps xmm4, xmmword [0x10039eb0]
andps xmm3, xmm4
movaps xmm4, xmmword [0x10039ec0]
orps xmm3, xmm4
movdqu xmm5, xmmword [esp + 0x28]
psrld xmm5, 0x10
movdqa xmm2, xmmword [0x10039ed0]
por xmm5, xmm2
subps xmm5, xmm6
addps xmm5, xmm3
movaps xmm3, xmm7
movaps xmm1, xmmword [0x10039eb0]
andps xmm3, xmm1
orps xmm3, xmm4
movaps xmm6, xmm7
psrld xmm6, 0x10
por xmm6, xmm2
subps xmm6, xmmword [0x10039ee0]
addps xmm6, xmm3
movaps xmm3, xmm0
andps xmm3, xmm1
orps xmm3, xmm4
movaps xmm7, xmm0
psrld xmm7, 0x10
por xmm7, xmm2
subps xmm7, xmmword [0x10039ee0]
addps xmm7, xmm3
movups xmm3, xmmword [esp + 0x14]
movaps xmm0, xmm3
movups xmmword [esp + 0x14], xmm3
andps xmm0, xmm1
orps xmm0, xmm4
psrld xmm3, 0x10
por xmm3, xmm2
subps xmm3, xmmword [0x10039ee0]
addps xmm3, xmm0
movups xmm0, xmmword [esp + 0x40]
mulps xmm3, xmm0
mulps xmm7, xmm0
mulps xmm6, xmm0
mulps xmm5, xmm0
cvttps2dq xmm2, xmm5
movdqa xmm0, xmm2
psrad xmm0, 0x1f
movaps xmm1, xmmword [0x10039ef0]
subps xmm5, xmm1
cvttps2dq xmm5, xmm5
pand xmm5, xmm0
por xmm5, xmm2
cvttps2dq xmm0, xmm6
movdqa xmm2, xmm0
psrad xmm2, 0x1f
subps xmm6, xmm1
cvttps2dq xmm6, xmm6
pand xmm6, xmm2
por xmm6, xmm0
cvttps2dq xmm0, xmm7
movdqa xmm2, xmm0
psrad xmm2, 0x1f
subps xmm7, xmm1
cvttps2dq xmm7, xmm7
pand xmm7, xmm2
por xmm7, xmm0
cvttps2dq xmm0, xmm3
movdqa xmm2, xmm0
psrad xmm2, 0x1f
subps xmm3, xmm1
cvttps2dq xmm1, xmm3
pand xmm1, xmm2
movdqa xmm2, xmmword [0x10039f00]
por xmm1, xmm0
movdqa xmm0, xmm1
movdqa xmm4, xmmword [0x10034040]
pxor xmm0, xmm4
movdqa xmm3, xmm2
pcmpgtd xmm3, xmm0
pand xmm1, xmm3
pandn xmm3, xmmword [0x10034160]
por xmm3, xmm1
movdqa xmm0, xmm7
pxor xmm0, xmm4
movdqa xmm1, xmm2
pcmpgtd xmm1, xmm0
pand xmm7, xmm1
pandn xmm1, xmmword [0x10034160]
por xmm1, xmm7
packuswb xmm3, xmm1
movdqa xmm0, xmm6
pxor xmm0, xmm4
movdqa xmm7, xmm2
pcmpgtd xmm7, xmm0
pand xmm6, xmm7
pandn xmm7, xmmword [0x10034160]
por xmm7, xmm6
movaps xmm6, xmmword [0x10039ee0]
movdqa xmm0, xmm5
pxor xmm0, xmm4
movdqa xmm1, xmm2
movdqa xmm2, xmmword [0x10039f10]
pcmpgtd xmm1, xmm0
movdqu xmm0, xmmword [esp + 0x94]
pand xmm5, xmm1
pandn xmm1, xmmword [0x10034160]
por xmm1, xmm5
packuswb xmm7, xmm1
packuswb xmm7, xmm3
movdqu xmm1, xmmword [esp + 0x28]
movdqu xmmword [esp + ecx + 0x1c4], xmm7
movdqu xmm7, xmmword [esp + 0x70]
add ecx, 0x10
paddd xmm7, xmm2
paddd xmm1, xmm2
movdqu xmm3, xmmword [esp + 0x14]
paddd xmm3, xmm2
movdqu xmmword [esp + 0x14], xmm3
paddd xmm0, xmm2
cmp ecx, 0x100
jne 0x1002b860
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0xec]
mov eax, dword [eax + ecx + 0x7c]
test eax, eax
je 0x10028a70
mov edx, ecx
mov ecx, dword [esp + 0x50]
add ecx, edx
add ecx, 0x7c
mov dword [esp + 0x70], ecx
mov ecx, dword [esp]
mov ecx, dword [ecx]
mov edi, ecx
jmp 0x1002bae1
mov eax, dword [esp]
mov ecx, dword [eax]
mov eax, dword [esp + 0x70]
mov eax, dword [eax]
mov edi, dword [esp + 0x28]
add edi, 0x10
mov edx, eax
shl edx, 4
add edx, ecx
cmp edi, edx
je 0x10028a70
cmp dword [edi + 0xc], 0
je 0x1002bacf
movzx esi, word [edi + 6]
test esi, esi
je 0x1002bacf
movzx eax, word [edi + 4]
movzx ecx, word [edi + 8]
mov dword [esp + 0x28], edi
movzx ebx, word [edi + 0xa]
add ecx, dword [esp + 0xe0]
imul ebx, dword [esp + 0x24]
add ebx, ecx
mov ebp, eax
and ebp, 3
mov dword [esp + 0x14], eax
mov edi, eax
and edi, 0xfffffffc
jmp 0x1002bb2e
lea eax, [esi - 1]
add ebx, dword [esp + 0x24]
cmp esi, 1
mov esi, eax
jle 0x1002bac0
cmp dword [esp + 0x14], 0
je 0x1002bb20
xor ecx, ecx
cmp word [esp + 0x14], 4
jb 0x1002bb99
xor ecx, ecx
nop word cs:[eax + eax]
movzx eax, byte [ebx + ecx]
movzx eax, byte [esp + eax + 0x1c4]
mov byte [ebx + ecx], al
movzx eax, byte [ebx + ecx + 1]
movzx eax, byte [esp + eax + 0x1c4]
mov byte [ebx + ecx + 1], al
movzx eax, byte [ebx + ecx + 2]
movzx eax, byte [esp + eax + 0x1c4]
mov byte [ebx + ecx + 2], al
movzx eax, byte [ebx + ecx + 3]
movzx eax, byte [esp + eax + 0x1c4]
mov byte [ebx + ecx + 3], al
add ecx, 4
cmp edi, ecx
jne 0x1002bb50
test ebp, ebp
je 0x1002bb20
add ecx, ebx
xor edx, edx
nop word cs:[eax + eax]
movzx eax, byte [ecx + edx]
movzx eax, byte [esp + eax + 0x1c4]
mov byte [ecx + edx], al
inc edx
cmp ebp, edx
jne 0x1002bbb0
jmp 0x1002bb20
push dword [esp + 0xc4]
call fcn.10009440
add esp, 4
push dword [esp + 0xb8]
call fcn.10009440
add esp, 4
push dword [esp + 0xdc]
call fcn.10009440
mov eax, dword [esp + 0x400]
add esp, 4
cmp dword [eax + 0x44], 0
jle 0x1002c024
xor ecx, ecx
jmp 0x1002bc25
mov ecx, dword [esp + 0x54]
inc ecx
mov eax, dword [esp + 0x3fc]
cmp ecx, dword [eax + 0x44]
jge 0x1002c024
mov edi, dword [eax + 0x4c]
imul ebx, ecx, 0x64
mov eax, ecx
shl eax, 7
lea edx, [eax + ecx*8]
mov ebp, dword [edi + ebx + 0x60]
cmp byte [edi + ebx + 0x34], 0
mov dword [esp + 0x54], ecx
je 0x1002bc60
movzx eax, word [ebp + 0x3e]
inc eax
movss xmm0, dword [ebp + 0x48]
jmp 0x1002bdd3
movss xmm0, dword [edi + ebx + 0x10]
movss dword [esp + 0x28], xmm0
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx + edx + 4]
mov ecx, dword [ecx + edx + 0x1c]
movzx esi, byte [eax + ecx + 4]
shl esi, 8
mov dword [esp + 0x70], esi
movzx esi, byte [eax + ecx + 5]
mov dword [esp + 0x94], esi
movzx esi, byte [eax + ecx + 6]
shl esi, 8
mov dword [esp + 0x14], esi
movzx eax, byte [eax + ecx + 7]
mov dword [esp + 4], eax
mov dword [ebp], 0
mov eax, dword [ebp + 0x18]
test eax, eax
mov dword [esp + 0x24], edx
je 0x1002bcd9
mov dword [ebp + 0x14], 0
mov dword [ebp + 0x10], 0
push eax
call fcn.10009440
mov edx, dword [esp + 0x28]
add esp, 4
mov dword [ebp + 0x18], 0
movsx esi, word [esp + 0x70]
add esi, dword [esp + 0x94]
movsx ecx, word [esp + 0x14]
add ecx, dword [esp + 4]
mov eax, dword [ebp + 0x24]
test eax, eax
mov dword [esp + 0x14], ecx
je 0x1002bd1f
mov dword [ebp + 0x20], 0
mov dword [ebp + 0x1c], 0
push eax
call fcn.10009440
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
add esp, 4
mov dword [ebp + 0x24], 0
mov dword [esp + 0x70], esi
sub esi, ecx
lea eax, [edi + ebx]
mov dword [esp + 0x94], eax
mov eax, dword [ebp + 0x30]
test eax, eax
je 0x1002bd5c
mov dword [ebp + 0x2c], 0
mov dword [ebp + 0x28], 0
push eax
call fcn.10009440
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
add esp, 4
mov dword [ebp + 0x30], 0
cvtsi2ss xmm1, esi
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0x70]
cvtsi2ss xmm2, ecx
lea eax, [edi + ebx]
add eax, 0x10
mov dword [ebp + 0x34], 0
mov dword [ebp + 0x38], 0
xorps xmm3, xmm3
movups xmmword [ebp + 0x3e], xmm3
mov dword [ebp + 0x50], 0
mov dword [ebp + 0x4c], 0
movss xmm3, dword [eax]
movss xmm4, dword [esp + 0x28]
divss xmm4, xmm1
mulss xmm0, xmm4
mulss xmm2, xmm4
movss dword [ebp], xmm3
mov eax, dword [esp + 0x94]
mov dword [ebp + 0x40], eax
mov eax, dword [esp + 0x3fc]
mov dword [ebp + 0x44], eax
movss dword [ebp + 0x48], xmm0
movss dword [ebp + 0x4c], xmm2
mov ax, 1
mov word [ebp + 0x3e], ax
addss xmm0, dword [0x100340c4]
mov eax, dword [esp + 0x50]
mov eax, dword [eax + edx + 0x84]
mov dword [esp + 0x14], eax
test eax, eax
jle 0x1002bc10
lea esi, [edi + ebx]
add esi, 0x34
movss xmm1, dword [edi + ebx + 0x28]
movss dword [esp + 0x70], xmm1
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
addss xmm0, dword [edi + ebx + 0x2c]
movups xmmword [esp + 0x94], xmm0
mov ecx, dword [esp + 0x50]
lea edi, [ecx + edx]
add edi, 0x84
xor ebx, ebx
mov dword [esp + 4], esi
mov dword [esp], edi
jmp 0x1002be58
mov edi, dword [esp]
mov eax, dword [edi]
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0x40]
inc ebx
cmp ebx, dword [esp + 0x14]
jge 0x1002bc10
mov ecx, dword [edi - 4]
lea edx, [ebx + ebx*2]
mov eax, dword [ecx + edx*8 + 0xc]
mov dword [esp + 0x24], eax
test eax, eax
jle 0x1002be4d
mov dword [esp + 0x40], ebx
lea ecx, [ecx + edx*8]
add ecx, 0xc
xor edi, edi
xor ebx, ebx
mov dword [esp + 0x28], ecx
jmp 0x1002bfa0
mov ecx, dword [esp + 0x3fc]
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [ecx + 0x18]
movss xmm5, dword [0x10034020]
movaps xmm3, xmm5
xorps xmm1, xmm1
cvtsi2ss xmm1, dword [ecx + 0x14]
divss xmm3, xmm0
divss xmm5, xmm1
movzx ecx, word [esp + 0x14]
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
mulss xmm0, xmm5
movss dword [esp + 0x24], xmm0
movzx ecx, word [eax + edi + 2]
xorps xmm1, xmm1
cvtsi2ss xmm1, ecx
movzx ecx, word [eax + edi + 4]
xorps xmm2, xmm2
cvtsi2ss xmm2, ecx
movzx ecx, word [eax + edi + 6]
xorps xmm4, xmm4
cvtsi2ss xmm4, ecx
mulss xmm1, xmm3
mulss xmm2, xmm5
mulss xmm4, xmm3
movss xmm3, dword [eax + edi + 0x18]
movups xmm7, xmmword [esp + 0x94]
addss xmm3, xmm7
movss xmm5, dword [eax + edi + 0x14]
movss xmm0, dword [esp + 0x70]
addss xmm5, xmm0
movss xmm6, dword [eax + edi + 0xc]
addss xmm6, xmm7
movss xmm7, dword [eax + edi + 8]
addss xmm7, xmm0
movss xmm0, dword [eax + edi + 0x10]
sub esp, 0x28
movss dword [esp + 0x24], xmm0
movss dword [esp + 0x20], xmm4
movss dword [esp + 0x1c], xmm2
movss dword [esp + 0x18], xmm1
movss xmm0, dword [esp + 0x4c]
movss dword [esp + 0x14], xmm0
movss dword [esp + 0x10], xmm3
movss dword [esp + 0xc], xmm5
movss dword [esp + 8], xmm6
movss dword [esp + 4], xmm7
movzx eax, dx
mov dword [esp], eax
mov ecx, ebp
call fcn.1002c870
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov dword [esp + 0x24], eax
inc ebx
add edi, 0x1c
cmp ebx, dword [esp + 0x24]
jge 0x1002be40
mov eax, dword [ecx + 4]
movzx edx, word [eax + edi]
test dx, dx
jne 0x1002bfd0
cmp word [eax + edi + 4], 0
jne 0x1002bfd0
cmp word [eax + edi + 2], 0
jne 0x1002bfd0
cmp word [eax + edi + 6], 0
je 0x1002bf92
nop word cs:[eax + eax]
mov word [esp + 0x14], dx
mov edx, dword [ecx - 8]
add edx, ebx
cmp byte [esi], 0
je 0x1002be90
movzx ecx, dx
cmp dword [ebp + 0x28], ecx
jle 0x1002c010
mov esi, ebp
mov ebp, dword [ebp + 0x30]
movzx ecx, word [ebp + ecx*2]
mov ebp, esi
mov esi, dword [esp + 4]
cmp ecx, 0xffff
je 0x1002c010
lea ecx, [ecx + ecx*4]
shl ecx, 3
add ecx, dword [ebp + 0x18]
jmp 0x1002c013
mov ecx, dword [ebp + 0x34]
test ecx, ecx
mov ecx, dword [esp + 0x28]
jne 0x1002bf92
jmp 0x1002be90
push dword [esp + 0x12c]
mov esi, eax
call fcn.10009440
add esp, 4
push dword [esp + 0x124]
call fcn.10009440
add esp, 4
push dword [esp + 0x50]
call fcn.10009440
add esp, 4
push esi
call fcn.1002ca20
add esp, 4
mov al, 1
add esp, 0x3e8
pop esi
pop edi
pop ebx
pop ebp
ret