Function at 0x10008cc0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2cc
mov eax, dword [0x1003a008]
xor eax, ebp
mov dword [ebp - 4], eax
movsd xmm0, qword [0x10037db8]
mov eax, ecx
movsd qword [0x1003a920], xmm0
movsd xmm0, qword [0x10037dd8]
movsd qword [0x1003a910], xmm0
movsd xmm0, qword [0x10037dc0]
movsd qword [0x1003a928], xmm0
movsd xmm0, qword [0x10037db0]
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 8
mov dword [ebp - 0x2cc], ecx
movsd qword [0x1003a918], xmm0
jb 0x10008d2a
mov eax, dword [ecx]
xor ecx, ecx
mov dword [ebp - 0x23c], 0xbfcad7ca
xorps xmm0, xmm0
mov word [eax], cx
movups xmmword [ebp - 0x134], xmm0
mov byte [ebp - 0x238], cl
nop dword [eax]
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x23c], al
inc ecx
cmp ecx, 4
jb 0x10008d50
xor eax, eax
mov byte [ebp - 0x238], 0
cmp byte [ebp - 0x134], al
je 0x10008d7c
inc eax
cmp byte [ebp + eax - 0x134], 0
jne 0x10008d71
push ebx
lea ecx, [ebp - 0x134]
mov dword [ebp - 0x2c4], 0
push esi
add eax, ecx
mov dword [ebp - 0x278], 0xb1beb3b0
xorps xmm0, xmm0
mov dword [ebp - 0x2c8], eax
push edi
lea esi, [ebp - 0x23c]
mov dword [ebp - 0x274], 0xb9bbbdb7
movups xmmword [ebp - 0xe4], xmm0
mov byte [ebp - 0x270], 0
xor ecx, ecx
movups xmmword [ebp - 0xd4], xmm0
nop dword [eax + eax]
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x278], al
inc ecx
cmp ecx, 8
jb 0x10008dd0
mov al, byte [ebp - 0x278]
mov byte [ebp - 0x270], 0
mov byte [ebp - 0xe4], al
test al, al
je 0x10008e15
xor ecx, ecx
nop dword [eax]
lea ecx, [ecx + 1]
mov al, byte [ebp + ecx - 0x278]
mov byte [ebp + ecx - 0xe4], al
test al, al
jne 0x10008e00
movsx ebx, byte [ebp - 0x23c]
mov edi, 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 + edi - 0xe4]
movsx ecx, byte [ebp + edi - 0xe5]
add edx, edx
add ecx, edx
inc edi
lea eax, [eax + ecx*2]
cmp edi, 0x11
jl 0x10008e90
mov ecx, dword [ebp - 0x2c4]
cdq
lea ecx, [ecx*2 + 0x31]
idiv ecx
test edx, edx
jne 0x10008f0f
mov eax, dword [ebp - 0x2c4]
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0xe
jle 0x10008ee0
mov dword [ebp - 0x2c4], 1
mov edx, dword [ebp - 0x2c8]
lea ecx, [ebp - 0x23c]
mov al, byte [ebp - 0x23c]
mov byte [edx], al
test al, al
je 0x10008f3d
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 0x10008f00
jmp 0x10008f3d
mov ecx, dword [ebp - 0x2c8]
mov al, byte [ebp - 0x23c]
mov byte [ecx], al
test al, al
je 0x10008f3d
lea eax, [ebp - 0x23c]
sub ecx, eax
nop dword [eax]
mov al, byte [esi + 1]
lea esi, [esi + 1]
mov byte [ecx + esi], al
test al, al
jne 0x10008f30
lea eax, [ebp - 0x134]
xorps xmm0, xmm0
push eax
lea eax, [ebp - 0x234]
push 0x10037bd4
push eax
movups xmmword [ebp - 0x234], xmm0
movups xmmword [ebp - 0x224], xmm0
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [ebp - 0x2cc]
lea eax, [ebp - 0x234]
add esp, 0xc
push eax
call fcn.1000a150
movsd xmm3, qword [0x1003a928]
movsd xmm1, qword [0x1003a918]
movaps xmm4, xmm3
mulsd xmm4, qword [0x1003a910]
movaps xmm2, xmm1
mov ecx, dword [ebp - 0x2cc]
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
call fcn.100012e0
test eax, eax
je 0x10009004
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1001e319
mov esp, ebp
pop ebp
ret
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 - 0x26c], 0xd6cba3b9
mov word [ebp - 0x268], 0xbdc8
divsd xmm3, xmm0
mov byte [ebp - 0x266], 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 - 0x144], xmm0
movsd qword [0x1003a910], xmm2
divsd xmm1, xmm3
addsd xmm1, xmm4
movsd qword [0x1003a928], xmm1
nop dword [eax + eax]
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x26c], al
inc ecx
cmp ecx, 6
jb 0x100090b0
xor ecx, ecx
mov byte [ebp - 0x266], 0
lea eax, [ebp - 0x144]
cmp byte [ebp - 0x144], cl
je 0x100090e0
lea eax, [eax + 1]
inc ecx
cmp byte [eax], 0
jne 0x100090d7
lea esi, [ebp - 0x144]
mov dword [ebp - 0x2c4], 0
xorps xmm0, xmm0
mov dword [ebp - 0x2c0], 0xb1beb3b0
add esi, ecx
mov dword [ebp - 0x2bc], 0xb9bbbdb7
movups xmmword [ebp - 0xc4], xmm0
mov byte [ebp - 0x2b8], 0
xor ecx, ecx
movups xmmword [ebp - 0xb4], xmm0
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x2c0], al
inc ecx
cmp ecx, 8
jb 0x10009120
mov al, byte [ebp - 0x2c0]
mov byte [ebp - 0x2b8], 0
mov byte [ebp - 0xc4], al
test al, al
je 0x10009165
xor ecx, ecx
nop dword [eax]
lea ecx, [ecx + 1]
mov al, byte [ebp + ecx - 0x2c0]
mov byte [ebp + ecx - 0xc4], al
test al, al
jne 0x10009150
movsx ebx, byte [ebp - 0x26c]
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 0x100091e0
mov ecx, dword [ebp - 0x2c4]
cdq
lea ecx, [ecx*2 + 0x31]
idiv ecx
test edx, edx
jne 0x10009253
mov eax, dword [ebp - 0x2c4]
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0xe
jle 0x10009230
mov dword [ebp - 0x2c4], 1
mov al, byte [ebp - 0x26c]
mov byte [esi], al
test al, al
je 0x10009274
lea ecx, [ebp - 0x26c]
sub ecx, esi
mov al, byte [esi + ecx + 1]
lea esi, [esi + 1]
mov byte [esi], al
test al, al
jne 0x10009244
jmp 0x10009274
mov al, byte [ebp - 0x26c]
mov byte [esi], al
test al, al
je 0x10009274
lea ecx, [ebp - 0x26c]
sub ecx, esi
mov al, byte [esi + ecx + 1]
lea esi, [esi + 1]
mov byte [esi], al
test al, al
jne 0x10009267
lea eax, [ebp - 0x144]
xorps xmm0, xmm0
push eax
lea eax, [ebp - 0x174]
push 0x10037bd4
push eax
movups xmmword [ebp - 0x174], xmm0
movups xmmword [ebp - 0x164], xmm0
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [ebp - 0x2cc]
lea eax, [ebp - 0x174]
add esp, 0xc
push eax
call fcn.1000a150
mov ecx, dword [ebp - 0x2cc]
call fcn.10001e80
test eax, eax
je 0x100092d8
pop edi
pop esi
mov eax, 0xfffffffe
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1001e319
mov esp, ebp
pop ebp
ret
movsd xmm3, qword [0x1003a918]
xor ecx, ecx
movsd xmm6, qword [0x10037da8]
movaps xmm1, xmm3
movsd xmm5, qword [0x1003a928]
addsd xmm1, xmm6
movaps xmm0, xmm5
movsd xmm4, qword [0x1003a910]
movsd xmm2, qword [0x1003a920]
mov dword [ebp - 0x264], 0xd6cba3b9
mov word [ebp - 0x260], 0xbdd0
divsd xmm0, xmm1
mov byte [ebp - 0x25e], 0
movaps xmm1, xmm3
subsd xmm4, xmm0
movaps xmm0, xmm2
addsd xmm0, xmm6
movsd qword [0x1003a910], xmm4
divsd xmm1, xmm0
movaps xmm0, xmm4
subsd xmm5, xmm1
movaps xmm1, xmm2
addsd xmm0, xmm6
movsd qword [0x1003a928], xmm5
addsd xmm5, xmm6
divsd xmm1, xmm0
divsd xmm4, xmm5
subsd xmm3, xmm1
xorps xmm0, xmm0
subsd xmm2, xmm4
movups xmmword [ebp - 0xf4], xmm0
movsd qword [0x1003a918], xmm3
movsd qword [0x1003a920], xmm2
nop dword [eax + eax]
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x264], al
inc ecx
cmp ecx, 6
jb 0x10009390
xor ecx, ecx
mov byte [ebp - 0x25e], 0
lea eax, [ebp - 0xf4]
cmp byte [ebp - 0xf4], cl
je 0x100093c0
lea eax, [eax + 1]
inc ecx
cmp byte [eax], 0
jne 0x100093b7
lea esi, [ebp - 0xf4]
mov dword [ebp - 0x2c4], 0
xorps xmm0, xmm0
mov dword [ebp - 0x2b4], 0xb1beb3b0
add esi, ecx
mov dword [ebp - 0x2b0], 0xb9bbbdb7
movups xmmword [ebp - 0xa4], xmm0
mov byte [ebp - 0x2ac], 0
xor ecx, ecx
movups xmmword [ebp - 0x94], xmm0
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x2b4], al
inc ecx
cmp ecx, 8
jb 0x10009400
mov al, byte [ebp - 0x2b4]
mov byte [ebp - 0x2ac], 0
mov byte [ebp - 0xa4], al
test al, al
je 0x10009445
xor ecx, ecx
nop dword [eax]
lea ecx, [ecx + 1]
mov al, byte [ebp + ecx - 0x2b4]
mov byte [ebp + ecx - 0xa4], al
test al, al
jne 0x10009430
movsx ebx, byte [ebp - 0x264]
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
mov cl, byte [ebp - 0xa3]
movzx eax, 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 0x100094c0
mov ecx, dword [ebp - 0x2c4]
cdq
lea ecx, [ecx*2 + 0x31]
idiv ecx
test edx, edx
jne 0x10009533
mov eax, dword [ebp - 0x2c4]
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0xe
jle 0x10009510
mov dword [ebp - 0x2c4], 1
mov al, byte [ebp - 0x264]
mov byte [esi], al
test al, al
je 0x10009554
lea ecx, [ebp - 0x264]
sub ecx, esi
mov al, byte [esi + ecx + 1]
lea esi, [esi + 1]
mov byte [esi], al
test al, al
jne 0x10009524
jmp 0x10009554
mov al, byte [ebp - 0x264]
mov byte [esi], al
test al, al
je 0x10009554
lea ecx, [ebp - 0x264]
sub ecx, esi
mov al, byte [ecx + esi + 1]
lea esi, [esi + 1]
mov byte [esi], al
test al, al
jne 0x10009547
lea eax, [ebp - 0xf4]
xorps xmm0, xmm0
push eax
lea eax, [ebp - 0x194]
push 0x10037bd4
push eax
movups xmmword [ebp - 0x194], xmm0
movups xmmword [ebp - 0x184], xmm0
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [ebp - 0x2cc]
lea eax, [ebp - 0x194]
add esp, 0xc
push eax
call fcn.1000a150
mov ecx, dword [ebp - 0x2cc]
call fcn.10002b20
test eax, eax
je 0x100095b8
pop edi
pop esi
mov eax, 0xfffffffd
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1001e319
mov esp, ebp
pop ebp
ret
movsd xmm3, qword [0x1003a918]
xor ecx, ecx
movsd xmm1, qword [0x1003a910]
movaps xmm4, xmm3
mulsd xmm4, qword [0x1003a928]
movaps xmm0, xmm1
mov dword [ebp - 0x25c], 0xd7d1a3b9
movsd xmm2, qword [0x1003a920]
mulsd xmm0, xmm2
mov word [ebp - 0x258], 0xbdc8
subsd xmm4, xmm2
mulsd xmm3, xmm2
mov byte [ebp - 0x256], 0
subsd xmm0, xmm4
movsd qword [0x1003a928], xmm4
subsd xmm3, xmm1
mulsd xmm4, xmm1
movsd qword [0x1003a920], xmm0
xorps xmm0, xmm0
subsd xmm4, xmm3
movsd qword [0x1003a918], xmm3
movups xmmword [ebp - 0x124], xmm0
movsd qword [0x1003a910], xmm4
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x25c], al
inc ecx
cmp ecx, 6
jb 0x10009640
xor ecx, ecx
mov byte [ebp - 0x256], 0
lea eax, [ebp - 0x124]
cmp byte [ebp - 0x124], cl
je 0x10009670
lea eax, [eax + 1]
inc ecx
cmp byte [eax], 0
jne 0x10009667
lea esi, [ebp - 0x124]
mov dword [ebp - 0x2c4], 0
xorps xmm0, xmm0
mov dword [ebp - 0x2a8], 0xb1beb3b0
add esi, ecx
mov dword [ebp - 0x2a4], 0xb9bbbdb7
movups xmmword [ebp - 0x84], xmm0
mov byte [ebp - 0x2a0], 0
xor ecx, ecx
movups xmmword [ebp - 0x74], xmm0
nop dword [eax]
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x2a8], al
inc ecx
cmp ecx, 8
jb 0x100096b0
mov al, byte [ebp - 0x2a8]
mov byte [ebp - 0x2a0], 0
mov byte [ebp - 0x84], al
test al, al
je 0x100096f5
xor ecx, ecx
nop dword [eax]
lea ecx, [ecx + 1]
mov al, byte [ebp + ecx - 0x2a8]
mov byte [ebp + ecx - 0x84], al
test al, al
jne 0x100096e0
movsx ebx, byte [ebp - 0x25c]
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 0x10009770
mov ecx, dword [ebp - 0x2c4]
cdq
lea ecx, [ecx*2 + 0x31]
idiv ecx
test edx, edx
jne 0x100097e3
mov eax, dword [ebp - 0x2c4]
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0xe
jle 0x100097c0
mov dword [ebp - 0x2c4], 1
mov al, byte [ebp - 0x25c]
mov byte [esi], al
test al, al
je 0x10009804
lea ecx, [ebp - 0x25c]
sub ecx, esi
mov al, byte [ecx + esi + 1]
lea esi, [esi + 1]
mov byte [esi], al
test al, al
jne 0x100097d4
jmp 0x10009804
mov al, byte [ebp - 0x25c]
mov byte [esi], al
test al, al
je 0x10009804
lea ecx, [ebp - 0x25c]
sub ecx, esi
mov al, byte [ecx + esi + 1]
lea esi, [esi + 1]
mov byte [esi], al
test al, al
jne 0x100097f7
lea eax, [ebp - 0x124]
xorps xmm0, xmm0
push eax
lea eax, [ebp - 0x1b4]
push 0x10037bd4
push eax
movups xmmword [ebp - 0x1b4], xmm0
movups xmmword [ebp - 0x1a4], xmm0
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [ebp - 0x2cc]
lea eax, [ebp - 0x1b4]
add esp, 0xc
push eax
call fcn.1000a150
mov ecx, dword [ebp - 0x2cc]
call fcn.10003a00
test eax, eax
je 0x10009868
pop edi
pop esi
mov eax, 0xfffffffc
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1001e319
mov esp, ebp
pop ebp
ret
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 - 0x244], 0xd1cda3b9
mov word [ebp - 0x240], 0xbdc0
divsd xmm3, xmm0
mov byte [ebp - 0x23e], 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 - 0x114], xmm0
movsd qword [0x1003a910], xmm2
divsd xmm1, xmm3
addsd xmm1, xmm4
movsd qword [0x1003a928], xmm1
nop
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x244], al
inc ecx
cmp ecx, 6
jb 0x10009910
xor eax, eax
mov byte [ebp - 0x23e], 0
cmp byte [ebp - 0x114], al
je 0x1000993c
inc eax
cmp byte [ebp + eax - 0x114], 0
jne 0x10009931
lea ecx, [ebp - 0x114]
mov dword [ebp - 0x2c4], 0
add eax, ecx
mov dword [ebp - 0x29c], 0xb1beb3b0
xorps xmm0, xmm0
mov dword [ebp - 0x2c8], eax
lea esi, [ebp - 0x244]
mov dword [ebp - 0x298], 0xb9bbbdb7
movups xmmword [ebp - 0x64], xmm0
mov byte [ebp - 0x294], 0
xor ecx, ecx
movups xmmword [ebp - 0x54], xmm0
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x29c], al
inc ecx
cmp ecx, 8
jb 0x10009982
mov al, byte [ebp - 0x29c]
mov byte [ebp - 0x294], 0
mov byte [ebp - 0x64], al
test al, al
je 0x100099c2
xor ecx, ecx
nop dword [eax + eax]
lea ecx, [ecx + 1]
mov al, byte [ebp + ecx - 0x29c]
mov byte [ebp + ecx - 0x64], al
test al, al
jne 0x100099b0
movsx ebx, byte [ebp - 0x244]
mov edi, 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
mov cl, byte [ebp - 0x63]
movzx eax, 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 + edi - 0x64]
movsx ecx, byte [ebp + edi - 0x65]
add edx, edx
add ecx, edx
inc edi
lea eax, [eax + ecx*2]
cmp edi, 0x11
jl 0x10009a20
mov ecx, dword [ebp - 0x2c4]
cdq
lea ecx, [ecx*2 + 0x31]
idiv ecx
test edx, edx
jne 0x10009a95
mov eax, dword [ebp - 0x2c4]
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0xe
jle 0x10009a6a
mov dword [ebp - 0x2c4], 1
mov edx, dword [ebp - 0x2c8]
lea ecx, [ebp - 0x244]
mov al, byte [ebp - 0x244]
mov byte [edx], al
test al, al
je 0x10009abd
mov eax, ecx
sub edx, eax
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
mov byte [ecx + edx], al
test al, al
jne 0x10009a86
jmp 0x10009abd
mov ecx, dword [ebp - 0x2c8]
mov al, byte [ebp - 0x244]
mov byte [ecx], al
test al, al
je 0x10009abd
lea eax, [ebp - 0x244]
sub ecx, eax
nop
mov al, byte [esi + 1]
lea esi, [esi + 1]
mov byte [esi + ecx], al
test al, al
jne 0x10009ab0
lea eax, [ebp - 0x114]
xorps xmm0, xmm0
push eax
lea eax, [ebp - 0x1d4]
push 0x10037bd4
push eax
movups xmmword [ebp - 0x1d4], xmm0
movups xmmword [ebp - 0x1c4], xmm0
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [ebp - 0x2cc]
lea eax, [ebp - 0x1d4]
add esp, 0xc
push eax
call fcn.1000a150
mov ecx, dword [ebp - 0x2cc]
call fcn.100043e0
test eax, eax
je 0x10009b21
pop edi
pop esi
mov eax, 0xfffffffb
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1001e319
mov esp, ebp
pop ebp
ret
movsd xmm3, qword [0x1003a928]
xor ecx, ecx
movsd xmm1, qword [0x1003a918]
movaps xmm4, xmm3
mulsd xmm4, qword [0x1003a910]
movaps xmm2, xmm1
mov dword [ebp - 0x24c], 0xc2d4a3b9
mulsd xmm2, xmm3
mov word [ebp - 0x248], 0xbdc0
mov byte [ebp - 0x246], 0
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
xorps xmm0, xmm0
movups xmmword [ebp - 0x104], xmm0
movsd qword [0x1003a918], xmm2
nop dword [eax]
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x24c], al
inc ecx
cmp ecx, 6
jb 0x10009bb0
xor eax, eax
mov byte [ebp - 0x246], 0
cmp byte [ebp - 0x104], al
je 0x10009bdc
inc eax
cmp byte [ebp + eax - 0x104], 0
jne 0x10009bd1
lea ecx, [ebp - 0x104]
mov dword [ebp - 0x2c4], 0
add eax, ecx
mov dword [ebp - 0x290], 0xb1beb3b0
xorps xmm0, xmm0
mov dword [ebp - 0x2c8], eax
lea esi, [ebp - 0x24c]
mov dword [ebp - 0x28c], 0xb9bbbdb7
movups xmmword [ebp - 0x44], xmm0
mov byte [ebp - 0x288], 0
xor ecx, ecx
movups xmmword [ebp - 0x34], xmm0
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x290], al
inc ecx
cmp ecx, 8
jb 0x10009c22
mov al, byte [ebp - 0x290]
mov byte [ebp - 0x288], 0
mov byte [ebp - 0x44], al
test al, al
je 0x10009c62
xor ecx, ecx
nop dword [eax + eax]
lea ecx, [ecx + 1]
mov al, byte [ebp + ecx - 0x290]
mov byte [ebp + ecx - 0x44], al
test al, al
jne 0x10009c50
movsx ebx, byte [ebp - 0x24c]
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 0x10009cc0
mov ecx, dword [ebp - 0x2c4]
cdq
lea ecx, [ecx*2 + 0x31]
idiv ecx
test edx, edx
jne 0x10009d35
mov eax, dword [ebp - 0x2c4]
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0xe
jle 0x10009d0a
mov dword [ebp - 0x2c4], 1
mov edx, dword [ebp - 0x2c8]
lea ecx, [ebp - 0x24c]
mov al, byte [ebp - 0x24c]
mov byte [edx], al
test al, al
je 0x10009d5d
mov eax, ecx
sub edx, eax
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
mov byte [ecx + edx], al
test al, al
jne 0x10009d26
jmp 0x10009d5d
mov ecx, dword [ebp - 0x2c8]
mov al, byte [ebp - 0x24c]
mov byte [ecx], al
test al, al
je 0x10009d5d
lea eax, [ebp - 0x24c]
sub ecx, eax
nop
mov al, byte [esi + 1]
lea esi, [esi + 1]
mov byte [esi + ecx], al
test al, al
jne 0x10009d50
lea eax, [ebp - 0x104]
xorps xmm0, xmm0
push eax
lea eax, [ebp - 0x1f4]
push 0x10037bd4
push eax
movups xmmword [ebp - 0x1f4], xmm0
movups xmmword [ebp - 0x1e4], xmm0
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [ebp - 0x2cc]
lea eax, [ebp - 0x1f4]
add esp, 0xc
push eax
call fcn.1000a150
mov ecx, dword [ebp - 0x2cc]
call fcn.10005f50
test eax, eax
je 0x10009dc1
pop edi
pop esi
mov eax, 0xfffffffa
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1001e319
mov esp, ebp
pop ebp
ret
movsd xmm3, qword [0x1003a918]
xor ecx, ecx
movsd xmm6, qword [0x10037da8]
movaps xmm1, xmm3
movsd xmm5, qword [0x1003a928]
addsd xmm1, xmm6
movaps xmm0, xmm5
movsd xmm4, qword [0x1003a910]
movsd xmm2, qword [0x1003a920]
mov dword [ebp - 0x254], 0xd6d4a3b9
mov word [ebp - 0x250], 0xbdca
divsd xmm0, xmm1
mov byte [ebp - 0x24e], 0
movaps xmm1, xmm3
subsd xmm4, xmm0
movaps xmm0, xmm2
addsd xmm0, xmm6
movsd qword [0x1003a910], xmm4
divsd xmm1, xmm0
movaps xmm0, xmm4
subsd xmm5, xmm1
movaps xmm1, xmm2
addsd xmm0, xmm6
movsd qword [0x1003a928], xmm5
addsd xmm5, xmm6
divsd xmm1, xmm0
divsd xmm4, xmm5
subsd xmm3, xmm1
xorps xmm0, xmm0
subsd xmm2, xmm4
movups xmmword [ebp - 0x154], xmm0
movsd qword [0x1003a918], xmm3
movsd qword [0x1003a920], xmm2
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x254], al
inc ecx
cmp ecx, 6
jb 0x10009e71
xor ecx, ecx
mov byte [ebp - 0x24e], 0
lea eax, [ebp - 0x154]
cmp byte [ebp - 0x154], cl
je 0x10009ea1
lea eax, [eax + 1]
inc ecx
cmp byte [eax], 0
jne 0x10009e98
lea esi, [ebp - 0x154]
mov dword [ebp - 0x2c4], 0
xorps xmm0, xmm0
mov dword [ebp - 0x284], 0xb1beb3b0
add esi, ecx
mov dword [ebp - 0x280], 0xb9bbbdb7
movups xmmword [ebp - 0x24], xmm0
mov byte [ebp - 0x27c], 0
xor ecx, ecx
movups xmmword [ebp - 0x14], xmm0
nop dword [eax + eax]
lea eax, [ecx - 0x7e]
xor byte [ebp + ecx - 0x284], al
inc ecx
cmp ecx, 8
jb 0x10009ee0
mov al, byte [ebp - 0x284]
mov byte [ebp - 0x27c], 0
mov byte [ebp - 0x24], al
test al, al
je 0x10009f22
xor ecx, ecx
nop word [eax + eax]
lea ecx, [ecx + 1]
mov al, byte [ebp + ecx - 0x284]
mov byte [ebp + ecx - 0x24], al
test al, al
jne 0x10009f10
movsx ebx, byte [ebp - 0x254]
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 0x10009f80
mov ecx, dword [ebp - 0x2c4]
cdq
lea ecx, [ecx*2 + 0x31]
idiv ecx
test edx, edx
jne 0x10009fef
mov eax, dword [ebp - 0x2c4]
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0xe
jle 0x10009fca
mov dword [ebp - 0x2c4], 1
mov al, byte [ebp - 0x254]
lea ecx, [ebp - 0x254]
mov byte [esi], al
test al, al
je 0x1000a010
mov eax, ecx
sub esi, eax
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
mov byte [ecx + esi], al
test al, al
jne 0x10009fe0
jmp 0x1000a010
mov al, byte [ebp - 0x254]
mov byte [esi], al
test al, al
je 0x1000a010
lea ecx, [ebp - 0x254]
sub ecx, esi
mov al, byte [esi + ecx + 1]
lea esi, [esi + 1]
mov byte [esi], al
test al, al
jne 0x1000a003
lea eax, [ebp - 0x154]
xorps xmm0, xmm0
push eax
lea eax, [ebp - 0x214]
push 0x10037bd4
push eax
movups xmmword [ebp - 0x214], xmm0
movups xmmword [ebp - 0x204], xmm0
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [ebp - 0x2cc]
lea eax, [ebp - 0x214]
add esp, 0xc
push eax
call fcn.1000a150
mov ecx, dword [ebp - 0x2cc]
call fcn.100068f0
movsd xmm3, qword [0x1003a918]
xor eax, eax
movsd xmm1, qword [0x1003a910]
movaps xmm4, xmm3
mulsd xmm4, qword [0x1003a928]
movaps xmm0, xmm1
mov ecx, dword [ebp - 4]
movsd xmm2, qword [0x1003a920]
xor ecx, ebp
mulsd xmm0, xmm2
pop edi
subsd xmm4, xmm2
mulsd xmm3, xmm2
pop esi
pop 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 fcn.1001e319
mov esp, ebp
pop ebp
ret