Function at 0x1003a4bb
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10061ba9
call fcn.100600a0
sub esp, 0x10c
mov dword [ebp - 0x28], ecx
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
test dl, dl
je 0x1003ae2e
mov dword [ebp - 0x20], 0x1ba0
xor ebx, ebx
cmp dword [ebp - 0x20], 0x1de5
jle 0x1003a526
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x24], ebx
mov eax, ebx
mov ecx, 0x1007bb98
xor eax, edi
xor eax, esi
cdq
push edx
push eax
call fcn.100042e3
inc ebx
cmp ebx, 0x40a
jl 0x1003a4f5
inc edi
push 0
pop ebx
cmp edi, 0x32c2
jl 0x1003a4f2
inc esi
cmp esi, 0x54d2
jl 0x1003a4f0
cmp byte [ebp + 0x20], 0
mov edi, 0x1007bb98
je 0x1003a622
mov dword [ebp - 0x24], 0x27c0
cmp dword [ebp - 0x24], 0x29e2
jle 0x1003a5cc
mov esi, ebx
mov dword [ebp - 0x14], ebx
mov ecx, ebx
mov dword [ebp - 0x18], ebx
mov eax, esi
mov dword [ebp - 0x1c], 0x74ac
cdq
idiv ecx
mov eax, edx
mov dword [ebp - 0x34], eax
mov esi, eax
mov dword [ebp - 0x30], 0x54b
mov eax, esi
lea ecx, [ebp - 0x118]
cdq
push edx
push eax
call fcn.10001a85
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003a587
mov eax, dword [eax]
push eax
call fcn.10049603
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x118]
call fcn.100048ea
dec esi
dec dword [ebp - 0x30]
jne 0x1003a56d
mov eax, dword [ebp - 0x34]
dec eax
dec dword [ebp - 0x1c]
mov dword [ebp - 0x34], eax
jne 0x1003a564
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 0x57b8
jl 0x1003a553
inc esi
mov dword [ebp - 0x14], esi
cmp esi, 0x38a
jl 0x1003a54e
cmp dword [ebp - 0x24], 0x26a5
jge 0x1003a5e0
push str.knr_wjjcvixf_rongwqn_aayuc_krram_twubw_ihqiovzwf_zea_ufdo_kqnecpn_yoasuhha_xwjjfd_kfjjfuhd
call fcn.10049603
pop ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
inc dword [eax]
mov dword [ebp - 4], 0xf
cmp dword [ebp - 0x20], 0x17ce
jge 0x1003a603
mov edx, str.fdioge_jlbkbqoq_lnieemnlj_tiwe_yvlo_wirs_gujse_hividrnet_llqhvgnsp
mov ecx, edi
call fcn.100067dc
jmp 0x1003aea9
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x28], esi
mov dword [ebp - 0xa0], 7
mov dword [ebp - 0xa4], ebx
mov word [ebp - 0xb4], ax
mov dword [ebp - 4], 2
mov dword [ebp - 0x18], 0x5e4d
cmp dword [ebp - 0x18], 0x5ee7
jle 0x1003a6c5
push ebx
push ebx
push 0x64b
push 0x1003
push 0x42b
call dword [sym.imp.USER32.dll_ScrollWindow]
mov dword [ebp - 0x1c], ebx
mov esi, ebx
mov eax, ebx
mov dword [ebp - 0x24], 0x1a64
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
and eax, ebx
mov ecx, edi
cdq
push edx
push eax
call fcn.100042e3
mov eax, dword [ebp - 0x20]
add eax, esi
dec dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
jne 0x1003a68f
inc esi
push 0
pop ebx
cmp esi, 0xb3f
jl 0x1003a680
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, 0x237c
jl 0x1003a67e
mov esi, dword [ebp + 0x10]
mov byte [ebp - 4], 3
cmp dword [ebp - 0x18], 0x5cd3
jge 0x1003a70a
mov edx, str.hab_bkbry_jrv_mxw_dtb_oqmyqd_ssxgwi_pajag_hgtdzskci_tgpl
mov ecx, edi
call fcn.100067dc
jmp 0x1003a70a
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x2b]
mov dword [ebp - 0x18], ebx
xor dl, dl
mov byte [ebp - 0x2b], bl
call fcn.1003cf58
mov dword [ebp - 0x18], ebx
jmp 0x1003a737
mov byte [ebp - 0x29], bl
cmp byte [ebp - 0x29], 0
je 0x1003a734
call fcn.1003dc1f
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe2
jg 0x1003a726
mov eax, dword [ebp + 0x24]
cmp esi, eax
ja 0x1003aadf
push 3
lea ecx, [ebp - 0x9c]
call fcn.10004595
mov byte [ebp - 4], 5
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x14], ebx
jmp 0x1003a772
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xcc], 1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1003a761
mov dword [ebp - 0x14], ebx
jmp 0x1003a790
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x9c]
mov dword [eax + ecx*4], 0x9dada439
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1003a77d
mov eax, dword [ebp - 0x9c]
mov dword [eax + 4], 2
cmp dword [eax + 4], ebx
jl 0x1003aaa9
mov dword [ebp - 0x7c], 0xffffffff
lea eax, [ebp - 0x2a]
push ecx
mov dword [ebp - 0x78], 0xffffffff
xor dl, dl
mov dword [ebp - 0x74], 0xffffffff
push ecx
mov dword [ebp - 0x70], 0xffffffff
mov dword [ebp - 0x20], ebx
push 0x5833
mov dword [ebp - 0x8c], 1
mov byte [ebp - 0x2a], bl
push eax
call fcn.1003cf95
add esp, 0x10
mov dword [ebp - 0x70], ebx
cmp dword [ebp - 0x70], 2
jg 0x1003aa9b
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x20], 0x190c
cmp dword [ebp - 0x20], 0x1c08
jle 0x1003a839
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov eax, ebx
mov ecx, edi
and eax, esi
cdq
push edx
push eax
call fcn.100042e3
inc ebx
cmp ebx, 0xa83
jl 0x1003a816
inc esi
push 0
pop ebx
cmp esi, 0x5f39
jl 0x1003a813
push dword [ebp - 0x48]
movdqa xmm0, xmmword [0x1006f170]
lea eax, [ebp - 0xf0]
push eax
lea eax, [ebp - 0x100]
mov dword [ebp - 0x54], ebx
push eax
push ebx
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x50], ebx
movdqu xmmword [ebp - 0x100], xmm0
mov dword [ebp - 0x4c], ebx
call fcn.10006d4a
mov byte [ebp - 4], 7
cmp dword [ebp - 0x20], 0x1799
jge 0x1003a8ae
mov edx, str.cdhmyv_slojrjze_qupyjwvc_fcqapyvy_odt_inp_hlzuutkqx_boplbko
mov ecx, edi
call fcn.100067dc
jmp 0x1003a8ae
mov dword [ebp - 4], 6
mov dword [ebp - 0x20], 0xa7c6dd3e
mov dword [ebp - 0x1c], ebx
jmp 0x1003aa6d
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x18], 2
cmp dword [ebp - 0x18], ebx
jl 0x1003aa3f
push dword [ebp - 0x48]
movdqa xmm0, xmmword [0x1006f1e0]
lea eax, [ebp - 0xe0]
push eax
lea eax, [ebp - 0xf0]
mov dword [ebp - 0x44], ebx
push eax
push ebx
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x40], ebx
movdqu xmmword [ebp - 0xf0], xmm0
mov dword [ebp - 0x3c], ebx
call fcn.10006d4a
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x70]
cmp dword [ebp + eax*4 - 0xcc], ebx
jne 0x1003aa23
mov esi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x54]
mov dword [esi + 0xc], ebx
mov dword [ebp - 0x24], eax
push 1
lea ecx, [ebp - 0x60]
call fcn.10004595
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x14], ebx
jmp 0x1003a95a
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x60]
mov dword [eax + ecx*4], 0x13bf58aa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x1003a94a
mov eax, dword [ebp - 0x28]
xor edx, edx
push 0x4652
push ebx
cmp dword [eax + 4], 0xffffffff
mov eax, dword [ebp - 0x18]
setl dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x24]
setg cl
mov dword [eax + 0xc], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x60]
cmp dword [eax], 0x2fa8
setge cl
xor edx, edx
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x60]
cmp ecx, dword [eax]
setg dl
mov dword [ebp - 0x20], edx
mov edx, 0x365c
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xcc]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
neg ecx
cmp ecx, 0x1ea0
setge al
xor cl, cl
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x2c]
push eax
push 0x6cc8
mov byte [ebp - 0x2c], bl
call fcn.1003c18b
mov byte [ebp - 4], 9
push dword [ebp - 0x60]
call fcn.100497d9
add esp, 0x14
mov dword [ebp - 0x60], ebx
inc dword [esi + 0xc]
cmp dword [esi + 0xc], 2
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
jle 0x1003a937
mov byte [ebp - 4], 6
push dword [ebp - 0x44]
call fcn.100497d9
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
dec dword [ebp - 0x18]
pop ecx
jns 0x1003a8db
jmp 0x1003aa3f
mov byte [ebp - 4], 6
cmp dword [ebp - 0x44], 0
je 0x1003aa3f
push dword [ebp - 0x44]
call fcn.100497d9
pop ecx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
lea eax, [ebp - 0x9c]
mov edx, 0xb4c
push eax
lea eax, [ebp - 0x8c]
mov ecx, 0x5d23
push eax
push 0x40d3
push ebx
push 0x57b3
call fcn.1003b121
add esp, 0x14
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jle 0x1003a8c4
mov byte [ebp - 4], 5
cmp dword [ebp - 0x54], 0
je 0x1003aa93
push dword [ebp - 0x54]
call fcn.100497d9
pop ecx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], ebx
inc dword [ebp - 0x70]
jmp 0x1003a7f0
mov eax, dword [ebp - 0x9c]
dec dword [eax + 4]
jmp 0x1003a7a3
push eax
mov byte [ebp - 4], 2
call fcn.100497d9
pop ecx
mov eax, dword [ebp + 0x14]
lea ecx, [ebp - 0xb4]
cmp eax, ecx
je 0x1003aacc
push 0xffffffffffffffff
push ebx
push ecx
mov ecx, eax
call fcn.1000492e
push ebx
push 1
lea ecx, [ebp - 0xb4]
call fcn.10004a5c
jmp 0x1003aea9
sub esi, eax
lea ecx, [ebp - 0xb4]
sar esi, 1
push esi
call fcn.10004492
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x38], 0xfafe44fa
mov dword [ebp - 0x14], 0xfffffff6
cmp dword [ebp - 0x14], 0x10
jge 0x1003ac4f
push 2
lea ecx, [ebp - 0x6c]
call fcn.10004595
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x18], ebx
jmp 0x1003ab2d
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x6c]
mov dword [eax + ecx*4], 0xfffffffb
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1003ab1d
mov dword [ebp - 0x24], 0x42fb
cmp dword [ebp - 0x24], 0x43a2
jle 0x1003ab8b
mov dword [ebp - 0x1c], ebx
mov esi, ebx
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], esi
mov eax, ebx
cdq
idiv esi
mov esi, 0x1f21
mov ebx, edx
mov eax, ebx
mov ecx, edi
cdq
push edx
push eax
call fcn.100042e3
inc ebx
dec esi
jne 0x1003ab5a
mov esi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x1c]
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0x6ad8
jl 0x1003ab4e
inc ebx
push 0
mov dword [ebp - 0x1c], ebx
cmp ebx, 0x41df
pop ebx
jl 0x1003ab46
mov dword [ebp - 0x18], ebx
jmp 0x1003aba1
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x84], 0x45acee61
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x1003ab90
mov byte [ebp - 4], 0xc
cmp dword [ebp - 0x24], 0x41bf
jge 0x1003abe9
mov edx, str.qgd_orwod_sgwlqsfl_tzp_nmwkuf
mov ecx, edi
call fcn.100067dc
jmp 0x1003abe9
mov dword [ebp - 4], 0xb
mov edx, dword [ebp - 0x6c]
mov dword [edx + 4], 0xb
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x14], ebx
je 0x1003ac12
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
je 0x1003ac12
xor esi, esi
inc esi
jmp 0x1003ac14
mov esi, ebx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp esi, eax
mov eax, dword [ebp - 0x1c]
sete cl
add ecx, dword [edx + 4]
add eax, ecx
dec dword [edx + 4]
mov dword [ebp - 0x84], eax
jne 0x1003abfa
mov byte [ebp - 4], 2
push dword [ebp - 0x6c]
call fcn.100497d9
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
inc dword [ebp - 0x14]
pop ecx
jmp 0x1003ab00
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
je 0x1003acff
push 3
lea ecx, [ebp - 0xc0]
call fcn.10004595
push ecx
push ecx
push 0x5d22
push 0x788b
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 0xe
push eax
push ecx
push ecx
push 1
push ecx
push 0x2c07
lea edx, [ebp - 0xd0]
call fcn.10039eb5
add esp, 0x28
mov dword [ebp - 0x14], ebx
jmp 0x1003acd7
sub esp, 0x14
mov dword [ebp - 0x90], 2
lea eax, [ebp - 0xc0]
mov dword [ebp - 0x80], 1
lea edx, [ebp - 0x38]
push 1
push ecx
push ecx
push eax
lea eax, [ebp - 0x90]
push eax
push ecx
lea ecx, [ebp - 0x80]
call fcn.10039abc
add esp, 0x2c
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff9
jge 0x1003ac9f
mov byte [ebp - 4], 2
cmp dword [ebp - 0xc0], 0
je 0x1003adc6
push dword [ebp - 0xc0]
call fcn.100497d9
pop ecx
jmp 0x1003adc6
mov dword [ebp - 0x18], 0xc5c6a81d
mov dword [ebp - 0x88], 0xffffffff
mov dword [ebp - 0x20], 0xcbf698ba
mov dword [ebp - 0x1c], ebx
jmp 0x1003ad2a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x48], 0x762969fb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jl 0x1003ad1c
push 0x406f
push 0x6c89
push 1
push ebx
push 0x6772
push 0x6576
push 0xb31
lea eax, [ebp - 0x88]
xor dl, dl
push eax
lea eax, [ebp - 0x38]
mov ecx, 0x558e
push eax
call fcn.1003a4bb
mov eax, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x14]
add esp, 0x24
cmp eax, 0xc0e8
mov eax, dword [ebp - 0x14]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
sub ecx, dword [ebp - 0x18]
imul eax, ecx, 0xf41a
mov ecx, dword [ebp - 0x18]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x48]
sub ecx, 0x2a49e864
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
add eax, ecx
mov ecx, dword [ebp - 0x38]
imul ecx, eax
mov eax, dword [ebp - 0x18]
cmp eax, ecx
mov eax, dword [ebp - 0x18]
setg dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x38], ecx
mov esi, dword [ebp - 0x30]
mov edi, dword [ebp - 0x28]
jmp 0x1003ae25
push 0x797f
push 0x7443
push ebx
push 1
push 0x25f5
push 0x5a58
push ebx
push 0x48ea
push 0x54ec
push 0x5ed
push 0x6a6e
mov edx, 0x170c
mov ecx, 0x69c3
call fcn.1003c58f
add esp, 0x2c
mov ecx, esi
add esi, 2
call fcn.100392f1
movzx eax, ax
lea ecx, [ebp - 0xb4]
push eax
call fcn.1000445b
cmp esi, edi
jb 0x1003adce
jmp 0x1003aab4
cmp byte [ebp + 0x1c], 0
je 0x1003ae53
mov edx, dword [ebp + 0x28]
xor ebx, ebx
mov dword [edx], ebx
cmp dword [edx], 2
jge 0x1003aea9
mov esi, dword [ebp + 0x18]
mov ecx, dword [edx]
mov eax, dword [esi]
mov dword [eax + ecx*4], ebx
inc dword [edx]
cmp dword [edx], 2
jl 0x1003ae43
jmp 0x1003aea9
mov esi, dword [ebp + 8]
mov dword [esi], 0xffffffe9
cmp dword [esi], 0xffffffe5
je 0x1003aea9
xor ebx, ebx
mov edi, 0x86c7a88f
push ecx
push 0x61f9
push 0x7ce3
push ecx
push dword [ebp + 0xc]
mov dword [ebp - 0x28], ebx
mov dl, 1
mov dword [ebp - 0xe0], edi
push ecx
mov dword [ebp - 0xdc], edi
mov dword [ebp - 0xd8], edi
mov dword [ebp - 0xd4], edi
push 0x3922
call fcn.10039cdb
add esp, 0x1c
dec dword [esi]
cmp dword [esi], 0xffffffe5
jne 0x1003ae68
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret