Function at 0x1003726b
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10061e65
call fcn.10060598
sub esp, 0x38
push ebx
push esi
mov dword [ebp - 0x20], 0x101
mov ebx, 0x1007c0d8
cmp dword [ebp - 0x20], 0x4d7
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x28], ecx
jle 0x100372d4
xor esi, esi
xor edi, edi
xor eax, eax
mov dword [ebp - 0x1c], 0x2e59
mov dword [ebp - 0x18], eax
xor eax, esi
mov ecx, ebx
cdq
push edx
push eax
call fcn.100042cb
mov eax, dword [ebp - 0x18]
add eax, edi
dec dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
jne 0x100372a9
inc edi
cmp edi, 0x44a5
jl 0x1003729d
inc esi
cmp esi, 0x6322
jl 0x1003729b
and dword [ebp - 4], 0
cmp dword [ebp - 0x20], 0x81
jge 0x1003730e
mov edx, str.xpd_bbad_kovh
mov ecx, ebx
call fcn.10006d07
jmp 0x1003730e
or dword [ebp - 4], 0xffffffff
cmp byte [ebp + 0x14], 0
je 0x1003748f
mov dword [ebp - 0x1c], 0xc34
xor edi, edi
cmp dword [ebp - 0x1c], 0xcef
jle 0x1003738a
xor esi, esi
inc edi
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0x20], eax
and eax, ebx
lea ecx, [ebp - 0x40]
and eax, esi
cdq
push edx
push eax
call fcn.10001a65
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10037351
mov eax, dword [eax]
push eax
call fcn.10049ba3
pop ecx
push 0
push edi
lea ecx, [ebp - 0x40]
call fcn.10004a46
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0x3b1d
jl 0x10037338
inc ebx
cmp ebx, 0x77b7
jl 0x10037333
inc esi
cmp esi, 0x1a87
jl 0x10037331
mov ebx, 0x1007c0d8
jmp 0x1003738b
inc edi
cmp dword [ebp - 0x1c], 0x8b4
jge 0x1003739f
push str.zrf_ief_qqihan_yukaqf_uybx_bsxctss_ydbbwprzo_gicxpiif_nvqoj_fxtzuk
call fcn.10049ba3
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x20], 0x453
cmp dword [ebp - 0x20], 0x687
jle 0x100373da
xor esi, esi
xor edi, edi
mov eax, edi
mov ecx, ebx
xor eax, esi
cdq
push edx
push eax
call fcn.100042cb
inc edi
cmp edi, 0x6602
jl 0x100373b7
inc esi
cmp esi, 0x45ad
jl 0x100373b5
xor edi, edi
inc edi
mov dword [ebp - 4], 4
cmp dword [ebp - 0x20], 0x22c
jge 0x10037415
mov edx, str.ined_bync_shcatfjta_mkv_bpaxudvhr
mov ecx, ebx
call fcn.10006d07
jmp 0x10037415
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp + 0x30]
mov ecx, dword [eax]
cmp dword [ecx + 8], 0
jne 0x1003744c
mov eax, dword [esi]
imul eax, dword [ecx + 8]
test eax, eax
jne 0x1003742f
mov eax, dword [esi]
mov eax, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x24]
mov eax, dword [eax]
mov eax, dword [ecx]
mov eax, dword [ebx]
dec eax
je 0x10037443
mov eax, dword [ecx]
cmp dword [esi], 0
jne 0x10037452
xor edx, edx
jmp 0x10037454
mov ecx, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x24]
mov edx, edi
mov eax, dword [ebp + 0x10]
mov dword [eax], edx
test edx, edx
jne 0x10037462
mov eax, dword [ebp + 0x28]
mov eax, dword [eax]
cmp dword [esi], 0
je 0x1003746c
cmp dword [ebx], 0
jne 0x1003746e
xor edi, edi
mov eax, dword [ebp + 0x24]
mov dword [eax], edi
mov eax, dword [ecx]
xor ecx, ecx
mov edx, dword [esi]
cmp eax, edi
mov eax, dword [ebp + 0x2c]
sete cl
add edx, ecx
neg edx
sbb edx, edx
neg edx
mov dword [esi], edx
mov dword [eax], edx
jmp 0x10037497
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp + 0xc]
mov dword [ecx], eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret