Function at 0x10001f03
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1005010e
call fcn.1004fab8
sub esp, 0xa0
mov dword [ebp - 0x38], edx
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
test cl, cl
je 0x10001f48
cmp byte [ebp + 8], 0
je 0x10001f3d
mov eax, dword [ebp + 0x18]
cmp byte [eax], 0
je 0x1000259e
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
jmp 0x1000259e
mov eax, dword [ebp + 0xc]
mov byte [eax], 1
jmp 0x1000259e
cmp byte [ebp + 0x10], 0
je 0x10002591
xor ebx, ebx
mov dword [ebp - 0x74], 7
xor eax, eax
mov dword [ebp - 0x78], ebx
mov word [ebp - 0x88], ax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x20], 0x838a1f94
mov dword [ebp - 0x14], 0x9ac70c30
mov dword [ebp - 0x18], 0xd76270e7
mov dword [ebp - 0x18], ebx
jmp 0x10001f92
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x60], 0xab6d
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10001f84
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jne 0x10002011
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
test eax, eax
setle cl
xor eax, eax
cmp ecx, 0xfffffffa
setne al
xor ecx, ecx
add eax, 9
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x60]
neg edx
cmp edx, eax
setg cl
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], ebx
je 0x10001fe6
cmp dword [ebp - 0x18], ebx
jne 0x10002011
mov dword [ebp - 0x1c], 0xfffffff6
xor edx, edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
setle dl
mov dword [ebp - 0x18], edx
jmp 0x1000202a
push 0xa4e
push 1
push 1
lea edx, [ebp - 0x27]
mov byte [ebp - 0x27], bl
mov cl, 1
call fcn.10001ceb
add esp, 0xc
push ecx
lea eax, [ebp - 0x88]
push eax
push 1
lea ecx, [ebp - 0x38]
call fcn.10001e15
add esp, 0xc
mov dword [ebp - 0x24], 0x87013dce
mov dword [ebp - 0x20], 0xe5c8a52b
mov dword [ebp - 0x14], 0xedb7758b
push 3
pop ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ebx
jmp 0x1000206d
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x48], 0x73ff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1000205f
push 0x44da
push 1
push 1
push 1
push 0x5cb4
mov edx, 0x79f1
lea ecx, [ebp - 0x24]
call fcn.10001d57
add esp, 0x14
push 2
pop esi
mov dword [ebp - 0x24], esi
cmp dword [ebp - 0x24], ebx
jl 0x10002175
mov dword [ebp - 0x1c], 0xbc25
mov dword [ebp - 0x18], 0xf89f
mov dword [ebp - 0x1c], 0x36572186
mov dword [ebp - 0x1c], 0x7f47
mov eax, dword [ebp - 0x24]
cmp dword [ebp + eax*4 - 0x48], ebx
je 0x1000212d
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov eax, dword [ebp - 0x20]
cmp eax, 0x5a9cea44
setge cl
xor edx, edx
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + eax*4 - 0x48]
mov eax, dword [ebp - 0x40]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
sete dl
xor ecx, ecx
cmp eax, 0xfffffff6
mov eax, 0x9dc86695
setle cl
cmp eax, ecx
sbb eax, eax
xor ecx, ecx
inc eax
cmp edx, eax
mov eax, dword [ebp - 0x24]
setge cl
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setle dl
sub edx, eax
imul eax, edx, 0xcb44
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
je 0x10002128
mov eax, dword [ebp - 0x18]
xor ecx, ecx
inc ecx
jmp 0x1000212f
mov ecx, ebx
mov eax, 0x677b
sub eax, ecx
xor ecx, ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x24]
cmp eax, 0xffffffff
setg cl
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], ebx
jl 0x1000216c
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x48]
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x48], ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x48]
mov dword [ebp - 0x1c], eax
dec dword [ebp - 0x14]
jns 0x1000214f
dec dword [ebp - 0x24]
jns 0x100020a1
mov eax, dword [0x10069ed4]
test al, 1
jne 0x1000219e
or eax, 1
mov dword [0x10069ed4], eax
push 0xb6b
mov byte [ebp - 4], 1
call fcn.1002d02d
pop ecx
mov word [0x10069ee8], ax
mov byte [ebp - 4], bl
mov dword [ebp - 0x14], 0x172c
cmp dword [ebp - 0x14], 0x192e
jle 0x10002215
mov ecx, ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x20], ebx
mov edi, ebx
mov eax, ebx
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
add eax, edi
add eax, ebx
xor eax, ecx
mov ecx, 0x10067998
cdq
push edx
push eax
call fcn.100032d3
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, 0x2ba1
jl 0x100021c0
inc edi
push 0
pop ebx
cmp edi, 0x556b
jl 0x100021b8
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0x6594
jl 0x100021b6
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 0x6e16
jl 0x100021b3
push 0x1c81
call dword [sym.imp.USER32.dll_GetSysColor]
mov dword [ebp - 0x1c], 0x1708
cmp dword [ebp - 0x1c], 0x132c
jge 0x10002299
lea eax, [ebp - 0x34]
push eax
push 0x100589d4
call fcn.100376fb
xor eax, eax
mov dword [ebp - 0x1c], ebx
pop ecx
inc eax
mov edi, ebx
cmp dword [ebp - 0x34], 0
pop ecx
jle 0x1000228c
xor ebx, ebx
inc ebx
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x4c]
push eax
push str._ld__ld__ld__ld
call fcn.100376fb
mov eax, dword [ebp - 0x4c]
add esp, 0x14
add eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x64]
add eax, dword [ebp - 0x68]
test edi, edi
jne 0x10002278
mov dword [ebp - 0x1c], eax
jmp 0x1000227e
cmp eax, dword [ebp - 0x1c]
jle 0x1000227e
inc ebx
inc edi
cmp edi, dword [ebp - 0x34]
jl 0x10002246
mov dword [ebp - 0x20], ebx
xor ebx, ebx
mov eax, dword [ebp - 0x20]
push eax
push str._ld_n
call fcn.100379e3
pop ecx
pop ecx
mov dword [ebp - 0x18], ebx
jmp 0x100022af
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa0], 0x261f9c28
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1000229e
push ecx
lea eax, [ebp - 0x25]
mov byte [ebp - 0x25], bl
push eax
call fcn.10002dff
mov byte [ebp - 0x26], bl
cmp byte [ebp - 0x26], 0
pop ecx
pop ecx
je 0x100022e3
push ecx
push ecx
push 0x1230
push ecx
mov edx, 0x3720
mov cl, 1
call fcn.10002871
add esp, 0x10
mov byte [ebp - 4], 2
cmp dword [ebp - 0x14], 0x159a
jge 0x1000231d
mov edx, str.deopaedz_cdz_ddjo_wxz_okdrxw
mov ecx, 0x10067998
call fcn.100056ca
jmp 0x1000231d
mov dword [ebp - 4], ebx
mov eax, dword [0x10069ed4]
test al, 2
jne 0x10002349
or eax, 2
mov dword [0x10069ed4], eax
push 0x13c9
mov byte [ebp - 4], 4
call fcn.1002d02d
pop ecx
mov word [0x10069ee0], ax
mov byte [ebp - 4], bl
mov edi, dword [ebp - 0x38]
push 2
pop esi
test edi, edi
je 0x1000242e
call fcn.10001a8d
xor edx, edx
mov dword [ebp - 0x14], 0xde19d29b
push 0x24
pop ecx
div ecx
mov dword [ebp - 0x20], 0xfffffffd
mov dword [ebp - 0x20], 0xc9ed9ba0
mov dword [ebp - 0x1c], edx
xor edx, edx
inc edx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x98], edx
mov dword [ebp - 0x94], edx
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x58], 0xf9034e10
mov dword [ebp - 0x14], ebx
jmp 0x100023ba
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x70], 0x6482
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100023ac
mov dword [ebp - 0x14], ebx
jmp 0x100023d1
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xac], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x100023c4
mov dword [ebp - 0x14], ebx
jmp 0x100023ed
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x70]
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x70], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jle 0x100023dc
push ecx
lea edx, [ebp - 0x58]
call fcn.100027e5
mov eax, dword [ebp - 0x1c]
pop ecx
push 0x1a
pop ecx
cmp eax, ecx
jge 0x1000240f
movzx edx, word [0x10069ee8]
jmp 0x10002419
cdq
idiv ecx
movzx eax, word [0x10069ee0]
add edx, eax
lea ecx, [ebp - 0x88]
push edx
call fcn.1000344b
dec edi
jne 0x10002357
mov dword [ebp - 0x20], 4
mov dword [ebp - 0x18], 0xfffffffb
mov dword [ebp - 0x1c], 0xfffffffa
mov dword [ebp - 0x14], ebx
jmp 0x10002456
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x30], 3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10002448
mov dword [ebp - 0x14], ebx
jmp 0x1000246e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x50], 0x275dd361
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x10002460
mov dword [ebp - 0x14], ebx
jmp 0x10002487
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x3c], 0xede5c489
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x10002479
mov dword [ebp - 0x2c], 0x15
jmp 0x10002561
mov dword [ebp - 0x14], 0xfffc
xor edx, edx
mov dword [ebp - 0x18], 0x963f6d1d
mov dword [ebp - 0x18], 0xc8c74c3e
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
mov ecx, dword [ebp - 0x14]
setne dl
add ecx, edx
xor edx, edx
imul ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
cmp ecx, 0x18ebdb8
jle 0x100024e5
cmp dword [ebp - 0x20], ebx
jne 0x100024f3
cmp dword [ebp - 0x2c], ebx
jne 0x100024f3
cmp dword [ebp - 0x14], ebx
jne 0x100024f3
mov ecx, ebx
jmp 0x100024f6
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x20]
sub ecx, eax
mov dword [ebp - 0x18], ecx
jne 0x10002503
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jne 0x1000251d
cmp dword [ebp - 0x1c], ebx
jne 0x1000251d
mov eax, ebx
jmp 0x10002520
xor eax, eax
inc eax
mov ecx, 0xfff8
cmp ecx, eax
mov ecx, 0xa0b8
sbb eax, eax
neg eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
sub eax, 0xfffffff7
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
sub ecx, eax
mov dword [ebp - 0x18], ecx
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xffffffe4
jl 0x10002499
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x88]
cmp ecx, eax
je 0x10002581
push 0xffffffffffffffff
push ebx
push eax
call fcn.10003891
push ebx
push 1
lea ecx, [ebp - 0x88]
call fcn.100039bf
jmp 0x1000259e
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret