Function at 0x10002e1a
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10057ea1
call fcn.100579d8
sub esp, 0xe8
mov byte [ebp - 0x4c], cl
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
test cl, cl
je 0x1000351f
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x48], eax
call fcn.10004ed4
xor edx, edx
inc edx
xor ebx, ebx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x20], 0xfffffff8
mov dword [ebp - 0x2c], 0x8ed4
mov dword [ebp - 0x40], 0x4ffd8143
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x18], ebx
jmp 0x10002e7b
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x78], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10002e71
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 2
jg 0x10002ef3
xor edi, edi
mov eax, dword [ebp - 0x18]
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0x78]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x78]
cmp ecx, eax
setg dl
imul edx, dword [ebp - 0x70]
test edx, edx
jne 0x10002eb4
mov eax, dword [ebp - 0x18]
mov edx, ebx
cmp dword [ebp + eax*4 - 0x78], ebx
je 0x10002eb7
lea edx, [edi + 1]
mov eax, dword [ebp - 0x74]
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x2c], ebx
je 0x10002ed3
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x78]
mov eax, dword [ebp - 0x18]
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0x78]
mov eax, dword [ebp - 0x40]
cmp eax, ecx
setle dl
mov dword [ebp - 0x24], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jle 0x10002e8c
xor edx, edx
inc edx
mov eax, dword [esi]
or esi, 0xffffffff
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x30], 0xc4b7c700
mov dword [ebp - 0x30], 4
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x18], 0xc18ab9c
push 0xfffffffffffffffa
pop eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 0x4ea33a4d
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x18], ebx
jmp 0x10002f48
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xbc], 0xc85f
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x10002f37
mov dword [ebp - 0x18], ebx
jmp 0x10002f5f
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xd8], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x10002f52
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], ebx
jg 0x10003036
mov edi, 0x95d1c58b
mov dword [ebp - 0x1c], 0x58fb770a
mov dword [ebp - 0x38], 0xde9e8436
mov dword [ebp - 0x9c], edi
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x18], ebx
jmp 0x10002fb2
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x68], 0xcf3d0097
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x10002fa4
cmp dword [ebp - 0x2c], ebx
jne 0x10002fd1
mov eax, dword [ebp - 0x90]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp eax, edx
push 1
setge cl
mov dword [ebp - 0x18], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x18]
inc dword [ebp - 0x20]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xd4]
sub edx, 0x20b
cmp edx, eax
pop edx
setl cl
mov dword [ebp - 0x90], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
neg ecx
neg ecx
sbb ecx, ecx
neg ecx
add ecx, 0x6a83b1d3
sub eax, ecx
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x38], eax
dec dword [ebp - 0x68]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jle 0x10002f76
push 0x55f5
push 0x7d56
push 0x2a87
push ebx
lea eax, [ebp - 0x64]
mov ecx, 0x30b9
push eax
lea eax, [ebp - 0x6c]
push eax
push edx
call fcn.10002d1d
mov dword [ebp - 0x1c], 0x667a876e
xor edi, edi
mov dword [ebp - 0x88], 0x943af780
inc edi
mov dword [ebp - 0x30], esi
add esp, 0x1c
mov dword [ebp - 0x8c], 3
mov dword [ebp - 0x30], 0x278ee3f2
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], 0xfffffff9
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x28], 0xc1f7b400
mov dword [ebp - 0x38], 0x7998
cmp dword [ebp - 0x38], 0x7d0a
jle 0x100030d8
mov esi, ebx
mov edi, ebx
mov eax, edi
mov ecx, 0x1006f958
xor eax, esi
cdq
push edx
push eax
call fcn.10009584
inc edi
cmp edi, 0x53ef
jl 0x100030af
inc esi
cmp esi, 0x2feb
jl 0x100030ad
xor edi, edi
inc edi
or esi, 0xffffffff
mov dword [ebp - 0x24], 0x2b5d
mov dword [ebp - 4], 2
cmp dword [ebp - 0x38], 0x7757
jge 0x10003128
mov edx, str.iltbk_phtyojbtg_jounaygp_lowkh
mov ecx, 0x1006f958
call fcn.1000b719
jmp 0x10003128
mov dword [ebp - 4], esi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x18], ebx
jmp 0x10003144
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xb8], 0xff60
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10003133
mov dword [ebp - 0x18], ebx
jmp 0x1000315c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xb0], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1000314f
mov dword [ebp - 0x1c], edi
cmp dword [ebp - 0x1c], ebx
jl 0x10003342
mov dword [ebp - 0x5c], 0x2395e2de
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x48], 0x3c017f21
mov dword [ebp - 0x24], 0x18ebdb8
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x20], 0xfffe
mov dword [ebp - 0x24], 0xceb
cmp dword [ebp - 0x24], 0x10cb
jle 0x10003209
mov ecx, ebx
mov dword [ebp - 0x18], ebx
mov esi, ebx
mov eax, ebx
mov dword [ebp - 0x44], 0x1279
mov dword [ebp - 0x38], eax
or eax, ecx
lea ecx, [ebp - 0xf0]
cdq
push edx
push eax
call fcn.10001a65
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100031cd
mov eax, dword [eax]
push eax
call fcn.1003f93c
pop ecx
push ebx
push edi
lea ecx, [ebp - 0xf0]
call fcn.10009a96
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x18]
add eax, esi
dec dword [ebp - 0x44]
mov dword [ebp - 0x38], eax
jne 0x100031b3
inc esi
cmp esi, 0x5bb1
jl 0x100031a7
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 0x664a
jl 0x100031a5
or esi, 0xffffffff
cmp dword [ebp - 0x24], 0xa58
jge 0x1000321d
push str.vvzs_fghmlan_blaru
call fcn.1003f93c
pop ecx
mov dword [ebp - 4], esi
mov dword [ebp - 0x18], ebx
jmp 0x10003232
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa8], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10003225
mov dword [ebp - 0x18], ebx
jmp 0x10003247
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x60], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1000323d
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 0xa8]
test eax, eax
setns cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xac]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x40]
dec dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xa8]
mov eax, dword [ebp - 0x5c]
sub eax, 0xed5b
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0xa8]
cmp eax, 0xfffa
mov edx, dword [ebp - 0x8c]
setne cl
xor eax, eax
cmp ecx, 0x4166da9a
setne al
xor ecx, ecx
imul edx, eax
mov eax, dword [ebp - 0x2c]
cmp edx, eax
setge cl
xor edx, edx
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x58]
cmp ecx, eax
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x28]
setl dl
imul ecx, edx
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x88]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0xb4]
setl cl
neg ecx
sub eax, ecx
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0xa8]
jle 0x10003309
mov eax, edi
cmp dword [ebp - 0x30], ebx
jne 0x1000330b
mov eax, ebx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], edi
cmp dword [ebp - 0x28], ebx
jl 0x1000333a
push ecx
push 0x143a
lea eax, [ebp - 0x5c]
mov edx, 0x7b14
push eax
push 0x1603
lea ecx, [ebp - 0x58]
call fcn.10001adc
add esp, 0x10
dec dword [ebp - 0x28]
jns 0x10003316
dec dword [ebp - 0x1c]
jmp 0x10003165
lea ecx, [ebp - 0x3a]
mov byte [ebp - 0x3a], bl
call fcn.10002a64
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x18], ebx
jmp 0x10003363
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x54], 0xbb2c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10003355
mov dword [ebp - 0x18], ebx
jmp 0x1000337c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x34], 0x94e8fe75
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1000336e
cmp dword [ebp - 0x50], ebx
je 0x1000342b
mov dword [ebp - 0x2c], 5
mov dword [ebp - 0x1c], ebx
jmp 0x100033a7
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x84], 0x25260417
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10003396
mov eax, dword [ebp - 0x84]
xor edx, edx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
mov eax, dword [ebp - 0x84]
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
cmp ecx, dword [ebp - 0x80]
je 0x100033df
mov ecx, edi
cmp dword [ebp - 0x34], ebx
jne 0x100033e1
mov ecx, ebx
mov eax, dword [ebp - 0x54]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setg dl
xor ecx, ecx
cmp edx, eax
sete cl
cmp ecx, dword [ebp - 0x50]
jne 0x10003404
mov edx, ebx
cmp dword [ebp - 0x84], ebx
je 0x10003406
mov edx, edi
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x84]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x34], 0xdb370cc3
jmp 0x1000347b
mov dword [ebp - 0x18], edi
cmp dword [ebp - 0x50], ebx
je 0x10003456
mov eax, dword [ebp - 0x18]
push 5
pop ecx
sub ecx, eax
jne 0x10003440
mov eax, dword [ebp - 0x18]
imul ecx, dword [ebp - 0x18], 9
xor edx, edx
mov eax, dword [ebp - 0x18]
cmp eax, ecx
setl dl
cmp edx, dword [ebp - 0x18]
jle 0x10003456
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
add edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
sub edx, eax
mov eax, dword [ebp - 0x34]
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, 0xfffffff7
setl al
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x20]
mov dl, 0x8e
mov esi, dword [ebp - 0x64]
mov cl, byte [eax + esi]
call fcn.1000b706
mov ecx, dword [ebp - 0x20]
mov byte [ecx + esi], al
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, 4
jb 0x10003350
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x30], 0xe7c14ab6
mov dword [ebp - 0x1c], ebx
jmp 0x100034be
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xc8], 0x9b27fa3d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x100034ad
cmp dword [ebp - 0x18], ebx
jne 0x100034e2
mov eax, dword [ebp - 0x18]
xor ecx, ecx
test eax, eax
setg cl
imul ecx, dword [ebp - 0x18]
imul ecx, dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jne 0x100034e2
mov edi, ebx
mov dword [ebp - 0xc4], edi
xor ecx, ecx
mov eax, dword [ebp - 0x18]
mov edx, 0x5f54
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
test eax, eax
setg cl
mov dword [ebp - 0x30], ecx
xor cl, cl
mov eax, dword [ebp - 0x18]
lea eax, [ebp - 0x39]
mov byte [ebp - 0x39], bl
push eax
call fcn.1000364f
mov eax, dword [ebp - 0x6c]
pop ecx
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
jmp 0x10003521
dec dword [edx]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret