Function at 0x100107ef
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1005bb39
call fcn.1005b080
sub esp, 0x34
cmp byte [ebp + 0x14], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], ecx
je 0x100108e4
cmp byte [ebp + 8], 0
je 0x100108bf
mov dword [ebp - 0x14], 0x507f
xor esi, esi
cmp dword [ebp - 0x14], 0x51ff
jle 0x1001086c
mov ebx, esi
mov edi, esi
mov dword [ebp + 0x14], esi
mov esi, edi
mov edi, 0xe91
mov eax, esi
mov ecx, 0x10077178
xor eax, ebx
cdq
push edx
push eax
call fcn.1000b0cd
dec esi
dec edi
jne 0x1001083c
mov edi, dword [ebp + 0x14]
inc edi
mov dword [ebp + 0x14], edi
cmp edi, 0x66f7
jl 0x10010835
inc ebx
push 0
pop esi
cmp ebx, 0x30d5
jl 0x10010830
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
push dword [eax]
call fcn.10011113
mov dword [ebp - 4], esi
cmp dword [ebp - 0x14], 0x4da6
jge 0x10010894
mov edx, str.jipzvq_tvn_rvgcy
mov ecx, 0x10077178
call fcn.1000ca72
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0
cmp dword [edx], 3
jge 0x10010894
mov esi, dword [ebp + 0x18]
mov ecx, dword [edx]
mov eax, dword [esi]
mov dword [eax + ecx*4], 0xfffffffb
inc dword [edx]
cmp dword [edx], 3
jl 0x100108d0
jmp 0x10010894
xor esi, esi
cmp byte [ebp + 0x20], 0
je 0x100108fb
push esi
push esi
push 0x26c5
call dword [sym.imp.USER32.dll_SetPropA]
jmp 0x10010894
mov dword [ebp - 0x20], 0x562d
cmp dword [ebp - 0x20], 0x5890
mov dword [ebp + 0x14], esi
jle 0x10010974
push esi
call dword [sym.imp.KERNEL32.dll_TlsFree]
mov dword [ebp - 0x1c], esi
mov ebx, esi
mov dword [ebp - 0x18], 0x38ec
mov dword [ebp - 0x14], ebx
mov edi, ebx
mov ebx, 0x723f
mov eax, edi
lea ecx, [ebp - 0x3c]
cdq
push edx
push eax
call fcn.10002a51
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10010942
mov eax, dword [eax]
push eax
call fcn.1004498a
pop ecx
push esi
push 1
lea ecx, [ebp - 0x3c]
call fcn.10001643
dec edi
dec ebx
jne 0x1001092b
mov ebx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x1c]
add ebx, edi
dec dword [ebp - 0x18]
mov dword [ebp - 0x14], ebx
jne 0x10010924
inc edi
mov dword [ebp - 0x1c], edi
cmp edi, 0x7d27
jl 0x10010918
cmp dword [ebp - 0x20], 0x525e
jge 0x10010988
push str.mahjpy_ezgxlqk_qxwb
call fcn.1004498a
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x14], 0x60e5
cmp dword [ebp - 0x14], 0x6372
jle 0x100109ec
mov edi, esi
mov dword [ebp - 0x18], 0x1e9f
mov dword [ebp - 0x1c], edi
mov ebx, edi
mov dword [ebp - 0x20], 0x5a0f
mov esi, ebx
mov edi, 0xc27
mov eax, esi
mov ecx, 0x10077178
cdq
push edx
push eax
call fcn.1000b0cd
inc esi
dec edi
jne 0x100109b8
dec ebx
dec dword [ebp - 0x20]
jne 0x100109b1
mov edi, dword [ebp - 0x1c]
dec edi
dec dword [ebp - 0x18]
mov dword [ebp - 0x1c], edi
jne 0x100109a8
mov esi, dword [ebp + 0x14]
inc esi
mov dword [ebp + 0x14], esi
cmp esi, 0x1cf5
jl 0x1001099c
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x24]
push dword [eax]
call fcn.1000b25c
mov dword [ebp - 4], 4
cmp dword [ebp - 0x14], 0x5d26
jge 0x10010894
mov edx, str.xugzl_ibuah_vdmqmfor_reuc_kjjug_rpgvzid_kmxjz_wpicb_pkpmohyeg_geuy_tpxpawa_ihtratk_elsbymnrj
mov ecx, 0x10077178
call fcn.1000ca72
jmp 0x10010894