Function at 0x10001c19
Capabilities:
Encode data using xor

Disassembly:
push ecx
mov eax, dword [esp + 0x10]
mov ecx, eax
mov edx, dword [esp + 0x14]
xor ecx, 0x59c
push ebx
push ebp
mov ebp, dword [esp + 0x20]
mov ebx, eax
push esi
mov esi, dword [esp + 0x14]
add ebp, 0xffffbe3b
push edi
lea edi, [eax - 0x1b5]
mov dword [esp + 0x10], ebp
add edx, 0xfffffefc
mov dword [esp + 0x28], ecx
mov eax, dword [esi + 0x70]
xor ebx, 0x7c23
cmp eax, dword [esi + 0xec]
jne 0x10001c74
mov eax, dword [0x101a4374]
add eax, 0x30a4d
mov dword [0x101a43d4], eax
jmp 0x10001c7d
mov eax, dword [esi + 8]
add dword [esi + 0xe8], eax
mov eax, edi
xor eax, 0x7eb
push eax
lea eax, [edx - 0x53f]
xor edx, 0x3b
push eax
lea eax, [ebx - 0x57a]
push eax
mov eax, edi
xor eax, 0x7d8a
push eax
mov eax, edi
push 0x101a42f0
xor eax, 0x42
push eax
push edx
call fcn.10002d54
add esp, 0x1c
mov edx, eax
cmp dword [esi + 0xe4], 0x6a7a
mov dword [esp + 0x24], edx
jb 0x10001cd2
mov ecx, dword [esi + 0xa4]
mov dword [esi + 0x9c], ecx
jmp 0x10001cd9
mov dword [esi + 0x1c], 0x2d63c
push esi
lea eax, [ebx - 0x143]
xor edx, 0x7c6b
push eax
mov eax, ebp
xor eax, 0x3d0b
push eax
push edx
lea eax, [ebp + 0x3b82]
push eax
call sym.dzchajz597hz44.dll_CDm45L
mov ebp, eax
mov dword [0x101a4380], 0x10114000
lea ecx, [ebx + 0x37c]
add esp, 0x14
cmp ebp, ecx
jg 0x10001f7a
lea ecx, [edi + 0x78]
cmp ebx, ecx
jl 0x10001ebc
mov ebx, dword [esi + 0xbc]
xor ebp, ebp
mov edx, dword [esi + 0xf4]
mov ecx, dword [esi + 0xac]
lea eax, [edx - 0x28]
add eax, ecx
sub ecx, dword [esi + 0x4c]
imul eax, ebx
sub ecx, dword [esi + 0x38]
add ecx, 0x374f2
mov dword [esi + 0xac], ecx
mov dword [esi + 0xbc], eax
mov eax, dword [esi + 0xec]
xor eax, dword [esi + 0x108]
sub eax, 9
add dword [esi + 0x64], eax
mov eax, dword [0x101a4380]
mov ecx, dword [eax + ebp]
add ebp, 4
mov eax, dword [0x1017a534]
mov eax, dword [eax + 0x124]
xor eax, dword [esi + 0x80]
add eax, 0x1921fb
add dword [esi + 0xc4], eax
mov eax, dword [0x1017a534]
mov eax, dword [eax + 0x88]
sub eax, dword [esi + 0x7c]
xor eax, 0xfff9d090
imul eax, edx
mov dword [esi + 0xf4], eax
mov eax, dword [esi + 0xa0]
sub eax, dword [0x101a42f4]
mov ebx, dword [0x101a4334]
add eax, 0x1e4e12
or dword [esi + 0x88], eax
mov eax, dword [esi + 0x88]
xor eax, 0xd5bd5
imul ebx, ecx
or dword [0x101a43dc], eax
mov ecx, dword [0x101a4338]
mov eax, dword [0x101a438c]
mov edx, ebx
shr edx, 8
mov byte [ecx + eax], dl
inc dword [0x101a4338]
mov edx, dword [0x1017a534]
mov ecx, dword [esi + 0xac]
mov eax, dword [edx + 0xfc]
add ecx, eax
xor ecx, eax
xor ecx, 0x131290
mov dword [edx + 0xfc], ecx
mov eax, dword [0x101a43e4]
mov ecx, dword [esi + 0x9c]
add eax, 0xfff2a402
add eax, dword [esi + 0x88]
add dword [esi + 0x38], eax
mov eax, dword [esi + 0xec]
sub eax, dword [esi + 0xe4]
add eax, 0x12d9ec
add dword [esi + 0x98], eax
mov eax, dword [0x101a4338]
mov byte [eax + ecx], bl
inc dword [0x101a4338]
mov eax, dword [0x1017a534]
mov ebx, dword [esi + 0xbc]
mov eax, dword [eax + 0x10c]
xor eax, 0x1b108a
or dword [esi + 0x38], eax
mov eax, dword [esi + 0x38]
sub eax, ebx
imul eax, dword [esi + 0x70]
mov dword [esi + 0x70], eax
cmp ebp, 0x64518
jl 0x10001d2c
mov eax, dword [esp + 0x28]
add eax, 0x9d
push eax
mov eax, dword [esp + 0x28]
add eax, 0xfffff9b6
xor eax, 0x7dee
push eax
lea eax, [edi + 0xf5]
push eax
lea eax, [edi + 0x93d]
push eax
push esi
call fcn.10002675
mov ebp, eax
jmp 0x10001f77
imul eax, dword [esi + 0xf4], 0x44c6
cmp ebp, eax
jb 0x10001f7a
mov eax, dword [esi + 0xd4]
imul eax, dword [esi + 0x6c]
mov edx, dword [0x1017a534]
mov ecx, dword [edx + 0x80]
push eax
mov eax, edi
or eax, dword [esp + 0x28]
imul eax, dword [esi + 0x8c]
push eax
mov eax, ecx
and eax, ebp
xor eax, 0x4443
push eax
mov eax, dword [esi + 0xc4]
imul eax, dword [esi + 0x98]
push eax
lea eax, [ecx - 0x45a6]
mov ecx, dword [esp + 0x38]
push eax
mov eax, dword [esi + 0x60]
xor eax, 0x3d77
push eax
lea eax, [edi + ecx]
or eax, ecx
push eax
imul eax, dword [edx + 0x10c], 0x3cc3
push eax
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
imul eax, dword [0x101a43fc], 0x42b5
push eax
mov eax, dword [0x101a4344]
imul eax, edi
push eax
call dword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov eax, dword [esi + 0x5c]
imul eax, dword [esi + 0xec]
and edi, dword [esp + 0x10]
push 0
sub edi, 0x4443
push edi
push eax
imul eax, dword [esp + 0x30], 0x3d5e
push esi
push eax
call fcn.10002ef5
add esp, 0x14
pop edi
pop esi
lea eax, [ebp + 0xa37]
pop ebp
pop ebx
pop ecx
ret