Function at 0x10001010
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x804
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x800
lea eax, [ebp - 0x804]
push 0
push eax
call fcn.10002e30
add esp, 0xc
lea eax, [ebp + 0xc]
push eax
push 0
push dword [ebp + 8]
lea eax, [ebp - 0x804]
push 0x800
push eax
call fcn.10001000
push dword [eax + 4]
push dword [eax]
call fcn.10006a90
add esp, 0x1c
lea eax, [ebp - 0x804]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10001b5d
mov esp, ebp
pop ebp
ret

Function at 0x10001090
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
push esi
push edi
mov edi, ecx
push edi
call ebx
mov dword [ebp - 8], eax
lea esi, [eax + 2]
push esi
call fcn.10001b70
push esi
push 0
push eax
mov dword [ebp - 4], eax
call fcn.10002e30
add esp, 0x10
test esi, esi
je 0x10001100
cmp esi, 0x7fffffff
jbe 0x100010d3
mov edi, dword [ebp - 4]
mov byte [edi], 0
jmp 0x10001103
mov ecx, dword [ebp - 4]
mov edx, 0x7ffffffe
sub edx, esi
sub edi, ecx
nop
lea eax, [edx + esi]
test eax, eax
je 0x100010fd
mov al, byte [edi + ecx]
test al, al
je 0x100010f8
mov byte [ecx], al
inc ecx
sub esi, 1
jne 0x100010e0
jmp 0x100010fc
test esi, esi
jne 0x100010fd
dec ecx
mov byte [ecx], 0
mov edi, dword [ebp - 4]
push edi
call ebx
mov ebx, eax
test bl, 1
jne 0x10001218
xor edx, edx
test ebx, ebx
jle 0x1000113b
mov cl, byte [edx + edi]
mov al, cl
sub al, 0x30
cmp al, 9
jbe 0x10001136
mov al, cl
sub al, 0x41
cmp al, 5
jbe 0x10001136
sub cl, 0x61
cmp cl, 5
ja 0x10001218
inc edx
cmp edx, ebx
jl 0x10001117
mov eax, dword [ebp - 8]
shr eax, 1
mov dword [ebp - 8], eax
lea esi, [eax + 2]
push esi
call fcn.10001b70
push esi
mov ebx, eax
push 0
push ebx
mov dword [ebp - 4], ebx
call fcn.10002e30
add esp, 0x10
mov esi, edi
cmp byte [edi], 0
je 0x100011ca
mov cl, byte [esi + 1]
test cl, cl
je 0x100011ca
mov dl, byte [esi]
mov al, dl
sub al, 0x30
cmp al, 9
jbe 0x10001191
mov al, dl
sub al, 0x41
cmp al, 5
ja 0x10001182
sub dl, 0x37
jmp 0x10001191
mov al, dl
sub al, 0x61
cmp al, 5
ja 0x1000118f
sub dl, 0x57
jmp 0x10001191
xor dl, dl
mov al, cl
sub al, 0x30
cmp al, 9
ja 0x1000119e
sub cl, 0x30
jmp 0x100011ba
mov al, cl
sub al, 0x41
cmp al, 5
ja 0x100011ab
sub cl, 0x37
jmp 0x100011ba
mov al, cl
sub al, 0x61
cmp al, 5
ja 0x100011b8
sub cl, 0x57
jmp 0x100011ba
xor cl, cl
shl dl, 4
add esi, 2
add dl, cl
mov byte [ebx], dl
inc ebx
cmp byte [esi], 0
jne 0x10001164
mov eax, dword [str.f424]
xor ecx, ecx
mov esi, dword [ebp - 4]
mov dword [ebp - 0x10], eax
mov al, byte [0x100198dc]
cmp dword [ebp - 8], ecx
jbe 0x10001206
mov dl, byte [ebp - 0xd]
mov bl, byte [ebp - 0xe]
mov ah, byte [ebp - 0xf]
mov dh, byte [ebp - 0x10]
nop dword [eax]
mov al, byte [esi + ecx]
xor al, dl
xor al, bl
xor al, ah
xor al, dh
not al
mov byte [esi + ecx], al
inc ecx
cmp ecx, dword [ebp - 8]
jb 0x100011f0
push edi
call fcn.10001b6b
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push edi
call fcn.10001b6b
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret