Function at 0x1001d768
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10057705
call fcn.10056a88
sub esp, 0xb8
cmp byte [ebp + 8], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
je 0x1001d7b4
mov edi, dword [ebp + 0x10]
xor esi, esi
cmp dword [edi], esi
jbe 0x1001decc
push dword [ebp + 0x14]
sub esp, 0xc
push dword [ebp + 0xc]
push 1
push ecx
mov ecx, 0x5295
call fcn.1001d65a
add esp, 0x1c
inc esi
cmp esi, dword [edi]
jb 0x1001d791
jmp 0x1001decc
xor ebx, ebx
mov dword [ebp - 0x6c], 7
xor eax, eax
mov dword [ebp - 0x70], ebx
mov word [ebp - 0x80], ax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x30], 0xf6af1124
mov dword [ebp - 0x30], ebx
jmp 0x1001d80b
mov dword [ebp - 0x14], ebx
jmp 0x1001d7eb
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x88], 0x5c19
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1001d7da
push 0x3631
push ecx
mov cl, 1
call fcn.1001c6c5
pop ecx
pop ecx
cmp dword [ebp - 0x84], ebx
jne 0x1001d811
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffea
jle 0x1001d7d5
push 0x3d8d
push 0x7a3d
push 0x7819
lea eax, [ebp + 0x1c]
mov edx, 0x51e2
push eax
push ebx
push 1
push 1
push 0x57da
push 0x55b9
lea ecx, [ebp - 0x80]
call fcn.1001e24e
mov dword [ebp - 0x18], 0xfffffff8
add esp, 0x24
mov dword [ebp - 0x14], ebx
jmp 0x1001d85d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x50], 0x13b91020
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1001d84f
mov dword [ebp - 0x18], ebx
jmp 0x1001d8c3
mov dword [ebp - 0x14], ebx
jmp 0x1001d87e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xac], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1001d86d
mov eax, dword [ebp - 0x18]
or ecx, 0xffffffff
mov eax, dword [ebp + eax*4 - 0x50]
mov dword [ebp - 0xa8], 0x1554
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x50]
sub ecx, eax
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x18]
add edx, ecx
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x50]
cmp eax, 0x55059b8b
setge cl
imul ecx, edx
mov dword [ebp - 0x50], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jle 0x1001d868
mov eax, dword [0x10446298]
test al, 1
jne 0x1001d8f2
or eax, 1
mov dword [0x10446298], eax
push 0x32e8
mov byte [ebp - 4], 1
call fcn.1001aea8
pop ecx
mov word [0x104462a8], ax
mov byte [ebp - 4], bl
push 9
mov dword [ebp - 0x20], 0x905c8094
mov dword [ebp - 0x14], ebx
pop esi
cmp dword [ebp - 0x14], 2
jge 0x1001d914
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x9c], esi
inc dword [ebp - 0x14]
jmp 0x1001d8ff
mov dword [ebp - 0x20], 1
cmp dword [ebp - 0x20], ebx
jl 0x1001d94a
mov byte [ebp - 0x3a], bl
cmp byte [ebp - 0x3a], 0
je 0x1001d945
push ebx
push 1
push 0x32b
push 0x1d08
mov edx, 0x620e
xor cl, cl
call fcn.1001d524
add esp, 0x10
dec dword [ebp - 0x20]
jns 0x1001d920
mov eax, dword [0x10446298]
test al, 2
jne 0x1001d973
or eax, 2
mov dword [0x10446298], eax
push 0x727b
mov byte [ebp - 4], 2
call fcn.1001aea8
pop ecx
mov word [0x104462b0], ax
mov byte [ebp - 4], bl
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x14], ebx
jmp 0x1001d98c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x94], 0xfffffff7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1001d97b
lea eax, [ebp - 0x39]
mov byte [ebp - 0x39], bl
push eax
push 0x3ef3
push ebx
xor dl, dl
mov cl, 1
call fcn.1001c899
add esp, 0xc
mov dword [ebp - 0x14], ebx
jmp 0x1001d9dd
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x18], ebx
jmp 0x1001d9c9
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x94], 0x8114768c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1001d9b8
mov byte [ebp - 0x3b], bl
lea ecx, [ebp - 0x3b]
call fcn.1001c88c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jle 0x1001d9b0
mov edi, dword [ebp + 0x1c]
test edi, edi
je 0x1001dce4
call fcn.1001c626
push 0x34
xor edx, edx
pop ecx
div ecx
xor ecx, ecx
mov dword [ebp - 0x60], edx
inc ecx
mov dword [ebp - 0x1c], 0xad313dd3
mov dword [ebp - 0x14], ebx
jmp 0x1001da16
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x38], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1001da0c
mov dword [ebp - 0x1c], 0xfffffff4
jmp 0x1001dca7
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x18], 0xa27557bc
mov dword [ebp - 0x14], 0xf4bb0f55
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x18], ebx
jmp 0x1001da52
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x48], 0x33ac2541
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1001da44
mov dword [ebp - 0x18], ebx
jmp 0x1001da67
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x68], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1001da5d
cmp dword [ebp - 0x44], 0xfffffff8
jl 0x1001da7f
cmp dword [ebp - 0x44], ebx
je 0x1001da7f
mov eax, ecx
cmp dword [ebp - 0x1c], ebx
jne 0x1001da81
mov eax, ebx
cmp eax, dword [ebp - 0x1c]
jle 0x1001da8d
cmp dword [ebp - 0x1c], ebx
jne 0x1001da8d
mov ecx, ebx
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x28], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x18]
cmp eax, 0x32f82966
setne cl
sub ecx, 0xc3825062
neg ecx
sbb ecx, ecx
sub ecx, 2
neg ecx
sbb ecx, ecx
inc ecx
dec ecx
jne 0x1001dad5
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
cmp dword [ebp - 0x1c], 0xffffffff
jae 0x1001daeb
cmp dword [ebp - 0x1c], ebx
je 0x1001daeb
xor ecx, ecx
inc ecx
jmp 0x1001daed
mov ecx, ebx
mov eax, dword [ebp - 0x1c]
sub eax, ecx
mov ecx, 0xfa20bd03
neg eax
sbb eax, eax
inc eax
cmp ecx, eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x1c]
jne 0x1001db0f
cmp dword [ebp - 0x48], ebx
jne 0x1001db0f
mov ecx, ebx
jmp 0x1001db12
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x1c]
add eax, 0xce06dfe5
add eax, ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
je 0x1001dc08
mov dword [ebp - 0x2c], 0xe0855bbb
xor edx, edx
mov dword [ebp - 0x30], 0x9520128b
mov dword [ebp - 0x34], 0xffffffff
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setg dl
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x30], 0xef61
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
add eax, 0x3978
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x68]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setl cl
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x30]
imul eax, dword [ebp - 0x20]
cmp eax, 0xffff
mov eax, dword [ebp - 0x34]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp eax, ecx
setl dl
xor ebx, ebx
imul edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x48]
cmp edx, esi
setg bl
xor ecx, ecx
cmp ebx, eax
mov eax, dword [ebp - 0x44]
setl cl
xor edx, edx
cmp ecx, 0x5048
setg dl
xor ecx, ecx
imul eax, edx
cmp eax, 0x64b57dc5
mov eax, dword [ebp - 0x44]
setle cl
add eax, ecx
jne 0x1001dbd8
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x34], 1
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x28], eax
jmp 0x1001dc4f
push ebx
push 1
push 0x5759
push 0x773d
mov edx, 0x7a57
mov cl, 1
call fcn.1001d524
add esp, 0x10
mov dword [ebp - 0x18], 0xfffffff4
jmp 0x1001dc49
push 0x7917
mov byte [ebp - 0x3c], bl
lea ecx, [ebp - 0x3c]
push 0x423e
xor dl, dl
call fcn.1001e0a8
dec dword [ebp - 0x18]
pop ecx
pop ecx
cmp dword [ebp - 0x18], 0xfffffff3
jge 0x1001dc2d
mov eax, dword [ebp - 0x38]
xor ecx, ecx
mov dword [ebp - 0x20], 0x4fffb
mov eax, dword [ebp - 0x20]
cmp eax, 0x2c56
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x68]
setne cl
sub edx, ecx
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setg bl
xor ecx, ecx
cmp ebx, eax
setle cl
xor ebx, ebx
cmp ecx, dword [ebp - 0x14]
je 0x1001dc92
cmp dword [ebp - 0x38], ebx
je 0x1001dc92
xor ecx, ecx
inc ecx
mov edx, ecx
jmp 0x1001dc97
xor ecx, ecx
mov edx, ebx
inc ecx
mov eax, dword [ebp - 0x38]
sub eax, edx
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x38], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffffe
jl 0x1001da27
push 0x799
push 0x6521
push 0x335e
push ecx
lea eax, [ebp - 0x60]
xor dl, dl
push eax
push ecx
push 0x104462a8
push 0x104462b0
lea ecx, [ebp - 0x80]
call fcn.1001c7b2
add esp, 0x20
dec edi
jne 0x1001d9ee
mov dword [ebp - 0x24], 0x8a61928c
mov dword [ebp - 0x2c], 0x509b9552
mov dword [ebp - 0x2c], 0x3d77
cmp dword [ebp - 0x2c], 0x3fd3
jle 0x1001dd40
mov edi, ebx
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov ebx, esi
mov esi, 0x27f5
mov eax, ebx
mov ecx, 0x100711f8
xor eax, edi
cdq
push edx
push eax
call fcn.10003fa2
dec ebx
dec esi
jne 0x1001dd10
mov esi, dword [ebp - 0x28]
inc esi
mov dword [ebp - 0x28], esi
cmp esi, 0x2e70
jl 0x1001dd09
inc edi
push 0
pop ebx
cmp edi, 0x13f0
jl 0x1001dd04
mov dword [ebp - 0x34], 0x2939c010
mov byte [ebp - 4], 3
cmp dword [ebp - 0x2c], 0x3bd5
jge 0x1001dd81
mov edx, str.kexqwau_ntgoyuqa_msmjcd_kuygbag_tvbdkw_owk_qsipvrc_sfhnmvdd_ggsdaxptv_ojhwbkjbc
mov ecx, 0x100711f8
call fcn.1000634f
jmp 0x1001dd81
mov dword [ebp - 4], ebx
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x20], ebx
jmp 0x1001dd9e
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x5c], 0x67f5d1cc
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 1
jl 0x1001dd90
mov dword [ebp - 0x24], ebx
jmp 0x1001ddd8
push 0x4836
lea eax, [ebp - 0x58]
mov dword [ebp - 0x54], 0xfffe
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x58], 1
push eax
push ecx
mov edx, 0x23e6
lea ecx, [ebp - 0x54]
call fcn.1001e221
add esp, 0x10
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xffffffed
je 0x1001dda9
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jne 0x1001ddea
mov edx, ebx
jmp 0x1001dded
xor edx, edx
inc edx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], 1
cmp dword [ebp - 0x34], ebx
je 0x1001de0f
cmp dword [ebp - 0x24], ebx
je 0x1001de0f
xor eax, eax
inc eax
jmp 0x1001de11
mov eax, ebx
mov dword [ebp - 0x28], eax
xor ecx, ecx
mov eax, dword [ebp - 0x28]
cmp edx, eax
setl cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x2c], 0x697b
cmp dword [ebp - 0x2c], 0x6bbc
jle 0x1001de9a
mov esi, ebx
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x28], ebx
mov eax, edi
sar eax, cl
lea ecx, [ebp - 0xc4]
or eax, esi
cdq
push edx
push eax
call fcn.10001a55
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1001de64
mov eax, dword [eax]
push eax
call fcn.1003e75c
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xc4]
call fcn.1000460a
mov ecx, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, 0x6955
jl 0x1001de46
inc edi
cmp edi, 0xb00
jl 0x1001de41
inc esi
cmp esi, 0x492
jl 0x1001de3f
mov ecx, dword [ebp + 0x18]
lea eax, [ebp - 0x80]
cmp ecx, eax
je 0x1001dead
push 0xffffffffffffffff
push ebx
push eax
call fcn.100052f7
cmp dword [ebp - 0x2c], 0x67f0
jge 0x1001dec1
push str.yssu_zrhjrdakx_cliwc_teuorufoi_lnlgyea_ndmtaco_natxreggg_ousne_nfj_fodeyh_thd
call fcn.1003e75c
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x80]
call fcn.100046d6
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret