Function at 0x1002a441
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1005d8ab
call fcn.1005cab0
sub esp, 0xa4
push ebx
push esi
mov dword [ebp - 0x18], 0xcc
xor esi, esi
cmp dword [ebp - 0x18], 0x173
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x44], edx
jle 0x1002a493
mov edi, esi
mov ebx, esi
mov eax, ebx
mov ecx, 0x10077fd8
xor eax, edi
cdq
push edx
push eax
call fcn.10004c70
inc ebx
cmp ebx, 0x2872
jl 0x1002a470
inc edi
cmp edi, 0x8af
jl 0x1002a46e
mov dword [ebp - 4], esi
cmp dword [ebp - 0x18], 0xfffffe14
jge 0x1002a4ae
mov edx, str.bdzy_bzgc_yfokfvk_vafmclf_gat_lbdp_wpkvulveg_yazcmdkvt_wma_dvsjws_aut_npofb_qsxvo
mov ecx, 0x10077fd8
call fcn.10007021
or dword [ebp - 4], 0xffffffff
cmp byte [ebp + 8], 0
je 0x1002a509
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0x14], 8
jb 0x1002a4e7
mov edx, dword [ecx]
jmp 0x1002a4e9
mov edx, ecx
mov eax, dword [ebp + 0x10]
movzx esi, word [eax]
mov eax, dword [ecx + 0x10]
cmp word [edx + eax*2 - 2], si
je 0x1002a9ed
push esi
push ecx
call fcn.1001e4e4
jmp 0x1002a9ed
mov dword [ebp - 0x14], 0xcdbe8e56
xor ebx, ebx
mov dword [ebp - 0x18], 0xff5ecce3
inc ebx
mov dword [ebp - 0x14], esi
jmp 0x1002a52d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x3c], 7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002a51f
mov dword [ebp - 0x14], esi
jmp 0x1002a545
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x58], 0xe197b2c3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002a537
mov dword [ebp - 0x14], esi
push 3
pop edi
cmp dword [ebp - 0x14], esi
jl 0x1002a6d9
mov dword [ebp - 0x1c], esi
jmp 0x1002a56c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x34], 0x10b999fb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1002a55e
mov dword [ebp - 0x34], esi
cmp dword [ebp - 0x34], esi
jg 0x1002a641
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x28], 0x11fb8eb5
mov dword [ebp - 0x24], 0x5f99
mov dword [ebp - 0x20], 0xfffffffb
cmp dword [ebp - 0x1c], esi
jne 0x1002a5e2
imul ecx, dword [ebp - 0x14], 0x8a2b
xor edx, edx
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setne dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setl bl
xor ecx, ecx
cmp ebx, eax
mov eax, dword [ebp - 0x34]
setg cl
sub eax, ecx
imul eax, eax, 6
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
add eax, 8
jne 0x1002a5df
cmp dword [ebp - 0x24], esi
jne 0x1002a5df
mov ebx, esi
jmp 0x1002a5e2
xor ebx, ebx
inc ebx
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp + eax*4 - 0x3c]
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x3c], ecx
mov eax, dword [ebp - 0x1c]
sub eax, 0xd0b5486b
neg eax
sbb eax, eax
xor edx, edx
inc eax
cmp ecx, eax
lea eax, [ebx + 0x56fd8c65]
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
imul eax, ecx, 9
test eax, eax
je 0x1002a61b
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
sub ecx, eax
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
inc dword [ebp - 0x34]
push 1
pop ebx
cmp dword [ebp - 0x34], esi
jle 0x1002a57d
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
imul edx, eax
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x3c]
cmp eax, 0x7cf2
mov eax, dword [ebp - 0x14]
setge cl
imul eax, ecx
sub eax, dword [ebp - 0x18]
cmp edx, eax
jg 0x1002a671
mov ecx, esi
cmp dword [ebp - 0x34], esi
je 0x1002a673
mov ecx, ebx
mov eax, dword [ebp - 0x34]
imul eax, ecx
test eax, eax
jne 0x1002a680
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
xor edx, edx
mov eax, dword [ebp - 0x18]
add ecx, 0x30386b9b
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setle dl
xor ecx, ecx
cmp edx, 0x76a17913
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x3c]
setg cl
xor edx, edx
cmp ecx, edi
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x34]
setle cl
sub ecx, eax
mov eax, dword [ebp - 0x30]
add eax, ecx
mov dword [ebp - 0x18], eax
dec dword [ebp - 0x14]
jns 0x1002a559
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x60], esi
push 2
pop eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x38], 0xfffffff6
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x28], 0x4a11600d
mov dword [ebp - 0x1c], 0xb4709ba8
mov dword [ebp - 0x18], 0xd800f4d4
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], 0xfef5379a
mov dword [ebp - 0x14], esi
jmp 0x1002a727
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x48], 0x5d1cb6a7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002a719
mov dword [ebp - 0x14], esi
jmp 0x1002a73e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x88], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1002a731
mov dword [ebp - 0x14], esi
jmp 0x1002a756
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x7c], 9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1002a748
push esi
lea edx, [ebp - 0x40]
lea ecx, [ebp - 0x38]
call fcn.10028278
mov eax, dword [ebp - 0x40]
xor edx, edx
pop ecx
mov ecx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x38]
cmp eax, ecx
setg dl
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x28], esi
jne 0x1002a787
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
xor edx, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x40]
dec dword [ebp - 0x70]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x84]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x14], ecx
mov ecx, 0xef4fc6a3
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x38]
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setne cl
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x70], esi
je 0x1002a805
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], esi
jl 0x1002a80e
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x48], esi
jne 0x1002a80e
dec dword [ebp - 0x14]
jns 0x1002a7f5
jmp 0x1002a80e
push ecx
xor dl, dl
call fcn.1002a9fe
pop ecx
mov ecx, dword [ebp - 0x44]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], esi
jmp 0x1002a82d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x54], 0xe971
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1002a81f
push 2
mov dword [ebp - 0x14], esi
pop edi
jmp 0x1002a84b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x98], 0x702e6337
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1002a83a
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], edi
cmp dword [ebp - 0x1c], esi
jl 0x1002a9ad
mov dword [ebp - 0x14], 0x7a00f47a
mov dword [ebp - 0x18], 0x2d6273d5
mov dword [ebp - 0x24], 0xff444262
mov dword [ebp - 0x18], esi
jmp 0x1002a889
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x90], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1002a87c
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], edi
jg 0x1002a98c
mov dword [ebp - 0x24], 0x4b67
cmp dword [ebp - 0x24], 0x4db7
jle 0x1002a922
mov ebx, esi
mov eax, esi
mov dword [ebp - 0x18], esi
mov edi, esi
mov ecx, edi
mov dword [ebp - 0x28], 0x46a5
mov dword [ebp - 0x20], ecx
add eax, ebx
xor eax, ecx
lea ecx, [ebp - 0xb0]
cdq
push edx
push eax
call fcn.10001a55
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1002a8db
mov eax, dword [eax]
push eax
call fcn.10045eec
pop ecx
push esi
push 1
lea ecx, [ebp - 0xb0]
call fcn.100052dc
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
dec ecx
dec dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
jne 0x1002a8bf
inc edi
cmp edi, 0x5d10
jl 0x1002a8b3
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x4fa0
jl 0x1002a8b1
inc ebx
cmp ebx, 0x7961
jl 0x1002a8ac
xor ebx, ebx
push 2
inc ebx
pop edi
mov dword [ebp - 0x20], 0xfffffffa
cmp dword [ebp - 0x24], 0x4957
jge 0x1002a93d
push str.cdpwksx_hwulaipyz_gstqh
call fcn.10045eec
pop ecx
mov dword [ebp - 4], edi
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x54], esi
je 0x1002a952
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x54], esi
jmp 0x1002a958
mov dword [ebp - 0x24], esi
cmp dword [ebp - 0x24], esi
jne 0x1002a98c
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x54], esi
jne 0x1002a981
mov dword [ebp - 0x20], esi
cmp dword [ebp - 0x20], esi
je 0x1002a96e
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x18], esi
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], ebx
inc dword [ebp - 0x14]
jmp 0x1002a891
mov dword [ebp - 0x18], edi
cmp dword [ebp - 0x18], esi
jl 0x1002a9a5
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x8c], esi
dec dword [ebp - 0x18]
jns 0x1002a994
dec dword [ebp - 0x1c]
jmp 0x1002a859
mov ecx, dword [ebp + 0x1c]
lea edx, [ebp - 0x5c]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x6c]
push eax
push dword [ebp - 0x44]
push ecx
push 0x374a
push ecx
push esi
push ecx
push 0x56a7
lea ecx, [ebp - 0x68]
call fcn.10028442
mov ecx, dword [ebp + 0x20]
lea eax, [ebp - 0x68]
add esp, 0x20
push eax
call fcn.1002c29e
lea ecx, [ebp - 0x68]
call fcn.1002c71a
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret