Function at 0x100068f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x63c
mov eax, dword [0x1003a008]
xor eax, ebp
mov dword [ebp - 4], eax
movsd xmm0, qword [0x10037db8]
movsd qword [0x1003a920], xmm0
movsd xmm0, qword [0x10037dd8]
movsd qword [0x1003a910], xmm0
movsd xmm0, qword [0x10037dc0]
movsd qword [0x1003a928], xmm0
movsd xmm0, qword [0x10037db0]
movsd qword [0x1003a918], xmm0
xorps xmm0, xmm0
mov dword [ebp - 0x634], ecx
xor ecx, ecx
movups xmmword [ebp - 0x224], xmm0
mov dword [ebp - 0x314], 0xe4e1f1c1
movups xmmword [ebp - 0x214], xmm0
mov word [ebp - 0x310], 0xe2f2
mov byte [ebp - 0x30e], 0
nop word [eax + eax]
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x314], al
inc ecx
cmp ecx, 6
jb 0x10006980
xor eax, eax
mov byte [ebp - 0x30e], 0
cmp byte [ebp - 0x224], al
je 0x100069ac
inc eax
cmp byte [ebp + eax - 0x224], 0
jne 0x100069a1
push ebx
lea ecx, [ebp - 0x224]
mov dword [ebp - 0x624], 0
push esi
add eax, ecx
mov dword [ebp - 0x3dc], 0xb1beb3b0
xorps xmm0, xmm0
mov dword [ebp - 0x628], eax
push edi
lea esi, [ebp - 0x314]
mov dword [ebp - 0x3d8], 0xb9bbbdb7
movups xmmword [ebp - 0xa4], xmm0
mov byte [ebp - 0x3d4], 0
xor ecx, ecx
movups xmmword [ebp - 0x94], xmm0
nop dword [eax + eax]
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x3dc], al
inc ecx
cmp ecx, 8
jb 0x10006a00
mov al, byte [ebp - 0x3dc]
mov byte [ebp - 0x3d4], 0
mov byte [ebp - 0xa4], al
test al, al
je 0x10006a45
xor ecx, ecx
nop dword [eax]
lea ecx, [ecx + 1]
mov al, byte [ebp + ecx - 0x3dc]
mov byte [ebp + ecx - 0xa4], al
test al, al
jne 0x10006a30
movsx ebx, byte [ebp - 0x314]
mov edi, 3
mov al, bl
add al, al
lea ecx, [eax + ebx]
add cl, byte [ebp - 0xa4]
inc cl
mov byte [ebp - 0xa4], cl
mov ecx, 0xc
movsx eax, byte [ebp - 0xa4]
cdq
idiv ecx
movzx eax, byte [ebp - 0xa3]
or edx, ebx
add al, dl
mov byte [ebp - 0xa3], al
movzx eax, byte [ebp - 0xa3]
mov cl, byte [ebp - 0xa4]
and cl, al
add cl, cl
dec cl
add cl, byte [ebp - 0xa1]
mov byte [ebp - 0xa1], cl
movsx ecx, byte [ebp - 0xa1]
movzx eax, byte [ebp - 0xa0]
sar ecx, 6
add al, cl
mov byte [ebp - 0xa0], al
xor eax, eax
movsx edx, byte [ebp + edi - 0xa4]
movsx ecx, byte [ebp + edi - 0xa5]
add edx, edx
add ecx, edx
inc edi
lea eax, [eax + ecx*2]
cmp edi, 0x11
jl 0x10006ac0
mov ecx, dword [ebp - 0x624]
cdq
lea ecx, [ecx*2 + 0x31]
idiv ecx
test edx, edx
jne 0x10006b3f
mov eax, dword [ebp - 0x624]
mov dword [ebp - 0x624], eax
cmp dword [ebp - 0x624], 0xe
jle 0x10006b10
mov dword [ebp - 0x624], 1
mov edx, dword [ebp - 0x628]
lea ecx, [ebp - 0x314]
mov al, byte [ebp - 0x314]
mov byte [edx], al
test al, al
je 0x10006b6d
mov eax, ecx
sub edx, eax
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
mov byte [edx + ecx], al
test al, al
jne 0x10006b30
jmp 0x10006b6d
mov ecx, dword [ebp - 0x628]
mov al, byte [ebp - 0x314]
mov byte [ecx], al
test al, al
je 0x10006b6d
lea eax, [ebp - 0x314]
sub ecx, eax
nop dword [eax]
mov al, byte [esi + 1]
lea esi, [esi + 1]
mov byte [ecx + esi], al
test al, al
jne 0x10006b60
mov dword [ebp - 0x2cc], 0xe9ebecd6
xor ecx, ecx
mov word [ebp - 0x2c8], 0xe2ee
mov byte [ebp - 0x2c6], 0
nop dword [eax]
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x2cc], al
inc ecx
cmp ecx, 6
jb 0x10006b90
xor eax, eax
mov byte [ebp - 0x2c6], 0
cmp byte [ebp - 0x224], al
je 0x10006bbc
inc eax
cmp byte [ebp + eax - 0x224], 0
jne 0x10006bb1
lea ecx, [ebp - 0x224]
mov dword [ebp - 0x624], 0
add eax, ecx
mov dword [ebp - 0x3d0], 0xb1beb3b0
xorps xmm0, xmm0
mov dword [ebp - 0x628], eax
lea edi, [ebp - 0x2cc]
mov dword [ebp - 0x3cc], 0xb9bbbdb7
movups xmmword [ebp - 0x184], xmm0
mov byte [ebp - 0x3c8], 0
xor ecx, ecx
movups xmmword [ebp - 0x174], xmm0
nop dword [eax + eax]
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x3d0], al
inc ecx
cmp ecx, 8
jb 0x10006c10
mov al, byte [ebp - 0x3d0]
mov byte [ebp - 0x3c8], 0
mov byte [ebp - 0x184], al
test al, al
je 0x10006c55
xor ecx, ecx
nop dword [eax]
lea ecx, [ecx + 1]
mov al, byte [ebp + ecx - 0x3d0]
mov byte [ebp + ecx - 0x184], al
test al, al
jne 0x10006c40
movsx ebx, byte [ebp - 0x2cc]
mov esi, 3
mov al, bl
add al, al
lea ecx, [eax + ebx]
add cl, byte [ebp - 0x184]
inc cl
mov byte [ebp - 0x184], cl
mov ecx, 0xc
movsx eax, byte [ebp - 0x184]
cdq
idiv ecx
movzx eax, byte [ebp - 0x183]
or edx, ebx
add al, dl
mov byte [ebp - 0x183], al
movzx eax, byte [ebp - 0x183]
mov cl, byte [ebp - 0x184]
and cl, al
add cl, cl
dec cl
add cl, byte [ebp - 0x181]
mov byte [ebp - 0x181], cl
movsx ecx, byte [ebp - 0x181]
movzx eax, byte [ebp - 0x180]
sar ecx, 6
add al, cl
mov byte [ebp - 0x180], al
xor eax, eax
movsx edx, byte [ebp + esi - 0x184]
movsx ecx, byte [ebp + esi - 0x185]
add edx, edx
add ecx, edx
inc esi
lea eax, [eax + ecx*2]
cmp esi, 0x11
jl 0x10006cd0
mov ecx, dword [ebp - 0x624]
cdq
lea ecx, [ecx*2 + 0x31]
idiv ecx
test edx, edx
jne 0x10006d4f
mov eax, dword [ebp - 0x624]
mov dword [ebp - 0x624], eax
cmp dword [ebp - 0x624], 0xe
jle 0x10006d20
mov dword [ebp - 0x624], 1
mov edx, dword [ebp - 0x628]
lea ecx, [ebp - 0x2cc]
mov al, byte [ebp - 0x2cc]
mov byte [edx], al
test al, al
je 0x10006d7d
mov eax, ecx
sub edx, eax
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
mov byte [ecx + edx], al
test al, al
jne 0x10006d40
jmp 0x10006d7d
mov ecx, dword [ebp - 0x628]
mov al, byte [ebp - 0x2cc]
mov byte [ecx], al
test al, al
je 0x10006d7d
lea eax, [ebp - 0x2cc]
sub ecx, eax
nop dword [eax]
mov al, byte [edi + 1]
lea edi, [edi + 1]
mov byte [ecx + edi], al
test al, al
jne 0x10006d70
mov dword [ebp - 0x2d4], 0xb7b7f3ee
xor ecx, ecx
mov word [ebp - 0x2d0], 0xe9d5
mov byte [ebp - 0x2ce], 0
nop dword [eax]
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x2d4], al
inc ecx
cmp ecx, 6
jb 0x10006da0
xor eax, eax
mov byte [ebp - 0x2ce], 0
cmp byte [ebp - 0x224], al
je 0x10006dcc
inc eax
cmp byte [ebp + eax - 0x224], 0
jne 0x10006dc1
lea ecx, [ebp - 0x224]
mov dword [ebp - 0x624], 0
add eax, ecx
mov dword [ebp - 0x3e8], 0xb1beb3b0
xorps xmm0, xmm0
mov dword [ebp - 0x628], eax
lea edi, [ebp - 0x2d4]
mov dword [ebp - 0x3e4], 0xb9bbbdb7
movups xmmword [ebp - 0x164], xmm0
mov byte [ebp - 0x3e0], 0
xor ecx, ecx
movups xmmword [ebp - 0x154], xmm0
nop dword [eax + eax]
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x3e8], al
inc ecx
cmp ecx, 8
jb 0x10006e20
mov al, byte [ebp - 0x3e8]
mov byte [ebp - 0x3e0], 0
mov byte [ebp - 0x164], al
test al, al
je 0x10006e65
xor ecx, ecx
nop dword [eax]
lea ecx, [ecx + 1]
mov al, byte [ebp + ecx - 0x3e8]
mov byte [ebp + ecx - 0x164], al
test al, al
jne 0x10006e50
movsx ebx, byte [ebp - 0x2d4]
mov esi, 3
mov al, bl
add al, al
lea ecx, [eax + ebx]
add cl, byte [ebp - 0x164]
inc cl
mov byte [ebp - 0x164], cl
mov ecx, 0xc
movsx eax, byte [ebp - 0x164]
cdq
idiv ecx
movzx eax, byte [ebp - 0x163]
or edx, ebx
add al, dl
mov byte [ebp - 0x163], al
movzx eax, byte [ebp - 0x163]
mov cl, byte [ebp - 0x164]
and cl, al
add cl, cl
dec cl
add cl, byte [ebp - 0x161]
mov byte [ebp - 0x161], cl
movsx ecx, byte [ebp - 0x161]
movzx eax, byte [ebp - 0x160]
sar ecx, 6
add al, cl
mov byte [ebp - 0x160], al
xor eax, eax
movsx edx, byte [ebp + esi - 0x164]
movsx ecx, byte [ebp + esi - 0x165]
add edx, edx
add ecx, edx
inc esi
lea eax, [eax + ecx*2]
cmp esi, 0x11
jl 0x10006ee0
mov ecx, dword [ebp - 0x624]
cdq
lea ecx, [ecx*2 + 0x31]
idiv ecx
test edx, edx
jne 0x10006f5f
mov eax, dword [ebp - 0x624]
mov dword [ebp - 0x624], eax
cmp dword [ebp - 0x624], 0xe
jle 0x10006f30
mov dword [ebp - 0x624], 1
mov edx, dword [ebp - 0x628]
lea ecx, [ebp - 0x2d4]
mov al, byte [ebp - 0x2d4]
mov byte [edx], al
test al, al
je 0x10006f8d
mov eax, ecx
sub edx, eax
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
mov byte [ecx + edx], al
test al, al
jne 0x10006f50
jmp 0x10006f8d
mov ecx, dword [ebp - 0x628]
mov al, byte [ebp - 0x2d4]
mov byte [ecx], al
test al, al
je 0x10006f8d
lea eax, [ebp - 0x2d4]
sub ecx, eax
nop dword [eax]
mov al, byte [edi + 1]
lea edi, [edi + 1]
mov byte [edi + ecx], al
test al, al
jne 0x10006f80
mov dword [ebp - 0x2dc], 0xedf7f3e3
xor ecx, ecx
mov word [ebp - 0x2d8], 0xf3e9
mov byte [ebp - 0x2d6], 0
nop dword [eax]
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x2dc], al
inc ecx
cmp ecx, 6
jb 0x10006fb0
xor eax, eax
mov byte [ebp - 0x2d6], 0
cmp byte [ebp - 0x224], al
je 0x10006fdc
inc eax
cmp byte [ebp + eax - 0x224], 0
jne 0x10006fd1
lea ecx, [ebp - 0x224]
mov dword [ebp - 0x624], 0
add eax, ecx
mov dword [ebp - 0x3c4], 0xb1beb3b0
xorps xmm0, xmm0
mov dword [ebp - 0x628], eax
lea edi, [ebp - 0x2dc]
mov dword [ebp - 0x3c0], 0xb9bbbdb7
movups xmmword [ebp - 0x124], xmm0
mov byte [ebp - 0x3bc], 0
xor ecx, ecx
movups xmmword [ebp - 0x114], xmm0
nop dword [eax + eax]
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x3c4], al
inc ecx
cmp ecx, 8
jb 0x10007030
mov al, byte [ebp - 0x3c4]
mov byte [ebp - 0x3bc], 0
mov byte [ebp - 0x124], al
test al, al
je 0x10007075
xor ecx, ecx
nop dword [eax]
lea ecx, [ecx + 1]
mov al, byte [ebp + ecx - 0x3c4]
mov byte [ebp + ecx - 0x124], al
test al, al
jne 0x10007060
movsx ebx, byte [ebp - 0x2dc]
mov esi, 3
mov al, bl
add al, al
lea ecx, [eax + ebx]
add cl, byte [ebp - 0x124]
inc cl
mov byte [ebp - 0x124], cl
mov ecx, 0xc
movsx eax, byte [ebp - 0x124]
cdq
idiv ecx
movzx eax, byte [ebp - 0x123]
or edx, ebx
add al, dl
mov byte [ebp - 0x123], al
movzx eax, byte [ebp - 0x123]
mov cl, byte [ebp - 0x124]
and cl, al
add cl, cl
dec cl
add cl, byte [ebp - 0x121]
mov byte [ebp - 0x121], cl
movsx ecx, byte [ebp - 0x121]
movzx eax, byte [ebp - 0x120]
sar ecx, 6
add al, cl
mov byte [ebp - 0x120], al
xor eax, eax
movsx edx, byte [ebp + esi - 0x124]
movsx ecx, byte [ebp + esi - 0x125]
add edx, edx
add ecx, edx
inc esi
lea eax, [eax + ecx*2]
cmp esi, 0x11
jl 0x100070f0
mov ecx, dword [ebp - 0x624]
cdq
lea ecx, [ecx*2 + 0x31]
idiv ecx
test edx, edx
jne 0x1000716f
mov eax, dword [ebp - 0x624]
mov dword [ebp - 0x624], eax
cmp dword [ebp - 0x624], 0xe
jle 0x10007140
mov dword [ebp - 0x624], 1
mov edx, dword [ebp - 0x628]
lea ecx, [ebp - 0x2dc]
mov al, byte [ebp - 0x2dc]
mov byte [edx], al
test al, al
je 0x1000719d
mov eax, ecx
sub edx, eax
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
mov byte [edx + ecx], al
test al, al
jne 0x10007160
jmp 0x1000719d
mov ecx, dword [ebp - 0x628]
mov al, byte [ebp - 0x2dc]
mov byte [ecx], al
test al, al
je 0x1000719d
lea eax, [ebp - 0x2dc]
sub ecx, eax
nop dword [eax]
mov al, byte [edi + 1]
lea edi, [edi + 1]
mov byte [edi + ecx], al
test al, al
jne 0x10007190
xorps xmm0, xmm0
mov dword [ebp - 0x2e4], 0xebf6e6e9
movups xmmword [ebp - 0x2a4], xmm0
mov word [ebp - 0x2e0], 0xebe3
xor ecx, ecx
movups xmmword [ebp - 0x294], xmm0
mov byte [ebp - 0x2de], 0
nop word [eax + eax]
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x2e4], al
inc ecx
cmp ecx, 6
jb 0x100071d0
xor eax, eax
mov byte [ebp - 0x2de], 0
cmp byte [ebp - 0x2a4], al
je 0x100071fc
inc eax
cmp byte [ebp + eax - 0x2a4], 0
jne 0x100071f1
lea ecx, [ebp - 0x2a4]
mov dword [ebp - 0x624], 0
add eax, ecx
mov dword [ebp - 0x3b8], 0xb1beb3b0
xorps xmm0, xmm0
mov dword [ebp - 0x628], eax
lea edi, [ebp - 0x2e4]
mov dword [ebp - 0x3b4], 0xb9bbbdb7
movups xmmword [ebp - 0x104], xmm0
mov byte [ebp - 0x3b0], 0
xor ecx, ecx
movups xmmword [ebp - 0xf4], xmm0
nop dword [eax + eax]
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x3b8], al
inc ecx
cmp ecx, 8
jb 0x10007250
mov al, byte [ebp - 0x3b8]
mov byte [ebp - 0x3b0], 0
mov byte [ebp - 0x104], al
test al, al
je 0x10007295
xor ecx, ecx
nop dword [eax]
lea ecx, [ecx + 1]
mov al, byte [ebp + ecx - 0x3b8]
mov byte [ebp + ecx - 0x104], al
test al, al
jne 0x10007280
movsx ebx, byte [ebp - 0x2e4]
mov esi, 3
mov al, bl
add al, al
lea ecx, [eax + ebx]
add cl, byte [ebp - 0x104]
inc cl
mov byte [ebp - 0x104], cl
mov ecx, 0xc
movsx eax, byte [ebp - 0x104]
cdq
idiv ecx
movzx eax, byte [ebp - 0x103]
or edx, ebx
add al, dl
mov byte [ebp - 0x103], al
movzx eax, byte [ebp - 0x103]
mov cl, byte [ebp - 0x104]
and cl, al
add cl, cl
dec cl
add cl, byte [ebp - 0x101]
mov byte [ebp - 0x101], cl
movsx ecx, byte [ebp - 0x101]
movzx eax, byte [ebp - 0x100]
sar ecx, 6
add al, cl
mov byte [ebp - 0x100], al
xor eax, eax
movsx edx, byte [ebp + esi - 0x104]
movsx ecx, byte [ebp + esi - 0x105]
add edx, edx
add ecx, edx
inc esi
lea eax, [eax + ecx*2]
cmp esi, 0x11
jl 0x10007310
mov ecx, dword [ebp - 0x624]
cdq
lea ecx, [ecx*2 + 0x31]
idiv ecx
test edx, edx
jne 0x1000738f
mov eax, dword [ebp - 0x624]
mov dword [ebp - 0x624], eax
cmp dword [ebp - 0x624], 0xe
jle 0x10007360
mov dword [ebp - 0x624], 1
mov edx, dword [ebp - 0x628]
lea ecx, [ebp - 0x2e4]
mov al, byte [ebp - 0x2e4]
mov byte [edx], al
test al, al
je 0x100073bd
mov eax, ecx
sub edx, eax
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
mov byte [edx + ecx], al
test al, al
jne 0x10007380
jmp 0x100073bd
mov ecx, dword [ebp - 0x628]
mov al, byte [ebp - 0x2e4]
mov byte [ecx], al
test al, al
je 0x100073bd
lea eax, [ebp - 0x2e4]
sub ecx, eax
nop dword [eax]
mov al, byte [edi + 1]
lea edi, [edi + 1]
mov byte [ecx + edi], al
test al, al
jne 0x100073b0
mov dword [ebp - 0x2ec], 0xe1aab1b1
xor ecx, ecx
mov word [ebp - 0x2e8], 0xebea
mov byte [ebp - 0x2e6], 0
nop dword [eax]
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x2ec], al
inc ecx
cmp ecx, 6
jb 0x100073e0
xor eax, eax
mov byte [ebp - 0x2e6], 0
cmp byte [ebp - 0x2a4], al
je 0x1000740c
inc eax
cmp byte [ebp + eax - 0x2a4], 0
jne 0x10007401
lea ecx, [ebp - 0x2a4]
mov dword [ebp - 0x624], 0
add eax, ecx
mov dword [ebp - 0x3ac], 0xb1beb3b0
xorps xmm0, xmm0
mov dword [ebp - 0x628], eax
lea edi, [ebp - 0x2ec]
mov dword [ebp - 0x3a8], 0xb9bbbdb7
movups xmmword [ebp - 0xe4], xmm0
mov byte [ebp - 0x3a4], 0
xor ecx, ecx
movups xmmword [ebp - 0xd4], xmm0
nop dword [eax + eax]
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x3ac], al
inc ecx
cmp ecx, 8
jb 0x10007460
mov al, byte [ebp - 0x3ac]
mov byte [ebp - 0x3a4], 0
mov byte [ebp - 0xe4], al
test al, al
je 0x100074a5
xor ecx, ecx
nop dword [eax]
lea ecx, [ecx + 1]
mov al, byte [ebp + ecx - 0x3ac]
mov byte [ebp + ecx - 0xe4], al
test al, al
jne 0x10007490
movsx ebx, byte [ebp - 0x2ec]
mov esi, 3
mov al, bl
add al, al
lea ecx, [eax + ebx]
add cl, byte [ebp - 0xe4]
inc cl
mov byte [ebp - 0xe4], cl
mov ecx, 0xc
movsx eax, byte [ebp - 0xe4]
cdq
idiv ecx
movzx eax, byte [ebp - 0xe3]
or edx, ebx
add al, dl
mov byte [ebp - 0xe3], al
movzx eax, byte [ebp - 0xe3]
mov cl, byte [ebp - 0xe4]
and cl, al
add cl, cl
dec cl
add cl, byte [ebp - 0xe1]
mov byte [ebp - 0xe1], cl
movsx ecx, byte [ebp - 0xe1]
movzx eax, byte [ebp - 0xe0]
sar ecx, 6
add al, cl
mov byte [ebp - 0xe0], al
xor eax, eax
movsx edx, byte [ebp + esi - 0xe4]
movsx ecx, byte [ebp + esi - 0xe5]
add edx, edx
add ecx, edx
inc esi
lea eax, [eax + ecx*2]
cmp esi, 0x11
jl 0x10007520
mov ecx, dword [ebp - 0x624]
cdq
lea ecx, [ecx*2 + 0x31]
idiv ecx
test edx, edx
jne 0x1000759f
mov eax, dword [ebp - 0x624]
mov dword [ebp - 0x624], eax
cmp dword [ebp - 0x624], 0xe
jle 0x10007570
mov dword [ebp - 0x624], 1
mov edx, dword [ebp - 0x628]
lea ecx, [ebp - 0x2ec]
mov al, byte [ebp - 0x2ec]
mov byte [edx], al
test al, al
je 0x100075cd
mov eax, ecx
sub edx, eax
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
mov byte [edx + ecx], al
test al, al
jne 0x10007590
jmp 0x100075cd
mov ecx, dword [ebp - 0x628]
mov al, byte [ebp - 0x2ec]
mov byte [ecx], al
test al, al
je 0x100075cd
lea eax, [ebp - 0x2ec]
sub ecx, eax
nop dword [eax]
mov al, byte [edi + 1]
lea edi, [edi + 1]
mov byte [ecx + edi], al
test al, al
jne 0x100075c0
lea edx, [ebp - 0x224]
lea ecx, [ebp - 0x2a4]
call fcn.1001ce80
mov esi, eax
test esi, esi
je 0x10008c9e
movsd xmm4, qword [0x1003a918]
lea eax, [ebp - 0x61c]
movsd xmm6, qword [0x10037da8]
movaps xmm1, xmm4
movsd xmm5, qword [0x1003a928]
addsd xmm1, xmm6
movaps xmm0, xmm5
movsd xmm3, qword [0x1003a910]
movsd xmm2, qword [0x1003a920]
push 0x228
push 0
divsd xmm0, xmm1
push eax
movaps xmm1, xmm4
subsd xmm3, xmm0
movaps xmm0, xmm2
addsd xmm0, xmm6
movsd qword [0x1003a910], xmm3
divsd xmm1, xmm0
movaps xmm0, xmm3
subsd xmm5, xmm1
movaps xmm1, xmm2
addsd xmm0, xmm6
movsd qword [0x1003a928], xmm5
addsd xmm5, xmm6
divsd xmm1, xmm0
divsd xmm3, xmm5
subsd xmm4, xmm1
subsd xmm2, xmm3
movsd qword [0x1003a918], xmm4
movsd qword [0x1003a920], xmm2
call fcn.1001fb10
add esp, 0xc
push 0
push 2
call esi
mov dword [ebp - 0x63c], eax
cmp eax, 0xffffffff
je 0x10008c39
movsd xmm3, qword [0x1003a928]
xor ecx, ecx
movsd xmm1, qword [0x1003a918]
movaps xmm4, xmm3
mulsd xmm4, qword [0x1003a910]
movaps xmm2, xmm1
mov dword [ebp - 0x620], 0x22c
mulsd xmm2, xmm3
mov dword [ebp - 0x334], 0xe6ebf1d2
mov word [ebp - 0x330], 0xf4e3
addsd xmm4, qword [0x1003a920]
mov byte [ebp - 0x32e], 0
addsd xmm2, qword [0x1003a910]
movaps xmm0, xmm4
movsd qword [0x1003a920], xmm4
mulsd xmm0, xmm1
movsd qword [0x1003a910], xmm2
mulsd xmm2, xmm4
addsd xmm0, xmm3
addsd xmm2, xmm1
movsd qword [0x1003a928], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0x264], xmm0
movsd qword [0x1003a918], xmm2
movups xmmword [ebp - 0x254], xmm0
nop dword [eax]
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x334], al
inc ecx
cmp ecx, 6
jb 0x10007740
xor ecx, ecx
mov byte [ebp - 0x32e], 0
lea eax, [ebp - 0x264]
cmp byte [ebp - 0x264], cl
je 0x10007770
lea eax, [eax + 1]
inc ecx
cmp byte [eax], 0
jne 0x10007767
lea esi, [ebp - 0x264]
mov dword [ebp - 0x624], 0
xorps xmm0, xmm0
mov dword [ebp - 0x3a0], 0xb1beb3b0
add esi, ecx
mov dword [ebp - 0x39c], 0xb9bbbdb7
movups xmmword [ebp - 0xc4], xmm0
mov byte [ebp - 0x398], 0
xor ecx, ecx
movups xmmword [ebp - 0xb4], xmm0
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x3a0], al
inc ecx
cmp ecx, 8
jb 0x100077b0
mov al, byte [ebp - 0x3a0]
mov byte [ebp - 0x398], 0
mov byte [ebp - 0xc4], al
test al, al
je 0x100077f5
xor ecx, ecx
nop dword [eax]
lea ecx, [ecx + 1]
mov al, byte [ebp + ecx - 0x3a0]
mov byte [ebp + ecx - 0xc4], al
test al, al
jne 0x100077e0
movsx ebx, byte [ebp - 0x334]
mov edi, 3
mov al, bl
add al, al
lea ecx, [eax + ebx]
add cl, byte [ebp - 0xc4]
inc cl
mov byte [ebp - 0xc4], cl
mov ecx, 0xc
movsx eax, byte [ebp - 0xc4]
cdq
idiv ecx
movzx eax, byte [ebp - 0xc3]
or edx, ebx
add al, dl
mov byte [ebp - 0xc3], al
mov cl, byte [ebp - 0xc3]
movzx eax, byte [ebp - 0xc4]
and cl, al
add cl, cl
dec cl
add cl, byte [ebp - 0xc1]
mov byte [ebp - 0xc1], cl
movsx ecx, byte [ebp - 0xc1]
movzx eax, byte [ebp - 0xc0]
sar ecx, 6
add al, cl
mov byte [ebp - 0xc0], al
xor eax, eax
movsx edx, byte [ebp + edi - 0xc4]
movsx ecx, byte [ebp + edi - 0xc5]
add edx, edx
add ecx, edx
inc edi
lea eax, [eax + ecx*2]
cmp edi, 0x11
jl 0x10007870
mov ecx, dword [ebp - 0x624]
cdq
lea ecx, [ecx*2 + 0x31]
idiv ecx
test edx, edx
jne 0x100078e3
mov eax, dword [ebp - 0x624]
mov dword [ebp - 0x624], eax
cmp dword [ebp - 0x624], 0xe
jle 0x100078c0
mov dword [ebp - 0x624], 1
mov al, byte [ebp - 0x334]
mov byte [esi], al
test al, al
je 0x10007904
lea ecx, [ebp - 0x334]
sub ecx, esi
mov al, byte [esi + ecx + 1]
lea esi, [esi + 1]
mov byte [esi], al
test al, al
jne 0x100078d4
jmp 0x10007904
mov al, byte [ebp - 0x334]
mov byte [esi], al
test al, al
je 0x10007904
lea ecx, [ebp - 0x334]
sub ecx, esi
mov al, byte [ecx + esi + 1]
lea esi, [esi + 1]
mov byte [esi], al
test al, al
jne 0x100078f7
mov dword [ebp - 0x32c], 0xc3b6b0f1
xor ecx, ecx
mov word [ebp - 0x328], 0xf5ef
mov byte [ebp - 0x326], 0
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x32c], al
inc ecx
cmp ecx, 6
jb 0x10007920
xor ecx, ecx
mov byte [ebp - 0x326], 0
lea eax, [ebp - 0x264]
cmp byte [ebp - 0x264], cl
je 0x10007950
lea eax, [eax + 1]
inc ecx
cmp byte [eax], 0
jne 0x10007947
lea esi, [ebp - 0x264]
mov dword [ebp - 0x624], 0
xorps xmm0, xmm0
mov dword [ebp - 0x394], 0xb1beb3b0
add esi, ecx
mov dword [ebp - 0x390], 0xb9bbbdb7
movups xmmword [ebp - 0x84], xmm0
mov byte [ebp - 0x38c], 0
xor ecx, ecx
movups xmmword [ebp - 0x74], xmm0
nop dword [eax]
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x394], al
inc ecx
cmp ecx, 8
jb 0x10007990
mov al, byte [ebp - 0x394]
mov byte [ebp - 0x38c], 0
mov byte [ebp - 0x84], al
test al, al
je 0x100079d5
xor ecx, ecx
nop dword [eax]
lea ecx, [ecx + 1]
mov al, byte [ebp + ecx - 0x394]
mov byte [ebp + ecx - 0x84], al
test al, al
jne 0x100079c0
movsx ebx, byte [ebp - 0x32c]
mov edi, 3
mov al, bl
add al, al
lea ecx, [eax + ebx]
add cl, byte [ebp - 0x84]
inc cl
mov byte [ebp - 0x84], cl
mov ecx, 0xc
movsx eax, byte [ebp - 0x84]
cdq
idiv ecx
movzx eax, byte [ebp - 0x83]
or edx, ebx
add al, dl
mov byte [ebp - 0x83], al
mov cl, byte [ebp - 0x83]
movzx eax, byte [ebp - 0x84]
and cl, al
add cl, cl
dec cl
add cl, byte [ebp - 0x81]
mov byte [ebp - 0x81], cl
movsx ecx, byte [ebp - 0x81]
movzx eax, byte [ebp - 0x80]
sar ecx, 6
add al, cl
mov byte [ebp - 0x80], al
xor eax, eax
nop word [eax + eax]
movsx edx, byte [ebp + edi - 0x84]
movsx ecx, byte [ebp + edi - 0x85]
add edx, edx
add ecx, edx
inc edi
lea eax, [eax + ecx*2]
cmp edi, 0x11
jl 0x10007a50
mov ecx, dword [ebp - 0x624]
cdq
lea ecx, [ecx*2 + 0x31]
idiv ecx
test edx, edx
jne 0x10007ac3
mov eax, dword [ebp - 0x624]
mov dword [ebp - 0x624], eax
cmp dword [ebp - 0x624], 0xe
jle 0x10007aa0
mov dword [ebp - 0x624], 1
mov al, byte [ebp - 0x32c]
mov byte [esi], al
test al, al
je 0x10007ae4
lea ecx, [ebp - 0x32c]
sub ecx, esi
mov al, byte [esi + ecx + 1]
lea esi, [esi + 1]
mov byte [esi], al
test al, al
jne 0x10007ab4
jmp 0x10007ae4
mov al, byte [ebp - 0x32c]
mov byte [esi], al
test al, al
je 0x10007ae4
lea ecx, [ebp - 0x32c]
sub ecx, esi
mov al, byte [ecx + esi + 1]
lea esi, [esi + 1]
mov byte [esi], al
test al, al
jne 0x10007ad7
mov dword [ebp - 0x630], 0xd3f7f1
xor ecx, ecx
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x630], al
inc ecx
cmp ecx, 3
jb 0x10007af0
xor ecx, ecx
mov byte [ebp - 0x62d], 0
lea eax, [ebp - 0x264]
cmp byte [ebp - 0x264], cl
je 0x10007b20
lea eax, [eax + 1]
inc ecx
cmp byte [eax], 0
jne 0x10007b17
lea esi, [ebp - 0x264]
mov dword [ebp - 0x624], 0
xorps xmm0, xmm0
mov dword [ebp - 0x388], 0xb1beb3b0
add esi, ecx
mov dword [ebp - 0x384], 0xb9bbbdb7
movups xmmword [ebp - 0x24], xmm0
mov byte [ebp - 0x380], 0
xor ecx, ecx
movups xmmword [ebp - 0x14], xmm0
nop word [eax + eax]
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x388], al
inc ecx
cmp ecx, 8
jb 0x10007b60
mov al, byte [ebp - 0x388]
mov byte [ebp - 0x380], 0
mov byte [ebp - 0x24], al
test al, al
je 0x10007ba2
xor ecx, ecx
nop word [eax + eax]
lea ecx, [ecx + 1]
mov al, byte [ebp + ecx - 0x388]
mov byte [ebp + ecx - 0x24], al
test al, al
jne 0x10007b90
movsx ebx, byte [ebp - 0x630]
mov edi, 3
mov al, bl
add al, al
lea ecx, [eax + ebx]
add cl, byte [ebp - 0x24]
inc cl
mov byte [ebp - 0x24], cl
mov ecx, 0xc
movsx eax, byte [ebp - 0x24]
cdq
idiv ecx
movzx eax, byte [ebp - 0x23]
or edx, ebx
add al, dl
mov byte [ebp - 0x23], al
mov cl, byte [ebp - 0x23]
movzx eax, byte [ebp - 0x24]
and cl, al
add cl, cl
dec cl
add cl, byte [ebp - 0x21]
mov byte [ebp - 0x21], cl
movsx ecx, byte [ebp - 0x21]
movzx eax, byte [ebp - 0x20]
sar ecx, 6
add al, cl
mov byte [ebp - 0x20], al
xor eax, eax
nop dword [eax]
movsx edx, byte [ebp + edi - 0x24]
movsx ecx, byte [ebp + edi - 0x25]
add edx, edx
add ecx, edx
inc edi
lea eax, [eax + ecx*2]
cmp edi, 0x11
jl 0x10007c00
mov ecx, dword [ebp - 0x624]
cdq
lea ecx, [ecx*2 + 0x31]
idiv ecx
test edx, edx
jne 0x10007c6f
mov eax, dword [ebp - 0x624]
mov dword [ebp - 0x624], eax
cmp dword [ebp - 0x624], 0xe
jle 0x10007c4a
mov dword [ebp - 0x624], 1
mov al, byte [ebp - 0x630]
mov byte [esi], al
test al, al
je 0x10007c90
lea ecx, [ebp - 0x630]
sub ecx, esi
nop
mov al, byte [ecx + esi + 1]
lea esi, [esi + 1]
mov byte [esi], al
test al, al
jne 0x10007c60
jmp 0x10007c90
mov al, byte [ebp - 0x630]
mov byte [esi], al
test al, al
je 0x10007c90
lea ecx, [ebp - 0x630]
sub ecx, esi
mov al, byte [esi + ecx + 1]
lea esi, [esi + 1]
mov byte [esi], al
test al, al
jne 0x10007c83
xorps xmm0, xmm0
mov dword [ebp - 0x2f4], 0xebf6e6e9
movups xmmword [ebp - 0x284], xmm0
mov word [ebp - 0x2f0], 0xebe3
xor ecx, ecx
movups xmmword [ebp - 0x274], xmm0
mov byte [ebp - 0x2ee], 0
nop dword [eax]
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x2f4], al
inc ecx
cmp ecx, 6
jb 0x10007cc0
xor eax, eax
mov byte [ebp - 0x2ee], 0
cmp byte [ebp - 0x284], al
je 0x10007cec
inc eax
cmp byte [ebp + eax - 0x284], 0
jne 0x10007ce1
lea ecx, [ebp - 0x284]
mov dword [ebp - 0x624], 0
add eax, ecx
mov dword [ebp - 0x37c], 0xb1beb3b0
xorps xmm0, xmm0
mov dword [ebp - 0x628], eax
lea edi, [ebp - 0x2f4]
mov dword [ebp - 0x378], 0xb9bbbdb7
movups xmmword [ebp - 0x204], xmm0
mov byte [ebp - 0x374], 0
xor ecx, ecx
movups xmmword [ebp - 0x1f4], xmm0
nop dword [eax + eax]
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x37c], al
inc ecx
cmp ecx, 8
jb 0x10007d40
mov al, byte [ebp - 0x37c]
mov byte [ebp - 0x374], 0
mov byte [ebp - 0x204], al
test al, al
je 0x10007d85
xor ecx, ecx
nop dword [eax]
lea ecx, [ecx + 1]
mov al, byte [ebp + ecx - 0x37c]
mov byte [ebp + ecx - 0x204], al
test al, al
jne 0x10007d70
movsx ebx, byte [ebp - 0x2f4]
mov esi, 3
mov al, bl
add al, al
lea ecx, [eax + ebx]
add cl, byte [ebp - 0x204]
inc cl
mov byte [ebp - 0x204], cl
mov ecx, 0xc
movsx eax, byte [ebp - 0x204]
cdq
idiv ecx
movzx eax, byte [ebp - 0x203]
or edx, ebx
add al, dl
mov byte [ebp - 0x203], al
movzx eax, byte [ebp - 0x203]
mov cl, byte [ebp - 0x204]
and cl, al
add cl, cl
dec cl
add cl, byte [ebp - 0x201]
mov byte [ebp - 0x201], cl
movsx ecx, byte [ebp - 0x201]
movzx eax, byte [ebp - 0x200]
sar ecx, 6
add al, cl
mov byte [ebp - 0x200], al
xor eax, eax
movsx edx, byte [ebp + esi - 0x204]
movsx ecx, byte [ebp + esi - 0x205]
add edx, edx
add ecx, edx
inc esi
lea eax, [eax + ecx*2]
cmp esi, 0x11
jl 0x10007e00
mov ecx, dword [ebp - 0x624]
cdq
lea ecx, [ecx*2 + 0x31]
idiv ecx
test edx, edx
jne 0x10007e7f
mov eax, dword [ebp - 0x624]
mov dword [ebp - 0x624], eax
cmp dword [ebp - 0x624], 0xe
jle 0x10007e50
mov dword [ebp - 0x624], 1
mov edx, dword [ebp - 0x628]
lea ecx, [ebp - 0x2f4]
mov al, byte [ebp - 0x2f4]
mov byte [edx], al
test al, al
je 0x10007ead
mov eax, ecx
sub edx, eax
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
mov byte [ecx + edx], al
test al, al
jne 0x10007e70
jmp 0x10007ead
mov ecx, dword [ebp - 0x628]
mov al, byte [ebp - 0x2f4]
mov byte [ecx], al
test al, al
je 0x10007ead
lea eax, [ebp - 0x2f4]
sub ecx, eax
nop dword [eax]
mov al, byte [edi + 1]
lea edi, [edi + 1]
mov byte [edi + ecx], al
test al, al
jne 0x10007ea0
mov dword [ebp - 0x30c], 0xe1aab1b1
xor ecx, ecx
mov word [ebp - 0x308], 0xebea
mov byte [ebp - 0x306], 0
nop dword [eax]
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x30c], al
inc ecx
cmp ecx, 6
jb 0x10007ed0
xor eax, eax
mov byte [ebp - 0x306], 0
cmp byte [ebp - 0x284], al
je 0x10007efc
inc eax
cmp byte [ebp + eax - 0x284], 0
jne 0x10007ef1
lea ecx, [ebp - 0x284]
mov dword [ebp - 0x624], 0
add eax, ecx
mov dword [ebp - 0x3f4], 0xb1beb3b0
xorps xmm0, xmm0
mov dword [ebp - 0x628], eax
lea edi, [ebp - 0x30c]
mov dword [ebp - 0x3f0], 0xb9bbbdb7
movups xmmword [ebp - 0x1e4], xmm0
mov byte [ebp - 0x3ec], 0
xor ecx, ecx
movups xmmword [ebp - 0x1d4], xmm0
nop dword [eax + eax]
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x3f4], al
inc ecx
cmp ecx, 8
jb 0x10007f50
mov al, byte [ebp - 0x3f4]
mov byte [ebp - 0x3ec], 0
mov byte [ebp - 0x1e4], al
test al, al
je 0x10007f95
xor ecx, ecx
nop dword [eax]
lea ecx, [ecx + 1]
mov al, byte [ebp + ecx - 0x3f4]
mov byte [ebp + ecx - 0x1e4], al
test al, al
jne 0x10007f80
movsx ebx, byte [ebp - 0x30c]
mov esi, 3
mov al, bl
add al, al
lea ecx, [eax + ebx]
add cl, byte [ebp - 0x1e4]
inc cl
mov byte [ebp - 0x1e4], cl
mov ecx, 0xc
movsx eax, byte [ebp - 0x1e4]
cdq
idiv ecx
movzx eax, byte [ebp - 0x1e3]
or edx, ebx
add al, dl
mov byte [ebp - 0x1e3], al
movzx eax, byte [ebp - 0x1e3]
mov cl, byte [ebp - 0x1e4]
and cl, al
add cl, cl
dec cl
add cl, byte [ebp - 0x1e1]
mov byte [ebp - 0x1e1], cl
movsx ecx, byte [ebp - 0x1e1]
movzx eax, byte [ebp - 0x1e0]
sar ecx, 6
add al, cl
mov byte [ebp - 0x1e0], al
xor eax, eax
movsx edx, byte [ebp + esi - 0x1e4]
movsx ecx, byte [ebp + esi - 0x1e5]
add edx, edx
add ecx, edx
inc esi
lea eax, [eax + ecx*2]
cmp esi, 0x11
jl 0x10008010
mov ecx, dword [ebp - 0x624]
cdq
lea ecx, [ecx*2 + 0x31]
idiv ecx
test edx, edx
jne 0x1000808f
mov eax, dword [ebp - 0x624]
mov dword [ebp - 0x624], eax
cmp dword [ebp - 0x624], 0xe
jle 0x10008060
mov dword [ebp - 0x624], 1
mov edx, dword [ebp - 0x628]
lea ecx, [ebp - 0x30c]
mov al, byte [ebp - 0x30c]
mov byte [edx], al
test al, al
je 0x100080bd
mov eax, ecx
sub edx, eax
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
mov byte [ecx + edx], al
test al, al
jne 0x10008080
jmp 0x100080bd
mov ecx, dword [ebp - 0x628]
mov al, byte [ebp - 0x30c]
mov byte [ecx], al
test al, al
je 0x100080bd
lea eax, [ebp - 0x30c]
sub ecx, eax
nop dword [eax]
mov al, byte [edi + 1]
lea edi, [edi + 1]
mov byte [edi + ecx], al
test al, al
jne 0x100080b0
lea edx, [ebp - 0x264]
lea ecx, [ebp - 0x284]
call fcn.1001ce80
mov dword [ebp - 0x638], eax
test eax, eax
je 0x10008c9e
movsd xmm4, qword [0x1003a920]
xor ecx, ecx
movsd xmm5, qword [0x10037da8]
movaps xmm0, xmm4
movsd xmm3, qword [0x1003a918]
addsd xmm0, xmm5
movsd xmm2, qword [0x1003a910]
movsd xmm1, qword [0x1003a928]
mov dword [ebp - 0x324], 0xe6ebf1d2
mov word [ebp - 0x320], 0xf4e3
divsd xmm3, xmm0
mov byte [ebp - 0x31e], 0
movaps xmm0, xmm2
addsd xmm0, xmm5
addsd xmm3, xmm2
divsd xmm4, xmm0
movaps xmm0, xmm1
movsd qword [0x1003a918], xmm3
addsd xmm0, xmm5
addsd xmm4, xmm1
divsd xmm2, xmm0
xorps xmm0, xmm0
movsd qword [0x1003a920], xmm4
addsd xmm2, xmm3
addsd xmm3, xmm5
movups xmmword [ebp - 0x244], xmm0
movups xmmword [ebp - 0x234], xmm0
divsd xmm1, xmm3
movsd qword [0x1003a910], xmm2
addsd xmm1, xmm4
movsd qword [0x1003a928], xmm1
nop word [eax + eax]
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x324], al
inc ecx
cmp ecx, 6
jb 0x10008190
xor ecx, ecx
mov byte [ebp - 0x31e], 0
lea eax, [ebp - 0x244]
cmp byte [ebp - 0x244], cl
je 0x100081c0
lea eax, [eax + 1]
inc ecx
cmp byte [eax], 0
jne 0x100081b7
lea esi, [ebp - 0x244]
mov dword [ebp - 0x624], 0
xorps xmm0, xmm0
mov dword [ebp - 0x340], 0xb1beb3b0
add esi, ecx
mov dword [ebp - 0x33c], 0xb9bbbdb7
movups xmmword [ebp - 0x1c4], xmm0
mov byte [ebp - 0x338], 0
xor ecx, ecx
movups xmmword [ebp - 0x1b4], xmm0
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x340], al
inc ecx
cmp ecx, 8
jb 0x10008200
mov al, byte [ebp - 0x340]
mov byte [ebp - 0x338], 0
mov byte [ebp - 0x1c4], al
test al, al
je 0x10008245
xor ecx, ecx
nop dword [eax]
lea ecx, [ecx + 1]
mov al, byte [ebp + ecx - 0x340]
mov byte [ebp + ecx - 0x1c4], al
test al, al
jne 0x10008230
movsx ebx, byte [ebp - 0x324]
mov edi, 3
mov al, bl
add al, al
lea ecx, [eax + ebx]
add cl, byte [ebp - 0x1c4]
inc cl
mov byte [ebp - 0x1c4], cl
mov ecx, 0xc
movsx eax, byte [ebp - 0x1c4]
cdq
idiv ecx
movzx eax, byte [ebp - 0x1c3]
or edx, ebx
add al, dl
mov byte [ebp - 0x1c3], al
mov cl, byte [ebp - 0x1c3]
movzx eax, byte [ebp - 0x1c4]
and cl, al
add cl, cl
dec cl
add cl, byte [ebp - 0x1c1]
mov byte [ebp - 0x1c1], cl
movsx ecx, byte [ebp - 0x1c1]
movzx eax, byte [ebp - 0x1c0]
sar ecx, 6
add al, cl
mov byte [ebp - 0x1c0], al
xor eax, eax
movsx edx, byte [ebp + edi - 0x1c4]
movsx ecx, byte [ebp + edi - 0x1c5]
add edx, edx
add ecx, edx
inc edi
lea eax, [eax + ecx*2]
cmp edi, 0x11
jl 0x100082c0
mov ecx, dword [ebp - 0x624]
cdq
lea ecx, [ecx*2 + 0x31]
idiv ecx
test edx, edx
jne 0x10008333
mov eax, dword [ebp - 0x624]
mov dword [ebp - 0x624], eax
cmp dword [ebp - 0x624], 0xe
jle 0x10008310
mov dword [ebp - 0x624], 1
mov al, byte [ebp - 0x324]
mov byte [esi], al
test al, al
je 0x10008354
lea ecx, [ebp - 0x324]
sub ecx, esi
mov al, byte [esi + ecx + 1]
lea esi, [esi + 1]
mov byte [esi], al
test al, al
jne 0x10008324
jmp 0x10008354
mov al, byte [ebp - 0x324]
mov byte [esi], al
test al, al
je 0x10008354
lea ecx, [ebp - 0x324]
sub ecx, esi
mov al, byte [esi + ecx + 1]
lea esi, [esi + 1]
mov byte [esi], al
test al, al
jne 0x10008347
mov dword [ebp - 0x31c], 0xcbb6b0f1
xor ecx, ecx
mov word [ebp - 0x318], 0xffe3
mov byte [ebp - 0x316], 0
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x31c], al
inc ecx
cmp ecx, 6
jb 0x10008370
xor ecx, ecx
mov byte [ebp - 0x316], 0
lea eax, [ebp - 0x244]
cmp byte [ebp - 0x244], cl
je 0x100083a0
lea eax, [eax + 1]
inc ecx
cmp byte [eax], 0
jne 0x10008397
lea esi, [ebp - 0x244]
mov dword [ebp - 0x624], 0
xorps xmm0, xmm0
mov dword [ebp - 0x34c], 0xb1beb3b0
add esi, ecx
mov dword [ebp - 0x348], 0xb9bbbdb7
movups xmmword [ebp - 0x1a4], xmm0
mov byte [ebp - 0x344], 0
xor ecx, ecx
movups xmmword [ebp - 0x194], xmm0
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x34c], al
inc ecx
cmp ecx, 8
jb 0x100083e0
mov al, byte [ebp - 0x34c]
mov byte [ebp - 0x344], 0
mov byte [ebp - 0x1a4], al
test al, al
je 0x10008425
xor ecx, ecx
nop dword [eax]
lea ecx, [ecx + 1]
mov al, byte [ebp + ecx - 0x34c]
mov byte [ebp + ecx - 0x1a4], al
test al, al
jne 0x10008410
movsx ebx, byte [ebp - 0x31c]
mov edi, 3
mov al, bl
add al, al
lea ecx, [eax + ebx]
add cl, byte [ebp - 0x1a4]
inc cl
mov byte [ebp - 0x1a4], cl
mov ecx, 0xc
movsx eax, byte [ebp - 0x1a4]
cdq
idiv ecx
movzx eax, byte [ebp - 0x1a3]
or edx, ebx
add al, dl
mov byte [ebp - 0x1a3], al
mov cl, byte [ebp - 0x1a3]
movzx eax, byte [ebp - 0x1a4]
and cl, al
add cl, cl
dec cl
add cl, byte [ebp - 0x1a1]
mov byte [ebp - 0x1a1], cl
movsx ecx, byte [ebp - 0x1a1]
movzx eax, byte [ebp - 0x1a0]
sar ecx, 6
add al, cl
mov byte [ebp - 0x1a0], al
xor eax, eax
movsx edx, byte [ebp + edi - 0x1a4]
movsx ecx, byte [ebp + edi - 0x1a5]
add edx, edx
add ecx, edx
inc edi
lea eax, [eax + ecx*2]
cmp edi, 0x11
jl 0x100084a0
mov ecx, dword [ebp - 0x624]
cdq
lea ecx, [ecx*2 + 0x31]
idiv ecx
test edx, edx
jne 0x10008513
mov eax, dword [ebp - 0x624]
mov dword [ebp - 0x624], eax
cmp dword [ebp - 0x624], 0xe
jle 0x100084f0
mov dword [ebp - 0x624], 1
mov al, byte [ebp - 0x31c]
mov byte [esi], al
test al, al
je 0x10008534
lea ecx, [ebp - 0x31c]
sub ecx, esi
mov al, byte [esi + ecx + 1]
lea esi, [esi + 1]
mov byte [esi], al
test al, al
jne 0x10008504
jmp 0x10008534
mov al, byte [ebp - 0x31c]
mov byte [esi], al
test al, al
je 0x10008534
lea ecx, [ebp - 0x31c]
sub ecx, esi
mov al, byte [esi + ecx + 1]
lea esi, [esi + 1]
mov byte [esi], al
test al, al
jne 0x10008527
mov word [ebp - 0x62c], 0xd4f6
xor ecx, ecx
mov byte [ebp - 0x62a], 0
nop word [eax + eax]
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x62c], al
inc ecx
cmp ecx, 2
jb 0x10008550
xor ecx, ecx
mov byte [ebp - 0x62a], 0
lea eax, [ebp - 0x244]
cmp byte [ebp - 0x244], cl
je 0x10008580
lea eax, [eax + 1]
inc ecx
cmp byte [eax], 0
jne 0x10008577
lea esi, [ebp - 0x244]
mov dword [ebp - 0x624], 0
xorps xmm0, xmm0
mov dword [ebp - 0x358], 0xb1beb3b0
add esi, ecx
mov dword [ebp - 0x354], 0xb9bbbdb7
movups xmmword [ebp - 0x144], xmm0
mov byte [ebp - 0x350], 0
xor ecx, ecx
movups xmmword [ebp - 0x134], xmm0
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x358], al
inc ecx
cmp ecx, 8
jb 0x100085c0
mov al, byte [ebp - 0x358]
mov byte [ebp - 0x350], 0
mov byte [ebp - 0x144], al
test al, al
je 0x10008605
xor ecx, ecx
nop dword [eax]
lea ecx, [ecx + 1]
mov al, byte [ebp + ecx - 0x358]
mov byte [ebp + ecx - 0x144], al
test al, al
jne 0x100085f0
movsx ebx, byte [ebp - 0x62c]
mov edi, 3
mov al, bl
add al, al
lea ecx, [eax + ebx]
add cl, byte [ebp - 0x144]
inc cl
mov byte [ebp - 0x144], cl
mov ecx, 0xc
movsx eax, byte [ebp - 0x144]
cdq
idiv ecx
movzx eax, byte [ebp - 0x143]
or edx, ebx
add al, dl
mov byte [ebp - 0x143], al
mov cl, byte [ebp - 0x143]
movzx eax, byte [ebp - 0x144]
and cl, al
add cl, cl
dec cl
add cl, byte [ebp - 0x141]
mov byte [ebp - 0x141], cl
movsx ecx, byte [ebp - 0x141]
movzx eax, byte [ebp - 0x140]
sar ecx, 6
add al, cl
mov byte [ebp - 0x140], al
xor eax, eax
movsx edx, byte [ebp + edi - 0x144]
movsx ecx, byte [ebp + edi - 0x145]
add edx, edx
add ecx, edx
inc edi
lea eax, [eax + ecx*2]
cmp edi, 0x11
jl 0x10008680
mov ecx, dword [ebp - 0x624]
cdq
lea ecx, [ecx*2 + 0x31]
idiv ecx
test edx, edx
jne 0x100086f3
mov eax, dword [ebp - 0x624]
mov dword [ebp - 0x624], eax
cmp dword [ebp - 0x624], 0xe
jle 0x100086d0
mov dword [ebp - 0x624], 1
mov al, byte [ebp - 0x62c]
mov byte [esi], al
test al, al
je 0x10008714
lea ecx, [ebp - 0x62c]
sub ecx, esi
mov al, byte [esi + ecx + 1]
lea esi, [esi + 1]
mov byte [esi], al
test al, al
jne 0x100086e4
jmp 0x10008714
mov al, byte [ebp - 0x62c]
mov byte [esi], al
test al, al
je 0x10008714
lea ecx, [ebp - 0x62c]
sub ecx, esi
mov al, byte [ecx + esi + 1]
lea esi, [esi + 1]
mov byte [esi], al
test al, al
jne 0x10008707
xorps xmm0, xmm0
mov dword [ebp - 0x2fc], 0xebf6e6e9
movups xmmword [ebp - 0x2c4], xmm0
mov word [ebp - 0x2f8], 0xebe3
xor ecx, ecx
movups xmmword [ebp - 0x2b4], xmm0
mov byte [ebp - 0x2f6], 0
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x2fc], al
inc ecx
cmp ecx, 6
jb 0x10008741
xor eax, eax
mov byte [ebp - 0x2f6], 0
cmp byte [ebp - 0x2c4], al
je 0x1000876d
inc eax
cmp byte [ebp + eax - 0x2c4], 0
jne 0x10008762
lea ecx, [ebp - 0x2c4]
mov dword [ebp - 0x624], 0
add eax, ecx
mov dword [ebp - 0x364], 0xb1beb3b0
xorps xmm0, xmm0
mov dword [ebp - 0x628], eax
lea esi, [ebp - 0x2fc]
mov dword [ebp - 0x360], 0xb9bbbdb7
movups xmmword [ebp - 0x44], xmm0
mov byte [ebp - 0x35c], 0
xor ecx, ecx
movups xmmword [ebp - 0x34], xmm0
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x364], al
inc ecx
cmp ecx, 8
jb 0x100087b3
mov al, byte [ebp - 0x364]
mov byte [ebp - 0x35c], 0
mov byte [ebp - 0x44], al
test al, al
je 0x100087f2
xor ecx, ecx
nop dword [eax]
lea ecx, [ecx + 1]
mov al, byte [ebp + ecx - 0x364]
mov byte [ebp + ecx - 0x44], al
test al, al
jne 0x100087e0
movsx ebx, byte [ebp - 0x2fc]
mov edi, 3
mov al, bl
add al, al
lea ecx, [eax + ebx]
add cl, byte [ebp - 0x44]
inc cl
mov byte [ebp - 0x44], cl
mov ecx, 0xc
movsx eax, byte [ebp - 0x44]
cdq
idiv ecx
movzx eax, byte [ebp - 0x43]
or edx, ebx
add al, dl
mov byte [ebp - 0x43], al
movzx eax, byte [ebp - 0x43]
mov cl, byte [ebp - 0x44]
and cl, al
add cl, cl
dec cl
add cl, byte [ebp - 0x41]
mov byte [ebp - 0x41], cl
movsx ecx, byte [ebp - 0x41]
movzx eax, byte [ebp - 0x40]
sar ecx, 6
add al, cl
mov byte [ebp - 0x40], al
xor eax, eax
nop dword [eax]
movsx edx, byte [ebp + edi - 0x44]
movsx ecx, byte [ebp + edi - 0x45]
add edx, edx
add ecx, edx
inc edi
lea eax, [eax + ecx*2]
cmp edi, 0x11
jl 0x10008850
mov ecx, dword [ebp - 0x624]
cdq
lea ecx, [ecx*2 + 0x31]
idiv ecx
test edx, edx
jne 0x100088c5
mov eax, dword [ebp - 0x624]
mov dword [ebp - 0x624], eax
cmp dword [ebp - 0x624], 0xe
jle 0x1000889a
mov dword [ebp - 0x624], 1
mov edx, dword [ebp - 0x628]
lea ecx, [ebp - 0x2fc]
mov al, byte [ebp - 0x2fc]
mov byte [edx], al
test al, al
je 0x100088ed
mov eax, ecx
sub edx, eax
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
mov byte [ecx + edx], al
test al, al
jne 0x100088b6
jmp 0x100088ed
mov ecx, dword [ebp - 0x628]
mov al, byte [ebp - 0x2fc]
mov byte [ecx], al
test al, al
je 0x100088ed
lea eax, [ebp - 0x2fc]
sub ecx, eax
nop
mov al, byte [esi + 1]
lea esi, [esi + 1]
mov byte [esi + ecx], al
test al, al
jne 0x100088e0
mov dword [ebp - 0x304], 0xe1aab1b1
xor ecx, ecx
mov word [ebp - 0x300], 0xebea
mov byte [ebp - 0x2fe], 0
nop dword [eax]
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x304], al
inc ecx
cmp ecx, 6
jb 0x10008910
xor eax, eax
mov byte [ebp - 0x2fe], 0
cmp byte [ebp - 0x2c4], al
je 0x1000893c
inc eax
cmp byte [ebp + eax - 0x2c4], 0
jne 0x10008931
lea ecx, [ebp - 0x2c4]
mov dword [ebp - 0x624], 0
add eax, ecx
mov dword [ebp - 0x370], 0xb1beb3b0
xorps xmm0, xmm0
mov dword [ebp - 0x628], eax
lea edi, [ebp - 0x304]
mov dword [ebp - 0x36c], 0xb9bbbdb7
movups xmmword [ebp - 0x64], xmm0
mov byte [ebp - 0x368], 0
xor ecx, ecx
movups xmmword [ebp - 0x54], xmm0
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x370], al
inc ecx
cmp ecx, 8
jb 0x10008982
mov al, byte [ebp - 0x370]
mov byte [ebp - 0x368], 0
mov byte [ebp - 0x64], al
test al, al
je 0x100089c2
xor ecx, ecx
nop dword [eax + eax]
lea ecx, [ecx + 1]
mov al, byte [ebp + ecx - 0x370]
mov byte [ebp + ecx - 0x64], al
test al, al
jne 0x100089b0
movsx ebx, byte [ebp - 0x304]
mov esi, 3
mov al, bl
add al, al
lea ecx, [eax + ebx]
add cl, byte [ebp - 0x64]
inc cl
mov byte [ebp - 0x64], cl
mov ecx, 0xc
movsx eax, byte [ebp - 0x64]
cdq
idiv ecx
movzx eax, byte [ebp - 0x63]
or edx, ebx
add al, dl
mov byte [ebp - 0x63], al
movzx eax, byte [ebp - 0x63]
mov cl, byte [ebp - 0x64]
and cl, al
add cl, cl
dec cl
add cl, byte [ebp - 0x61]
mov byte [ebp - 0x61], cl
movsx ecx, byte [ebp - 0x61]
movzx eax, byte [ebp - 0x60]
sar ecx, 6
add al, cl
mov byte [ebp - 0x60], al
xor eax, eax
nop dword [eax]
movsx edx, byte [ebp + esi - 0x64]
movsx ecx, byte [ebp + esi - 0x65]
add edx, edx
add ecx, edx
inc esi
lea eax, [eax + ecx*2]
cmp esi, 0x11
jl 0x10008a20
mov ecx, dword [ebp - 0x624]
cdq
lea ecx, [ecx*2 + 0x31]
idiv ecx
test edx, edx
jne 0x10008a95
mov eax, dword [ebp - 0x624]
mov dword [ebp - 0x624], eax
cmp dword [ebp - 0x624], 0xe
jle 0x10008a6a
mov dword [ebp - 0x624], 1
mov edx, dword [ebp - 0x628]
lea ecx, [ebp - 0x304]
mov al, byte [ebp - 0x304]
mov byte [edx], al
test al, al
je 0x10008abd
mov eax, ecx
sub edx, eax
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
mov byte [edx + ecx], al
test al, al
jne 0x10008a86
jmp 0x10008abd
mov ecx, dword [ebp - 0x628]
mov al, byte [ebp - 0x304]
mov byte [ecx], al
test al, al
je 0x10008abd
lea eax, [ebp - 0x304]
sub ecx, eax
nop
mov al, byte [edi + 1]
lea edi, [edi + 1]
mov byte [ecx + edi], al
test al, al
jne 0x10008ab0
lea edx, [ebp - 0x244]
lea ecx, [ebp - 0x2c4]
call fcn.1001ce80
mov esi, eax
test esi, esi
je 0x10008c9e
movsd xmm3, qword [0x1003a918]
lea eax, [ebp - 0x620]
movsd xmm1, qword [0x1003a910]
movaps xmm4, xmm3
mulsd xmm4, qword [0x1003a928]
movaps xmm0, xmm1
mov ebx, dword [ebp - 0x63c]
movsd xmm2, qword [0x1003a920]
mulsd xmm0, xmm2
push eax
subsd xmm4, xmm2
mulsd xmm3, xmm2
push ebx
subsd xmm0, xmm4
movsd qword [0x1003a928], xmm4
subsd xmm3, xmm1
mulsd xmm4, xmm1
movsd qword [0x1003a920], xmm0
subsd xmm4, xmm3
movsd qword [0x1003a918], xmm3
movsd qword [0x1003a910], xmm4
call dword [ebp - 0x638]
test eax, eax
je 0x10008bb1
mov edi, dword [ebp - 0x634]
nop dword [eax + eax]
push 1
push 0x10037c9c
mov ecx, edi
call fcn.1000a4f0
lea ecx, [ebp - 0x5fc]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10008b77
sub ecx, edx
lea eax, [ebp - 0x5fc]
sar ecx, 1
push ecx
push eax
mov ecx, edi
call fcn.1000a4f0
push 1
push 0x10037ca0
mov ecx, edi
call fcn.1000a4f0
lea eax, [ebp - 0x620]
push eax
push ebx
call esi
test eax, eax
jne 0x10008b60
movsd xmm4, qword [0x1003a920]
movsd xmm5, qword [0x10037da8]
movaps xmm0, xmm4
movsd xmm3, qword [0x1003a918]
addsd xmm0, xmm5
movsd xmm2, qword [0x1003a910]
movsd xmm1, qword [0x1003a928]
push ebx
divsd xmm3, xmm0
movaps xmm0, xmm2
addsd xmm0, xmm5
addsd xmm3, xmm2
divsd xmm4, xmm0
movaps xmm0, xmm1
movsd qword [0x1003a918], xmm3
addsd xmm0, xmm5
addsd xmm4, xmm1
divsd xmm2, xmm0
movsd qword [0x1003a920], xmm4
addsd xmm2, xmm3
addsd xmm3, xmm5
movsd qword [0x1003a910], xmm2
divsd xmm1, xmm3
addsd xmm1, xmm4
movsd qword [0x1003a928], xmm1
call dword [sym.imp.KERNEL32.dll_CloseHandle]
movsd xmm3, qword [0x1003a928]
movsd xmm1, qword [0x1003a918]
movaps xmm4, xmm3
mulsd xmm4, qword [0x1003a910]
movaps xmm2, xmm1
mulsd xmm2, xmm3
addsd xmm4, qword [0x1003a920]
addsd xmm2, qword [0x1003a910]
movaps xmm0, xmm4
movsd qword [0x1003a920], xmm4
mulsd xmm0, xmm1
movsd qword [0x1003a910], xmm2
mulsd xmm2, xmm4
addsd xmm0, xmm3
addsd xmm2, xmm1
movsd qword [0x1003a928], xmm0
movsd qword [0x1003a918], xmm2
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1001e319
mov esp, ebp
pop ebp
ret