Function at 0x10039488
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10061daf
call fcn.10060508
sub esp, 0x34
cmp byte [ebp + 0x28], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x28], edx
je 0x100396cd
mov dword [ebp - 0x20], 0x3dcc
mov esi, 0x1007c858
cmp dword [ebp - 0x20], 0x3f48
jle 0x10039523
xor edi, edi
mov dword [ebp - 0x1c], edi
xor ebx, ebx
mov dword [ebp - 0x18], ebx
xor eax, eax
mov dword [ebp + 0x28], edi
mov ecx, ebx
mov dword [ebp - 0x14], eax
sar edi, cl
mov dword [ebp + 0x28], edi
xor ebx, ebx
mov dword [ebp - 0x24], edi
and edi, eax
mov eax, edi
mov ecx, esi
xor eax, ebx
cdq
push edx
push eax
call fcn.10004668
inc ebx
cmp ebx, 0x859
jl 0x100394dd
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp + 0x28]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, 0x6c7e
jl 0x100394d6
mov ebx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x1c]
inc ebx
mov dword [ebp - 0x18], ebx
cmp ebx, 0x28cf
jl 0x100394c7
inc edi
mov dword [ebp - 0x1c], edi
cmp edi, 0x1fba
jl 0x100394c2
and dword [ebp - 4], 0
cmp dword [ebp - 0x20], 0x3d80
jge 0x1003955d
mov edx, str.tzk_iwkl_esvuoi_afxpafrf_zsmoz_cuhi_exrom_qbvviw_nrqjjxofv_vhd_kwc
mov ecx, esi
call fcn.10006b3c
jmp 0x1003955d
or dword [ebp - 4], 0xffffffff
mov dword [ebp + 0x28], 0x26b7
cmp dword [ebp + 0x28], 0x276e
jle 0x100395a4
push 0
push 0x1021
call dword [sym.imp.KERNEL32.dll_GetCPInfo]
xor edi, edi
xor ebx, ebx
mov ecx, ebx
mov eax, edi
shl eax, cl
mov ecx, esi
cdq
push edx
push eax
call fcn.10004668
inc ebx
cmp ebx, 0x3358
jl 0x10039582
inc edi
cmp edi, 0xf18
jl 0x10039580
push 2
pop edi
mov dword [ebp - 4], edi
cmp dword [ebp + 0x28], 0x2365
jge 0x100395de
mov edx, str.twb_ghtwma_dbphx_uawtgtxs_hjbeplxz_xcwfljgz_iftnmumst_ksp_uqdfuqq_mbnmak
mov ecx, esi
call fcn.10006b3c
jmp 0x100395de
or dword [ebp - 4], 0xffffffff
cmp byte [ebp + 0x30], 0
je 0x100396ac
mov dword [ebp - 0x18], 0x52c3
cmp dword [ebp - 0x18], 0x533e
jle 0x10039677
xor esi, esi
mov dword [ebp - 0x1c], esi
xor ebx, ebx
mov dword [ebp - 0x20], ebx
xor eax, eax
mov edi, esi
mov ecx, ebx
mov dword [ebp + 0x28], eax
shl edi, cl
mov esi, eax
mov ebx, 0x46b2
mov eax, esi
lea ecx, [ebp - 0x40]
or eax, edi
cdq
push edx
push eax
call fcn.10001a55
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10039631
mov eax, dword [eax]
push eax
call fcn.100483dc
pop ecx
push 0
push 1
lea ecx, [ebp - 0x40]
call fcn.10004d74
dec esi
dec ebx
jne 0x10039618
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp + 0x28], eax
cmp eax, 0x31b1
jl 0x10039611
mov ebx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
inc ebx
mov dword [ebp - 0x20], ebx
cmp ebx, 0x16a0
jl 0x10039606
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, 0x6ddf
jl 0x10039601
push 2
pop edi
mov edx, dword [ebp + 0xc]
mov dword [edx], 0
cmp dword [edx], 3
jge 0x10039696
mov esi, dword [ebp + 0x2c]
mov ecx, dword [edx]
mov eax, dword [esi]
mov dword [eax + ecx*4], edi
inc dword [edx]
cmp dword [edx], 3
jl 0x10039688
cmp dword [ebp - 0x18], 0x50c4
jge 0x1003971c
push str.ohncb_oovrbnd_iddx_xmhpnhdoe_lfolm_ztpivhvhl_krh_obduknsk_yvjyv_cpujotudz_zwrnl_xtnhegmes_uwiuwetm_neyye
call fcn.100483dc
pop ecx
jmp 0x1003971c
mov edx, dword [ebp + 0x10]
mov dword [edx], 0
jmp 0x100396c7
mov eax, dword [ebp - 0x28]
mov ecx, dword [edx]
mov eax, dword [eax]
mov dword [eax + ecx*4], 0xd726993c
inc dword [edx]
cmp dword [edx], edi
jl 0x100396b7
jmp 0x1003971c
cmp byte [ebp + 0x20], 0
je 0x100396f5
mov edx, dword [ebp + 0x14]
mov dword [edx], 0
cmp dword [edx], 1
jge 0x1003971c
mov esi, dword [ebp + 8]
mov ecx, dword [edx]
mov eax, dword [esi]
or dword [eax + ecx*4], 0xffffffff
inc dword [edx]
cmp dword [edx], 1
jl 0x100396e4
jmp 0x1003971c
push 0x1a
pop esi
cmp dword [ecx], esi
jge 0x10039706
mov eax, dword [ebp + 0x1c]
movzx edx, word [eax]
add edx, dword [ecx]
jmp 0x10039713
mov eax, dword [ecx]
cdq
idiv esi
mov eax, dword [ebp + 0x18]
movzx eax, word [eax]
add edx, eax
mov ecx, dword [ebp + 0x24]
push edx
call fcn.100292fb
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret