Function at 0x1001f199
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10059557
call fcn.10058764
sub esp, 0x44
cmp byte [ebp + 0xc], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x20], ecx
je 0x1001f249
mov esi, dword [ebp + 0x24]
xor edi, edi
inc edi
mov dword [esi], 0
jmp 0x1001f240
mov ebx, dword [ebp + 0x14]
mov dword [ebp + 0xc], 5
mov eax, dword [ebp + 0xc]
mov eax, dword [ebx]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebx]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp eax, ecx
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebx]
setl dl
add ecx, edx
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp + 0xc]
setg dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x1c]
setge bl
xor ecx, ecx
mov eax, dword [eax]
sub ebx, eax
mov eax, dword [edx]
cmp ebx, eax
setl cl
imul eax, ecx, 0x4c9f
xor ecx, ecx
cmp eax, 0x503a
mov eax, dword [edx]
setge cl
cmp ecx, 0xfffc
sbb ecx, ecx
neg ecx
add eax, ecx
mov ecx, dword [ebp - 0x20]
mov dword [ecx], eax
mov eax, dword [ebp + 0xc]
mov dword [ecx], eax
inc dword [esi]
cmp dword [esi], edi
jle 0x1001f1ca
jmp 0x1001f4ea
cmp byte [ebp + 0x2c], 0
je 0x1001f315
mov esi, dword [ebp + 0x28]
mov dword [esi], 0
cmp dword [esi], 0xc
je 0x1001f4ea
xor edi, edi
inc edi
mov dword [ebp + 0xc], 0x576c5165
mov dword [ebp + 0xc], edi
mov dword [ebp + 0xc], 0xfffffff8
mov dword [ebp + 0xc], 8
mov dword [ebp + 0xc], 0x1d1b
cmp dword [ebp + 0xc], 0x12e1
jge 0x1001f2f8
lea eax, [ebp - 0x14]
push eax
push 0x100619a4
call fcn.100407fb
push 0x25e060
push 0xffffffffffffffff
push 0x10074bf0
call fcn.1003d021
add esp, 0x14
mov ebx, edi
cmp dword [ebp - 0x14], edi
jl 0x1001f2f8
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x2c]
push eax
push str._d__d__d
call fcn.100407fb
push dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x2c]
call fcn.1001f09b
add esp, 0xc
movsd qword [esp], xmm0
push str._.6lf_n
call fcn.10040afc
add esp, 0xc
inc ebx
cmp ebx, dword [ebp - 0x14]
jle 0x1001f2b9
mov dword [ebp + 0xc], edi
mov dword [ebp + 0xc], 0xd68f9855
dec dword [ebp + 0xc]
inc dword [esi]
cmp dword [esi], 0xc
jne 0x1001f268
jmp 0x1001f4ea
xor edi, edi
mov dword [ebp - 0x20], 0x7790
xor esi, esi
inc edi
cmp dword [ebp - 0x20], 0x7a46
jle 0x1001f3bb
mov ebx, esi
mov dword [ebp - 0x1c], ebx
mov ecx, esi
mov dword [ebp - 0x18], esi
mov eax, ebx
mov dword [ebp + 0xc], esi
cdq
idiv ecx
mov eax, esi
mov ecx, edx
mov dword [ebp - 0x34], ecx
mov edx, ecx
mov ebx, esi
mov ecx, eax
sar edx, cl
mov dword [ebp - 0x30], edx
mov eax, edx
lea ecx, [ebp - 0x50]
or eax, ebx
cdq
push edx
push eax
call fcn.10001a55
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1001f36b
mov eax, dword [eax]
push eax
call fcn.10040afc
pop ecx
push esi
push edi
lea ecx, [ebp - 0x50]
call fcn.1000b217
mov edx, dword [ebp - 0x30]
inc ebx
cmp ebx, 0x56f2
jl 0x1001f352
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x34]
inc eax
mov dword [ebp + 0xc], eax
cmp eax, 0x6df7
jl 0x1001f347
mov ecx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x1c]
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 0x4e1c
jl 0x1001f338
inc ebx
mov dword [ebp - 0x1c], ebx
cmp ebx, 0x511a
jl 0x1001f333
cmp dword [ebp - 0x20], 0x7706
jge 0x1001f3cf
push str.oswgkizn_cvxcljcz_ohdnuhe_zslursxb
call fcn.10040afc
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp + 0xc], 0x21cc
cmp dword [ebp + 0xc], 0x255c
jle 0x1001f421
mov ebx, esi
mov edi, esi
mov dword [ebp - 0x34], esi
mov eax, edi
mov ecx, 0x10073a98
cdq
idiv esi
xor edx, ebx
mov eax, edx
cdq
push edx
push eax
call fcn.1000ab96
inc esi
cmp esi, 0x2070
jl 0x1001f3ea
inc edi
push 0
pop esi
cmp edi, 0x3397
jl 0x1001f3e7
inc ebx
cmp ebx, 0x6e13
jl 0x1001f3e5
xor edi, edi
inc edi
mov dword [ebp - 4], 2
cmp dword [ebp + 0xc], 0x200d
jge 0x1001f461
mov edx, str.mgz_vgbdpf_qjpg_cenyxmx_wwhbdmc_nsj_veb
mov ecx, 0x10073a98
call fcn.1000d257
jmp 0x1001f461
mov ecx, dword [ebp + 0x20]
mov ebx, dword [ebp - 0x38]
mov ecx, dword [ecx]
mov eax, dword [ebx]
cmp eax, dword [ecx]
je 0x1001f474
cmp dword [ecx + 8], esi
je 0x1001f476
mov esi, edi
mov ecx, dword [ebx]
push 0xfffffffffffffff6
pop eax
cmp eax, esi
mov esi, dword [ebp + 0x20]
sbb eax, eax
inc eax
cmp eax, 0xcfd66c4a
sbb eax, eax
xor edx, edx
inc eax
sub ecx, eax
mov eax, dword [ebx]
cmp ecx, eax
mov eax, dword [ebx]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp + 0x10]
setg cl
mov dword [eax], ecx
mov eax, dword [ebx]
neg eax
mov dword [edx], eax
mov eax, dword [edx]
mov eax, dword [ebx]
mov eax, dword [edx]
xor edx, edx
mov ecx, dword [esi]
cmp eax, dword [ecx]
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0x34]
setl dl
mov dword [ecx], edx
mov eax, dword [eax]
mov eax, dword [ecx]
mov eax, dword [ecx]
mov ecx, dword [ebp + 0x18]
mov dword [ecx], eax
mov eax, dword [ecx]
cmp edi, eax
mov eax, dword [esi]
sbb edx, edx
xor ecx, ecx
inc edx
imul edx, dword [eax + 4]
mov eax, dword [ebx]
cmp edx, eax
mov eax, dword [ebp + 0x38]
setl cl
mov dword [eax], ecx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret