Function at 0x10017d80
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x268
mov eax, dword [0x10051040]
xor eax, ebp
mov dword [ebp - 4], eax
mov byte [ebp - 0x268], 0x5e
xor edx, edx
mov byte [ebp - 0x267], 0x51
mov byte [ebp - 0x266], 0x4e
mov byte [ebp - 0x265], 0x4d
mov byte [ebp - 0x264], 0xbc
mov byte [ebp - 0x263], 0x8d
mov byte [ebp - 0x262], 0xa6
mov byte [ebp - 0x261], 0xac
mov byte [ebp - 0x260], 0xba
mov byte [ebp - 0x25f], 0x96
mov byte [ebp - 0x25e], 0xcf
mov byte [ebp - 0x25d], 0xce
mov byte [ebp - 0x25c], 0xaf
mov byte [ebp - 0x25b], 0xee
mov byte [ebp - 0x25a], 0xff
push ebx
mov byte [ebp - 0x259], 0xf8
mov ebx, 0x2e5
push esi
mov byte [ebp - 0x258], 0xad
mov esi, ecx
mov al, byte [ebp - 0x268]
mov dword [ebp - 0x218], 0xfffffff6
nop word [eax + eax]
mov al, byte [ebp + edx - 0x268]
lea edx, [edx + 1]
mov cl, bl
add ebx, 8
xor cl, byte [ebp - 0x218]
dec dword [ebp - 0x218]
xor cl, al
xor cl, 0x2e
mov byte [ebp + edx - 0x269], cl
cmp ebx, 0x36d
jb 0x10017e30
lea eax, [ebp - 0x268]
mov byte [ebp - 0x258], 0
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
xor ecx, ecx
nop word [eax + eax]
mov byte [ebp + ecx - 0x268], 0
inc ecx
cmp ecx, 0x11
jb 0x10017e80
test eax, eax
jne 0x10017ea2
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1002078c
mov esp, ebp
pop ebp
ret
push 0x105
lea ecx, [ebp - 0x214]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
xor bl, bl
test eax, eax
je 0x10017f10
lea ecx, [eax - 1]
nop
mov dl, byte [ebp + ecx - 0x214]
cmp dl, 0x5c
je 0x10017ed1
cmp dl, 0x2f
jne 0x10017eeb
test bl, bl
jne 0x10017ef3
mov bl, 1
cmp ecx, 0x105
jae 0x10018518
mov byte [ebp + ecx - 0x214], 0
dec ecx
sub eax, 1
jne 0x10017ec0
jmp 0x10017f10
lea ecx, [ebp - 0x214]
add eax, ecx
push eax
lea eax, [ebp - 0x10c]
push 0x105
push eax
call fcn.1002c410
add esp, 0xc
test esi, esi
je 0x10017f2d
lea ecx, [ebp - 0x10c]
mov eax, ecx
sub esi, eax
nop
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [esi + ecx - 1], al
test al, al
jne 0x10017f20
mov byte [ebp - 0x234], 0x58
xor edx, edx
mov byte [ebp - 0x233], 0x42
mov ebx, 0x2e5
mov byte [ebp - 0x232], 0x42
mov byte [ebp - 0x231], 0x41
mov byte [ebp - 0x230], 0xb0
mov byte [ebp - 0x22f], 0xbc
mov byte [ebp - 0x22e], 0xcb
mov al, byte [ebp - 0x234]
mov dword [ebp - 0x218], 0xfffffff6
nop word [eax + eax]
mov al, byte [ebp + edx - 0x234]
lea edx, [edx + 1]
mov cl, bl
add ebx, 8
xor cl, byte [ebp - 0x218]
dec dword [ebp - 0x218]
xor cl, al
xor cl, 0x2e
mov byte [ebp + edx - 0x235], cl
cmp ebx, 0x31d
jb 0x10017f80
lea eax, [ebp - 0x234]
mov byte [ebp - 0x22e], 0
push eax
lea eax, [ebp - 0x10c]
push eax
call fcn.1002a2c2
add esp, 8
xor ecx, ecx
nop
mov byte [ebp + ecx - 0x234], 0
inc ecx
cmp ecx, 7
jb 0x10017fd0
test eax, eax
jne 0x10017ff7
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1002078c
mov esp, ebp
pop ebp
ret
mov byte [ebp - 0x224], 0x58
xor edx, edx
mov byte [ebp - 0x223], 0x42
mov ebx, 0x2e5
mov byte [ebp - 0x222], 0x5f
mov byte [ebp - 0x221], 0x55
mov byte [ebp - 0x220], 0xbb
mov byte [ebp - 0x21f], 0xd2
mov al, byte [ebp - 0x224]
mov dword [ebp - 0x218], 0xfffffff6
nop dword [eax + eax]
mov al, byte [ebp + edx - 0x224]
lea edx, [edx + 1]
mov cl, bl
add ebx, 8
xor cl, byte [ebp - 0x218]
dec dword [ebp - 0x218]
xor cl, al
xor cl, 0x2e
mov byte [ebp + edx - 0x225], cl
cmp ebx, 0x315
jb 0x10018040
lea eax, [ebp - 0x224]
mov byte [ebp - 0x21f], 0
push eax
lea eax, [ebp - 0x10c]
push eax
call fcn.1002a2c2
add esp, 8
xor ecx, ecx
nop
mov byte [ebp + ecx - 0x224], 0
inc ecx
cmp ecx, 6
jb 0x10018090
test eax, eax
jne 0x100180b7
pop esi
mov eax, 2
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1002078c
mov esp, ebp
pop ebp
ret
mov byte [ebp - 0x22c], 0x58
xor edx, edx
mov byte [ebp - 0x22b], 0x42
mov ebx, 0x2e5
mov byte [ebp - 0x22a], 0x5f
mov byte [ebp - 0x229], 0x52
mov byte [ebp - 0x228], 0xb6
mov byte [ebp - 0x227], 0xd2
mov al, byte [ebp - 0x22c]
mov dword [ebp - 0x218], 0xfffffff6
nop dword [eax + eax]
mov al, byte [ebp + edx - 0x22c]
lea edx, [edx + 1]
mov cl, bl
add ebx, 8
xor cl, byte [ebp - 0x218]
dec dword [ebp - 0x218]
xor cl, al
xor cl, 0x2e
mov byte [ebp + edx - 0x22d], cl
cmp ebx, 0x315
jb 0x10018100
lea eax, [ebp - 0x22c]
mov byte [ebp - 0x227], 0
push eax
lea eax, [ebp - 0x10c]
push eax
call fcn.1002a2c2
add esp, 8
xor ecx, ecx
nop
mov byte [ebp + ecx - 0x22c], 0
inc ecx
cmp ecx, 6
jb 0x10018150
test eax, eax
jne 0x10018177
pop esi
mov eax, 3
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1002078c
mov esp, ebp
pop ebp
ret
mov byte [ebp - 0x23c], 0x57
xor edx, edx
mov byte [ebp - 0x23b], 0x57
mov ebx, 0x2e5
mov byte [ebp - 0x23a], 0x56
mov byte [ebp - 0x239], 0x4d
mov byte [ebp - 0x238], 0xb6
mov byte [ebp - 0x237], 0xb6
mov byte [ebp - 0x236], 0xcb
mov al, byte [ebp - 0x23c]
mov dword [ebp - 0x218], 0xfffffff6
nop
mov al, byte [ebp + edx - 0x23c]
lea edx, [edx + 1]
mov cl, bl
add ebx, 8
xor cl, byte [ebp - 0x218]
dec dword [ebp - 0x218]
xor cl, al
xor cl, 0x2e
mov byte [ebp + edx - 0x23d], cl
cmp ebx, 0x31d
jb 0x100181c0
lea eax, [ebp - 0x23c]
mov byte [ebp - 0x236], 0
push eax
lea eax, [ebp - 0x10c]
push eax
call fcn.1002a2c2
add esp, 8
xor ecx, ecx
nop
mov byte [ebp + ecx - 0x23c], 0
inc ecx
cmp ecx, 7
jb 0x10018210
test eax, eax
jne 0x10018237
pop esi
mov eax, 4
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1002078c
mov esp, ebp
pop ebp
ret
mov byte [ebp - 0x244], 0x53
xor edx, edx
mov byte [ebp - 0x243], 0x5f
mov ebx, 0x2e5
mov byte [ebp - 0x242], 0x5b
mov byte [ebp - 0x241], 0x4d
mov byte [ebp - 0x240], 0xb6
mov byte [ebp - 0x23f], 0xb6
mov byte [ebp - 0x23e], 0xcb
mov al, byte [ebp - 0x244]
mov dword [ebp - 0x218], 0xfffffff6
nop
mov al, byte [ebp + edx - 0x244]
lea edx, [edx + 1]
mov cl, bl
add ebx, 8
xor cl, byte [ebp - 0x218]
dec dword [ebp - 0x218]
xor cl, al
xor cl, 0x2e
mov byte [ebp + edx - 0x245], cl
cmp ebx, 0x31d
jb 0x10018280
lea eax, [ebp - 0x244]
mov byte [ebp - 0x23e], 0
push eax
lea eax, [ebp - 0x10c]
push eax
call fcn.1002a2c2
add esp, 8
xor ecx, ecx
nop
mov byte [ebp + ecx - 0x244], 0
inc ecx
cmp ecx, 7
jb 0x100182d0
test eax, eax
jne 0x100182f7
pop esi
mov eax, 5
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1002078c
mov esp, ebp
pop ebp
ret
mov byte [ebp - 0x21c], 0x53
xor edx, edx
mov byte [ebp - 0x21b], 0x47
mov ebx, 0x2e5
mov byte [ebp - 0x21a], 0x2f
mov al, byte [ebp - 0x21c]
mov dword [ebp - 0x218], 0xfffffff6
mov al, byte [ebp + edx - 0x21c]
lea edx, [edx + 1]
mov cl, bl
add ebx, 8
xor cl, byte [ebp - 0x218]
dec dword [ebp - 0x218]
xor cl, al
xor cl, 0x2e
mov byte [ebp + edx - 0x21d], cl
cmp ebx, 0x2fd
jb 0x10018323
lea eax, [ebp - 0x21c]
mov byte [ebp - 0x21a], 0
push eax
lea eax, [ebp - 0x10c]
push eax
call fcn.1002a2c2
add esp, 8
xor ecx, ecx
mov byte [ebp + ecx - 0x21c], 0
inc ecx
cmp ecx, 3
jb 0x10018371
test eax, eax
jne 0x10018398
pop esi
mov eax, 6
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1002078c
mov esp, ebp
pop ebp
ret
mov byte [ebp - 0x24c], 0x4e
xor edx, edx
mov byte [ebp - 0x24b], 0x5f
mov ebx, 0x2e5
mov byte [ebp - 0x24a], 0x43
mov byte [ebp - 0x249], 0x45
mov byte [ebp - 0x248], 0xb7
mov byte [ebp - 0x247], 0xa6
mov byte [ebp - 0x246], 0xcb
mov al, byte [ebp - 0x24c]
mov dword [ebp - 0x218], 0xfffffff6
mov al, byte [ebp + edx - 0x24c]
lea edx, [edx + 1]
mov cl, bl
add ebx, 8
xor cl, byte [ebp - 0x218]
dec dword [ebp - 0x218]
xor cl, al
xor cl, 0x2e
mov byte [ebp + edx - 0x24d], cl
cmp ebx, 0x31d
jb 0x100183e0
lea eax, [ebp - 0x24c]
mov byte [ebp - 0x246], 0
push eax
lea eax, [ebp - 0x10c]
push eax
call fcn.1002a2c2
add esp, 8
xor ecx, ecx
nop
mov byte [ebp + ecx - 0x24c], 0
inc ecx
cmp ecx, 7
jb 0x10018430
test eax, eax
jne 0x10018457
pop esi
mov eax, 7
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1002078c
mov esp, ebp
pop ebp
ret
mov byte [ebp - 0x254], 0x51
xor edx, edx
mov byte [ebp - 0x253], 0x53
mov ebx, 0x2e5
mov byte [ebp - 0x252], 0x48
mov byte [ebp - 0x251], 0x41
mov byte [ebp - 0x250], 0xba
mov byte [ebp - 0x24f], 0xab
mov byte [ebp - 0x24e], 0xcb
mov al, byte [ebp - 0x254]
mov dword [ebp - 0x218], 0xfffffff6
nop
mov al, byte [ebp + edx - 0x254]
lea edx, [edx + 1]
mov cl, bl
add ebx, 8
xor cl, byte [ebp - 0x218]
dec dword [ebp - 0x218]
xor cl, al
xor cl, 0x2e
mov byte [ebp + edx - 0x255], cl
cmp ebx, 0x31d
jb 0x100184a0
lea eax, [ebp - 0x254]
mov byte [ebp - 0x24e], 0
push eax
lea eax, [ebp - 0x10c]
push eax
call fcn.1002a2c2
add esp, 8
mov edx, eax
xor ecx, ecx
mov byte [ebp + ecx - 0x254], 0
inc ecx
cmp ecx, 7
jb 0x100184f0
mov ecx, dword [ebp - 4]
xor eax, eax
test edx, edx
pop esi
setne al
xor ecx, ebp
add eax, 8
pop ebx
call fcn.1002078c
mov esp, ebp
pop ebp
ret
call fcn.10020e2c
int3