Function at 0x10001800
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
movsx eax, byte [str.Tpp_hD]
push ebx
push esi
push edi
mov byte [0x1000edbb], 0x79
mov byte [0x1000edbf], 0xfe
mov byte [0x1000edbe], 0xfb
mov byte [0x1000edc1], 0x19
mov byte [0x1000edb8], 0xe0
mov byte [0x1000edba], 0x82
mov byte [0x1000edbd], 0xb0
cmp eax, 0xbd309c
jle 0x100018bb
call fcn.10001f10
movsx ecx, al
cmp ecx, 0x80fffe
jge 0x10001977
mov esi, 5
mov edi, edi
call fcn.10001660
mov bl, al
call fcn.10001b60
sub bl, al
mov byte [0x1000edb9], bl
call fcn.10001b60
add al, byte [0x1000edc3]
mov byte [str.Tpp_hD], al
call fcn.10001b60
sub al, 0x4a
mov byte [0x1000edbe], al
call fcn.10001790
mov bl, al
call fcn.10001440
mov dl, byte [0x1000edc3]
add bl, al
sub dl, 0x44
dec esi
mov byte [0x1000edbf], bl
mov byte [0x1000edbe], dl
jne 0x10001860
jmp 0x10001977
call fcn.10001480
cmp al, 0x82
jl 0x10001977
cmp byte [str.Tpp_hD], 0xba
mov byte [0x1000edba], 1
jl 0x10001934
mov cl, byte [0x1000edc3]
mov edi, 4
mov bl, 0xb7
mov esi, 2
lea ebx, [ebx]
call fcn.10001eb0
movsx eax, al
cmp eax, 0x392790
jle 0x10001926
mov edx, 3
call fcn.10001ee0
or al, cl
mov byte [0x1000edbf], al
mov byte [0x1000edb8], bl
call fcn.10001550
xor al, byte [0x1000edbf]
dec edx
mov cl, al
jne 0x10001904
dec esi
jne 0x100018f0
dec edi
jne 0x100018e5
mov byte [0x1000edc3], cl
jmp 0x10001977
call fcn.10001e10
call fcn.10001510
mov cl, 0xac
sub cl, al
mov byte [0x1000edc0], cl
call fcn.10001d80
xor al, 4
mov byte [0x1000edc1], al
mov byte [0x1000edc3], 0x10
call fcn.10001420
and al, byte [str.Tpp_hD]
mov byte [0x1000edbe], al
call fcn.10001d80
sub al, 0x6f
mov byte [0x1000edb9], al
mov edx, dword [ebp + 8]
push 0x5c
push edx
call fcn.10003b80
add esp, 8
mov edi, eax
call fcn.10001f40
mov cl, al
call fcn.10001f10
cmp al, cl
jne 0x100019ba
call fcn.10001e80
mov dl, 0x56
sub dl, al
movzx eax, byte [0x1000edb8]
or byte [0x1000edbd], al
mov al, byte [0x1000edb9]
mov byte [0x1000edc2], dl
jmp 0x100019f6
mov bl, byte [0x1000edbb]
mov esi, 3
jmp 0x100019d0
mov al, byte [0x1000edc3]
imul bl
mov byte [0x1000edbe], al
call fcn.10001750
or al, 0x2b
mov cl, al
xor cl, 0xe7
dec esi
mov byte [0x1000edb9], al
mov byte [0x1000edb8], cl
jne 0x100019d0
test edi, edi
jne 0x10001aa1
mov cl, byte [0x1000edbe]
movsx edx, cl
cmp edx, 0xac6395
jg 0x10001a70
mov dl, byte [0x1000edbf]
cmp dl, byte [0x1000edc3]
jg 0x10001a70
mov edi, 5
mov bl, 0xb1
lea esi, [edi - 1]
jmp 0x10001a45
mov al, byte [0x1000edb9]
mov esi, 4
jmp 0x10001a45
mov al, byte [0x1000edb9]
and al, byte [0x1000edba]
mov byte [0x1000edbb], bl
mov byte [0x1000edc0], al
call fcn.100016a0
mov cl, 0x2b
imul cl
dec esi
mov byte [0x1000edbb], al
jne 0x10001a40
dec edi
jne 0x10001a30
mov cl, byte [0x1000edbe]
xor cl, byte [0x1000edbd]
mov edi, dword [ebp + 8]
mov al, byte [str.Tpp_hD]
mov byte [0x1000edba], cl
mov ecx, 5
lea esp, [esp]
mov dl, 0x61
imul dl
dec ecx
jne 0x10001a90
mov byte [str.Tpp_hD], al
jmp 0x10001b25
mov bl, 0xda
mov byte [0x1000edc1], 0x12
mov byte [str.Tpp_hD], bl
call fcn.10001550
inc edi
call fcn.10001440
mov cl, al
call fcn.10001f60
cmp cl, al
jg 0x10001b25
call fcn.10001550
mov byte [0x1000edba], 1
cmp byte [0x1000edc1], al
jle 0x10001b18
mov dl, byte [0x1000edbb]
or byte [0x1000edb8], dl
mov al, 0xba
sub al, byte [0x1000edbd]
mov byte [0x1000edbf], al
call fcn.10001440
mov cl, byte [0x1000edbe]
sub cl, al
mov byte [0x1000edc2], cl
call fcn.100017d0
or al, byte [0x1000edc1]
mov byte [0x1000edc3], al
jmp 0x10001b25
mov byte [str.Tpp_hD], bl
mov byte [0x1000edc1], 0x9c
call fcn.10001e10
call fcn.10001d80
mov dl, byte [0x1000edb9]
and al, 0xb3
mov byte [0x1000edc0], al
mov al, byte [0x1000edc1]
shl dl, 5
or al, 0xc3
mov byte [0x1000edb9], al
mov eax, edi
pop edi
pop esi
mov byte [0x1000edbd], dl
pop ebx
pop ebp
ret