Function at 0x1002d7ab
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x100657d6
call fcn.100641d4
sub esp, 0xa8
push ebx
push esi
xor ebx, ebx
push edi
mov dword [ebp - 0x10], esp
cmp byte [ebp + 8], bl
je 0x1002dab6
mov dword [ebp - 0x20], 0x6236
cmp dword [ebp - 0x20], 0x6320
jle 0x1002d831
mov edi, ebx
mov dword [ebp - 0x1c], ebx
mov eax, ebx
mov dword [ebp - 0x14], 0x5a45
mov dword [ebp - 0x24], eax
mov ebx, eax
mov esi, 0x4463
mov eax, ebx
mov ecx, 0x10080d38
xor eax, edi
cdq
push edx
push eax
call fcn.1000b7ed
dec ebx
dec esi
jne 0x1002d7f4
mov eax, dword [ebp - 0x24]
mov esi, dword [ebp - 0x1c]
add eax, esi
dec dword [ebp - 0x14]
mov dword [ebp - 0x24], eax
jne 0x1002d7ed
inc esi
mov dword [ebp - 0x1c], esi
push 0
pop ebx
cmp esi, 0x1260
jl 0x1002d7e1
inc edi
cmp edi, 0x11b7
jl 0x1002d7de
mov esi, dword [ebp + 0x10]
mov dword [ebp - 4], 2
cmp dword [ebp - 0x20], 0x619f
mov dword [ebp - 0x30], esi
jge 0x1002d877
mov edx, str.wnw_lgzr_mnpunozm_rctej_pannmg_fuub_zhafvq_vicgfvj_nhxd_mezumr_ntb_zgx_apagutqoy
mov ecx, 0x10080d38
call fcn.1000da64
jmp 0x1002d877
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 4], 4
cmp dword [esi + 0x10], ebx
je 0x1002da9d
push 0x2e
pop eax
push 2
mov byte [ebp - 0x18], bl
mov word [ebp - 0x17], 0x1a4
mov byte [ebp - 0x15], 0xc0
mov word [ebp - 0x28], ax
pop esi
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x14], esi
cmp esi, 4
jae 0x1002d99e
mov dword [ebp - 0x1c], 0x4990
cmp dword [ebp - 0x1c], 0x4c64
jle 0x1002d929
mov esi, ebx
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x20], ebx
mov eax, edi
cdq
idiv ecx
lea ecx, [ebp - 0x9c]
and edx, esi
mov eax, edx
cdq
push edx
push eax
call fcn.10001aa5
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1002d8f0
mov eax, dword [eax]
push eax
call fcn.1004c12c
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x9c]
call fcn.1000bdc4
mov ecx, dword [ebp - 0x20]
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, 0x1cf4
jl 0x1002d8cf
inc edi
cmp edi, 0x23af
jl 0x1002d8ca
inc esi
cmp esi, 0x191a
jl 0x1002d8c8
mov esi, dword [ebp - 0x14]
movzx eax, byte [ebp - 0x18]
lea eax, [eax*2 + 2]
cmp esi, eax
jne 0x1002d948
movzx ecx, byte [ebp + esi - 0x18]
dec esi
add esi, ecx
lea eax, [ecx + 1]
mov dword [ebp - 0x24], eax
jmp 0x1002d996
cmp dword [ebp - 0x1c], 0x4714
jge 0x1002d95c
push str.bbkhoo_kxzy_qhbqkcbh
call fcn.1004c12c
pop ecx
mov dword [ebp - 4], 4
mov eax, esi
sub eax, dword [ebp - 0x24]
movzx edx, byte [ebp + esi - 0x17]
push 1
movzx eax, byte [ebp + eax - 0x1a]
movzx ecx, word [ebp + eax*2 - 0x28]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x18]
add ecx, edx
lea edx, [ebp - 0x24]
mov word [ebp + eax*2 - 0x28], cx
call fcn.1002cd83
pop ecx
add esi, 2
jmp 0x1002d8aa
xor eax, eax
mov dword [ebp - 0x4c], 7
mov word [ebp - 0x26], ax
lea ecx, [ebp - 0x60]
mov word [ebp - 0x60], ax
lea eax, [ebp - 0x28]
push eax
mov dword [ebp - 0x50], ebx
call fcn.1000beb0
mov edi, dword [ebp - 0x30]
lea eax, [ebp - 0x60]
push eax
mov edx, edi
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x3c]
call fcn.1002bdc9
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 9
call fcn.1000bfd2
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x3c]
push 0x18
cdq
pop ecx
idiv ecx
mov dword [ebp - 0x28], ebx
test eax, eax
jne 0x1002da7a
push 0x2d
pop eax
mov word [ebp - 0x2c], ax
lea ecx, [ebp - 0x78]
xor eax, eax
mov dword [ebp - 0x64], 7
mov word [ebp - 0x2a], ax
mov word [ebp - 0x78], ax
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x68], ebx
call fcn.1000beb0
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0xa
push eax
mov edx, edi
lea ecx, [ebp - 0x84]
call fcn.1002bdc9
pop ecx
mov esi, eax
lea eax, [ebp - 0x3c]
cmp eax, esi
je 0x1002da60
mov ecx, eax
call fcn.10030593
mov ecx, dword [esi]
mov dword [ebp - 0x3c], ecx
mov eax, dword [esi + 4]
mov dword [ebp - 0x38], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x34], eax
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
lea ecx, [ebp - 0x84]
call fcn.10030593
push ebx
push 1
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 9
call fcn.1000bfd2
push 1
lea eax, [ebp - 0x3c]
mov edx, 0x5135
push eax
push ecx
lea ecx, [ebp - 0x48]
call fcn.1002d01d
add esp, 0xc
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x3c]
call fcn.10030593
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x48]
push eax
call fcn.100301cf
lea ecx, [ebp - 0x48]
call fcn.1003066c
jmp 0x1002db5b
mov dword [ebp - 0x14], 0x2603
cmp dword [ebp - 0x14], 0x2888
jle 0x1002db42
mov esi, ebx
mov dword [ebp - 0x1c], ebx
mov edi, ebx
mov dword [ebp - 0x20], ebx
mov edx, esi
mov ecx, edi
shl edx, cl
mov esi, ebx
mov dword [ebp - 0x2c], edx
mov edi, ebx
lea eax, [edi + esi]
xor eax, edx
lea ecx, [ebp - 0xb4]
cdq
push edx
push eax
call fcn.10001aa5
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1002dafa
mov eax, dword [eax]
push eax
call fcn.1004c12c
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xb4]
call fcn.1000bdc4
mov edx, dword [ebp - 0x2c]
inc edi
cmp edi, 0x2692
jl 0x1002dadd
inc esi
cmp esi, 0x15ad
jl 0x1002dadb
mov edi, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
inc edi
mov dword [ebp - 0x20], edi
cmp edi, 0x75e8
jl 0x1002dad0
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, 0x5ddc
jl 0x1002dacb
cmp dword [ebp - 0x14], 0x2500
jge 0x1002db56
push str.bnnz_ijoecd_bhv_pnsda_oujixamt_tkzegp_wrdcqstj_lgygt_dof_yrfiajd
call fcn.1004c12c
pop ecx
mov eax, dword [ebp + 0x14]
mov dword [eax], ebx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret