Function at 0x10001fa0
Capabilities:
Encode data using xor
Execute anti-debugging instructions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100283d0
mov eax, dword fs:[0]
push eax
sub esp, 0x174
mov eax, dword [0x10036008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x10038f58]
lea edi, [ebp - 0xe4]
mov dword [ebp - 0x180], eax
mov ecx, 0x27
rdtsc
mov esi, str.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789________
mov dword [ebp - 0x20], 0
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov dword [ebp - 0x18], 0
xor ecx, 2
mov byte [ebp - 0x1c], 0
add ecx, 0x10
mov byte [ebp - 0x14], 0
imul ecx, eax
xorps xmm0, xmm0
mov eax, 0x24924925
movq qword [ebp - 0x28], xmm0
movups xmmword [ebp - 0x48], xmm0
mov word [ebp - 0x18], 0x1919
movups xmmword [ebp - 0x38], xmm0
mov byte [ebp - 0x1f], 0x1a
imul ecx, ecx, 0x17
mul ecx
sub ecx, edx
shr ecx, 1
lea eax, [edx + ecx]
xor edx, edx
shr eax, 2
mov ecx, 7
div ecx
lea esi, [edx + 2]
lea eax, [esi*2 + 4]
mov dword [ebp - 0xe8], esi
push eax
lea eax, [ebp - 0x48]
push 0
push eax
call fcn.10010ba0
add esp, 0xc
mov dword [ebp - 0x17c], 0
test esi, esi
je 0x100020d8
rdtsc
imul eax, eax
imul edi, eax, 0x17
mov eax, 0x24924925
mul edi
sub edi, edx
shr edi, 1
add edi, edx
rdtsc
imul eax, eax
shr edi, 2
and edi, 1
imul esi, eax, 0x17
mov eax, 0x24924925
movsx ecx, byte [ebp + edi - 0x18]
inc ecx
mul esi
sub esi, edx
shr esi, 1
lea eax, [edx + esi]
xor edx, edx
shr eax, 2
div ecx
movsx eax, byte [ebp + edi - 0x20]
mov ecx, dword [ebp - 0x17c]
add eax, edx
mov ax, word [ebp + eax*2 - 0xe4]
mov word [ebp + ecx*2 - 0x48], ax
inc ecx
mov dword [ebp - 0x17c], ecx
cmp ecx, dword [ebp - 0xe8]
jb 0x10002071
lea edx, [ebp - 0x48]
lea ecx, [edx + 2]
nop
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x100020e0
sub edx, ecx
lea ecx, [ebp - 0x48]
sar edx, 1
call fcn.10001300
movzx eax, ax
push 0x90
mov dword [ebp - 0xe8], eax
lea eax, [ebp - 0x178]
push 0
push eax
call fcn.10010ba0
lea eax, [ebp - 0x16c]
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x178], eax
xor eax, eax
mov dword [ebp - 0x170], 0
mov word [ebp - 0x16c], ax
add esp, 4
mov dword [ebp - 4], eax
lea eax, [ebp - 0xe8]
lea ecx, [ebp - 0x178]
push eax
call fcn.1000e4c0
mov dword [ebp - 0x20], 1
xor ecx, ecx
mov dword [ebp - 0x1c], 0x8400e4
lea eax, [ecx + 0x83]
xor word [ebp + ecx*2 - 0x1c], ax
inc ecx
mov eax, dword [ebp - 0x20]
cmp ecx, eax
jb 0x10002164
xor ecx, ecx
mov dword [ebp - 0x18], 1
mov word [ebp + eax*2 - 0x1c], cx
mov dword [ebp - 0x14], 0x8400b3
nop dword [eax]
lea eax, [ecx + 0x83]
xor word [ebp + ecx*2 - 0x14], ax
inc ecx
mov eax, dword [ebp - 0x18]
cmp ecx, eax
jb 0x10002190
xor ecx, ecx
mov word [ebp + eax*2 - 0x14], cx
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x178]
call fcn.1000dfd0
mov dword [ebp - 0x20], 1
xor ecx, ecx
mov dword [ebp - 0x1c], 0x8400eb
nop
lea eax, [ecx + 0x83]
xor word [ebp + ecx*2 - 0x1c], ax
inc ecx
mov eax, dword [ebp - 0x20]
cmp ecx, eax
jb 0x100021d0
xor ecx, ecx
mov dword [ebp - 0x18], 1
mov word [ebp + eax*2 - 0x1c], cx
mov dword [ebp - 0x14], 0x8400b2
nop dword [eax + eax]
lea eax, [ecx + 0x83]
xor word [ebp + ecx*2 - 0x14], ax
inc ecx
mov eax, dword [ebp - 0x18]
cmp ecx, eax
jb 0x10002200
xor ecx, ecx
mov word [ebp + eax*2 - 0x14], cx
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x178]
call fcn.1000dfd0
mov dword [ebp - 0x20], 1
xor ecx, ecx
mov dword [ebp - 0x1c], 0x8400ea
nop
lea eax, [ecx + 0x83]
xor word [ebp + ecx*2 - 0x1c], ax
inc ecx
mov eax, dword [ebp - 0x20]
cmp ecx, eax
jb 0x10002240
xor ecx, ecx
mov dword [ebp - 0x18], 1
mov word [ebp + eax*2 - 0x1c], cx
mov dword [ebp - 0x14], 0x8400b1
nop dword [eax + eax]
lea eax, [ecx + 0x83]
xor word [ebp + ecx*2 - 0x14], ax
inc ecx
mov eax, dword [ebp - 0x18]
cmp ecx, eax
jb 0x10002270
xor ecx, ecx
mov word [ebp + eax*2 - 0x14], cx
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x178]
call fcn.1000dfd0
mov dword [ebp - 0x20], 1
xor ecx, ecx
mov dword [ebp - 0x1c], 0x8400e9
nop
lea eax, [ecx + 0x83]
xor word [ebp + ecx*2 - 0x1c], ax
inc ecx
mov eax, dword [ebp - 0x20]
cmp ecx, eax
jb 0x100022b0
xor ecx, ecx
mov dword [ebp - 0x18], 1
mov word [ebp + eax*2 - 0x1c], cx
mov dword [ebp - 0x14], 0x8400b0
nop dword [eax + eax]
lea eax, [ecx + 0x83]
xor word [ebp + ecx*2 - 0x14], ax
inc ecx
mov eax, dword [ebp - 0x18]
cmp ecx, eax
jb 0x100022e0
xor ecx, ecx
mov word [ebp + eax*2 - 0x14], cx
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x178]
call fcn.1000dfd0
mov dword [ebp - 0x20], 1
xor ecx, ecx
mov dword [ebp - 0x1c], 0x8400e8
nop
lea eax, [ecx + 0x83]
xor word [ebp + ecx*2 - 0x1c], ax
inc ecx
mov eax, dword [ebp - 0x20]
cmp ecx, eax
jb 0x10002320
xor ecx, ecx
mov dword [ebp - 0x18], 1
mov word [ebp + eax*2 - 0x1c], cx
mov dword [ebp - 0x14], 0x8400b7
nop dword [eax + eax]
lea eax, [ecx + 0x83]
xor word [ebp + ecx*2 - 0x14], ax
inc ecx
mov eax, dword [ebp - 0x18]
cmp ecx, eax
jb 0x10002350
xor ecx, ecx
mov word [ebp + eax*2 - 0x14], cx
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x178]
call fcn.1000dfd0
mov dword [ebp - 0x20], 1
xor ecx, ecx
mov dword [ebp - 0x1c], 0x8400ef
nop
lea eax, [ecx + 0x83]
xor word [ebp + ecx*2 - 0x1c], ax
inc ecx
mov eax, dword [ebp - 0x20]
cmp ecx, eax
jb 0x10002390
xor ecx, ecx
mov dword [ebp - 0x18], 1
mov word [ebp + eax*2 - 0x1c], cx
mov dword [ebp - 0x14], 0x8400b6
nop dword [eax + eax]
lea eax, [ecx + 0x83]
xor word [ebp + ecx*2 - 0x14], ax
inc ecx
mov eax, dword [ebp - 0x18]
cmp ecx, eax
jb 0x100023c0
xor ecx, ecx
mov word [ebp + eax*2 - 0x14], cx
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x178]
call fcn.1000dfd0
mov dword [ebp - 0x20], 1
xor ecx, ecx
mov dword [ebp - 0x1c], 0x8400ee
nop
lea eax, [ecx + 0x83]
xor word [ebp + ecx*2 - 0x1c], ax
inc ecx
mov eax, dword [ebp - 0x20]
cmp ecx, eax
jb 0x10002400
xor ecx, ecx
mov dword [ebp - 0x18], 1
mov word [ebp + eax*2 - 0x1c], cx
mov dword [ebp - 0x14], 0x8400b5
nop dword [eax + eax]
lea eax, [ecx + 0x83]
xor word [ebp + ecx*2 - 0x14], ax
inc ecx
mov eax, dword [ebp - 0x18]
cmp ecx, eax
jb 0x10002430
xor ecx, ecx
mov word [ebp + eax*2 - 0x14], cx
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x178]
call fcn.1000dfd0
mov dword [ebp - 0x20], 1
xor ecx, ecx
mov dword [ebp - 0x1c], 0x8400ed
nop
lea eax, [ecx + 0x83]
xor word [ebp + ecx*2 - 0x1c], ax
inc ecx
mov eax, dword [ebp - 0x20]
cmp ecx, eax
jb 0x10002470
xor ecx, ecx
mov dword [ebp - 0x18], 1
mov word [ebp + eax*2 - 0x1c], cx
mov dword [ebp - 0x14], 0x8400b4
nop dword [eax + eax]
lea eax, [ecx + 0x83]
xor word [ebp + ecx*2 - 0x14], ax
inc ecx
mov eax, dword [ebp - 0x18]
cmp ecx, eax
jb 0x100024a0
xor ecx, ecx
mov word [ebp + eax*2 - 0x14], cx
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x178]
call fcn.1000dfd0
mov dword [ebp - 0x20], 1
xor ecx, ecx
mov dword [ebp - 0x1c], 0x8400ec
nop
lea eax, [ecx + 0x83]
xor word [ebp + ecx*2 - 0x1c], ax
inc ecx
mov eax, dword [ebp - 0x20]
cmp ecx, eax
jb 0x100024e0
xor ecx, ecx
mov dword [ebp - 0x18], 1
mov word [ebp + eax*2 - 0x1c], cx
mov dword [ebp - 0x14], 0x8400bb
nop dword [eax + eax]
lea eax, [ecx + 0x83]
xor word [ebp + ecx*2 - 0x14], ax
inc ecx
mov eax, dword [ebp - 0x18]
cmp ecx, eax
jb 0x10002510
xor ecx, ecx
mov word [ebp + eax*2 - 0x14], cx
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x178]
call fcn.1000dfd0
mov dword [ebp - 0x20], 1
xor ecx, ecx
mov dword [ebp - 0x1c], 0x8400f3
nop
lea eax, [ecx + 0x83]
xor word [ebp + ecx*2 - 0x1c], ax
inc ecx
mov eax, dword [ebp - 0x20]
cmp ecx, eax
jb 0x10002550
xor ecx, ecx
mov dword [ebp - 0x18], 1
mov word [ebp + eax*2 - 0x1c], cx
mov dword [ebp - 0x14], 0x8400ba
nop dword [eax + eax]
lea eax, [ecx + 0x83]
xor word [ebp + ecx*2 - 0x14], ax
inc ecx
mov eax, dword [ebp - 0x18]
cmp ecx, eax
jb 0x10002580
xor ecx, ecx
mov word [ebp + eax*2 - 0x14], cx
lea eax, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x178]
call fcn.1000dfd0
mov edx, dword [ebp - 0x178]
mov esi, edx
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x100025b6
lea edi, [ebp - 0x48]
sub edx, esi
add edi, 0xfffffffe
nop dword [eax]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x100025d0
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x180]
mov eax, dword [ecx + 0xe8]
sub eax, 1
je 0x1000261b
sub eax, 1
je 0x1000260e
sub eax, 1
jne 0x10002628
call fcn.10003250
mov esi, eax
jmp 0x1000262a
lea eax, [ebp - 0x48]
push eax
call fcn.100029f0
mov esi, eax
jmp 0x1000262a
lea eax, [ebp - 0x48]
push eax
call fcn.100026a0
mov esi, eax
jmp 0x1000262a
xor esi, esi
mov eax, dword [ebp - 0x178]
lea ecx, [ebp - 0x16c]
cmp eax, ecx
je 0x1000264f
push eax
call fcn.10016113
lea eax, [ebp - 0x16c]
add esp, 4
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x174]
test eax, eax
je 0x1000266c
push eax
call fcn.10016113
add esp, 4
mov dword [ebp - 0x174], 0
mov eax, dword [ebp - 0x170]
test eax, eax
je 0x1000267f
push eax
call fcn.10016113
add esp, 4
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1000f18c
mov esp, ebp
pop ebp
ret