Function at 0x10006171
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1005cd6b
call fcn.1005c4f8
sub esp, 0x14c
cmp byte [ebp + 0xc], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x84], ecx
je 0x10006aca
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x110]
push 2
mov dword [ebp - 0xac], eax
call fcn.10001eb9
xor ebx, ebx
lea ecx, [ebp - 0xd0]
mov dword [ebp - 4], ebx
mov dword [ebp - 0x4c], 0xfffffff6
push 3
call fcn.10001eb9
mov byte [ebp - 4], 1
mov dword [ebp - 0x9c], 0xa7b7e80d
mov dword [ebp - 0x80], 8
mov dword [ebp - 0x34], ebx
jmp 0x100061f3
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x110]
mov dword [eax + ecx*4], 0x42eb90da
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 2
jl 0x100061e0
push 0x4ff5
push ebx
lea edx, [ebp - 0xd0]
lea ecx, [ebp - 0x34]
call fcn.10007aa1
pop ecx
lea eax, [ebp - 0xd0]
push eax
call fcn.10007b27
pop ecx
mov dword [ebp - 0x4c], 2
pop ecx
cmp dword [ebp - 0x4c], ebx
jl 0x10006271
push 0x47c3
push 0x461
push ecx
push ebx
lea eax, [ebp - 0x80]
mov dword [ebp - 0x7c], 0x4ef66b17
push eax
lea eax, [ebp - 0xd0]
mov edx, 0x60aa
push eax
push 0x3814
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x7c]
call fcn.1000754a
add esp, 0x20
call fcn.1000729f
dec dword [ebp - 0x4c]
pop ecx
jns 0x10006228
lea ecx, [ebp - 0xd0]
call fcn.10001f3c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x110]
call fcn.10001f3c
mov dword [ebp - 0x14], 0x7332
cmp dword [ebp - 0x14], 0x76ee
jle 0x100062ff
mov edi, ebx
mov dword [ebp - 0x28], ebx
mov esi, ebx
mov dword [ebp - 0x1c], ebx
mov ecx, esi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x38], ebx
shl edi, cl
mov esi, ebx
mov ebx, dword [ebp - 0x38]
mov ecx, esi
mov eax, ebx
shl eax, cl
mov ecx, 0x10078fb8
xor eax, edi
cdq
push edx
push eax
call fcn.10001d2f
inc esi
cmp esi, 0x5888
jl 0x100062b4
inc ebx
push 0
mov dword [ebp - 0x38], ebx
cmp ebx, 0x7f7
pop ebx
jl 0x100062af
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x28]
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, 0x263b
jl 0x100062a5
inc edi
mov dword [ebp - 0x28], edi
cmp edi, 0x562e
jl 0x100062a0
push 0x7c
pop eax
push 2
mov word [ebp - 0x44], ax
mov ecx, ebx
pop eax
mov byte [ebp - 0x40], bl
mov esi, eax
mov word [ebp - 0x3f], 0x1b6
mov byte [ebp - 0x3d], 0x59
mov dword [ebp - 0x38], ecx
cmp esi, eax
jne 0x1000632a
mov ecx, eax
mov esi, eax
mov dword [ebp - 0x38], ecx
jmp 0x10006370
movzx edx, byte [ebp + esi - 0x3f]
mov eax, esi
sub eax, ecx
movzx eax, byte [ebp + eax - 0x42]
movzx ecx, word [ebp + eax*2 - 0x44]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x40]
add ecx, edx
mov dl, 1
mov word [ebp + eax*2 - 0x44], cx
lea eax, [ebp - 0x38]
push eax
push ebx
push 0x4c01
mov ecx, 0x6dbd
call fcn.10006171
mov ecx, dword [ebp - 0x38]
add esp, 0xc
push 2
pop eax
add esi, eax
cmp esi, 4
jb 0x1000631d
xor ecx, ecx
mov dword [ebp - 4], eax
cmp dword [ebp - 0x14], 0x713a
mov word [ebp - 0x42], cx
jge 0x10006398
mov edx, str.pvuqmvm_mywsqmye_dwdym_oexqyxyn_szi_jwenmf_unnxq_vsgboxvd_pneqhjiy_xaie_euwhixuzi_fzufl
mov ecx, 0x10078fb8
call fcn.10003c4d
or dword [ebp - 4], 0xffffffff
xor eax, eax
mov dword [ebp - 0x114], 7
mov word [ebp - 0x128], ax
lea ecx, [ebp - 0x128]
lea eax, [ebp - 0x44]
mov dword [ebp - 0x118], ebx
push eax
call fcn.10009def
mov edx, dword [ebp - 0x84]
lea eax, [ebp - 0x128]
push eax
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 4
call fcn.10005a19
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 6
call fcn.100023b6
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x14], 0x3ae35568
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x14], ebx
jmp 0x10006478
push ecx
push ecx
mov dword [ebp - 0x78], 0x83111738
mov dl, 1
mov ecx, 0x62a7
call fcn.10007bf9
pop ecx
pop ecx
lea eax, [ebp - 0x78]
push eax
push ebx
push ecx
lea eax, [ebp - 0xa0]
push eax
push 0x66a2
push ecx
push ecx
push 0x5054
push ecx
lea edx, [ebp - 0x88]
call fcn.10005e82
add esp, 0x24
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff6
jle 0x10006436
push 3
lea ecx, [ebp - 0xdc]
call fcn.10001eb9
push 0x4b4a
push 1
push ecx
push 0x518
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 7
push eax
push ecx
push ecx
lea eax, [ebp - 0xdc]
mov edx, 0x1dab
push eax
push ecx
call fcn.10005e82
add esp, 0x24
mov dword [ebp - 0x3c], ebx
jmp 0x100064cd
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0xc4], 0xf01c0890
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 4
jl 0x100064bc
mov dword [ebp - 0xbc], ebx
jmp 0x100064f4
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xdc]
mov dword [eax + ecx*4], 0x3df6
inc dword [ebp - 0xbc]
cmp dword [ebp - 0xbc], 3
jl 0x100064db
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 6
call fcn.10001f3c
push 9
pop eax
push 2
mov byte [ebp - 0x54], bl
mov dword [ebp - 0x53], 0x304014f
mov word [ebp - 0x4f], 0x22d
mov byte [ebp - 0x4d], 0x2a
mov word [ebp - 0x74], ax
pop esi
movzx eax, byte [ebp + esi - 0x56]
movzx ecx, byte [ebp + esi - 0x53]
movzx edx, word [ebp + eax*2 - 0x74]
mov eax, edx
and eax, ecx
add eax, eax
sub edx, eax
movzx eax, byte [ebp + esi - 0x54]
add edx, ecx
add esi, 2
mov word [ebp + eax*2 - 0x74], dx
cmp esi, 8
jb 0x1000652a
xor eax, eax
mov dword [ebp - 0xf0], 7
mov word [ebp - 0x6c], ax
lea ecx, [ebp - 0x104]
mov word [ebp - 0x104], ax
lea eax, [ebp - 0x74]
push eax
mov dword [ebp - 0xf4], ebx
call fcn.10009def
push 0x4338
push 0x418e
push 1
mov byte [ebp - 4], 8
mov dword [ebp - 0x18], 0xffff
push ecx
call fcn.10005ede
add esp, 0xc
call fcn.10007acc
xor eax, eax
lea edi, [ebp - 0x74]
stosd dword es:[edi], eax
pop ecx
stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebp - 0x20], 0x8a61928c
mov dword [ebp - 0x18], 0x7c769867
mov dword [ebp - 0x14], ebx
jmp 0x100065d4
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xe8], 0x229edca8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x100065c3
mov dword [ebp - 0x20], 9
jmp 0x100066b6
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], 0xf9e3d3b
mov dword [ebp - 0x14], 0x10
jmp 0x100066a9
xor eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x14], ebx
jne 0x10006611
cmp dword [ebp - 0x1c], ebx
jne 0x10006611
mov eax, ebx
cmp eax, dword [ebp - 0x28]
jge 0x1000661b
cmp dword [ebp - 0x28], ebx
jne 0x1000661e
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x18], 0x718b
xor edx, edx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setne dl
sub eax, dword [ebp - 0x18]
sub edx, 0xdfe9
xor ecx, ecx
cmp eax, edx
setl cl
add ecx, dword [ebp - 0x14]
jne 0x10006653
cmp dword [ebp - 0x20], ebx
jne 0x10006653
mov ecx, ebx
jmp 0x10006656
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x14]
sub ecx, eax
cmp ecx, dword [ebp - 0x20]
je 0x10006663
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xe4]
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x14]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x28]
setg cl
xor edx, edx
cmp ecx, eax
setge dl
sub edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
mov dword [ebp - 0x18], ecx
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff2
jne 0x100065fc
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jne 0x100065e6
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0x90]
sub eax, dword [ebp - 0x94]
push 0x18
cdq
pop ecx
idiv ecx
mov dword [ebp - 0x58], ebx
mov esi, eax
test esi, esi
je 0x10006717
push ecx
lea eax, [ebp - 0x94]
push eax
push 0x4794
push ecx
push 0x5ca2
push ecx
lea eax, [ebp - 0x58]
mov cl, 1
push eax
lea edx, [ebp - 0x104]
call fcn.10006120
mov eax, dword [ebp - 0x58]
add esp, 0x1c
inc eax
mov dword [ebp - 0x58], eax
cmp eax, esi
jb 0x100066e4
mov dword [ebp - 0x2c], 0x571177e8
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], 7
jg 0x10006a9d
mov dword [ebp - 0x14], 0x64b9
cmp dword [ebp - 0x14], 0x6870
jle 0x100067a0
mov dword [ebp - 0x1c], ebx
mov edi, ebx
mov esi, ebx
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x18], 0x6826
mov eax, esi
mov ecx, 0x10078fb8
xor eax, edi
xor eax, ebx
cdq
push edx
push eax
call fcn.10001d2f
dec esi
dec dword [ebp - 0x18]
jne 0x10006752
mov esi, dword [ebp - 0x28]
inc esi
mov dword [ebp - 0x28], esi
cmp esi, 0x1e7
jl 0x10006748
inc edi
push 0
pop ebx
cmp edi, 0x3141
jl 0x10006740
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, 0x79a3
jl 0x1000673e
push ebx
push 0xfac
call dword [sym.imp.GDI32.dll_RectVisible]
mov dword [ebp - 0x48], 0x3245f1db
mov byte [ebp - 4], 9
cmp dword [ebp - 0x14], 0x6325
jge 0x100067e1
mov edx, str.tumhen_aczmhw_uoksd
mov ecx, 0x10078fb8
call fcn.10003c4d
jmp 0x100067e1
mov dword [ebp - 4], 8
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0x48], 0x1a
cmp dword [ebp - 0x48], 0xe
jge 0x10006a95
push 3
lea ecx, [ebp - 0x68]
call fcn.10001eb9
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0xb4], 0xd6c34f1d
mov dword [ebp - 0x1c], 0x5131
cmp dword [ebp - 0x1c], 0x540b
jle 0x10006878
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x18], 0x71f8
mov eax, edi
lea ecx, [ebp - 0x140]
cdq
push edx
push eax
call fcn.10001a85
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10006853
mov eax, dword [eax]
push eax
call fcn.10045794
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x140]
call fcn.1000224a
add edi, esi
dec dword [ebp - 0x18]
jne 0x10006839
inc esi
cmp esi, 0x4267
jl 0x10006830
lea eax, [ebp - 0xec]
mov edx, 0x77f7
push eax
push 0x1336
lea eax, [ebp - 0x68]
mov ecx, 0x1d5f
push eax
push 1
push 1
push 1
call fcn.10005c0b
add esp, 0x18
cmp dword [ebp - 0x1c], 0x4e9a
jge 0x100068b4
push str.ssvnzhoca_dcvsf_iarm_vlo_aapmx_jfwtuw_ivm_pgx_wkkmbb
call fcn.10045794
pop ecx
mov dword [ebp - 4], 0xb
mov dword [ebp - 0x24], ebx
jmp 0x100069f3
mov dword [ebp - 0x14], 0xfba1a4d6
mov dword [ebp - 0x5c], 5
mov dword [ebp - 0x14], 2
cmp dword [ebp - 0x14], ebx
jl 0x100069f0
mov dword [ebp - 0x98], 0x497f
mov dword [ebp - 0xb0], ebx
cmp dword [ebp - 0x24], ebx
je 0x100068f9
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax + 8]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x24]
mov edi, dword [ebp - 0x24]
mov edx, dword [ebp - 0x5c]
imul edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x68]
add edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x24]
imul ecx, edx
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x68]
sub edx, dword [eax + esi*4]
sub edx, ecx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x68]
add ecx, edx
imul ecx, dword [eax + edi*4]
test ecx, ecx
je 0x1000698c
push 1
push 0x345d
push 0xf87
push 1
push 0x248e
push 0x76a8
push 0x105a
lea eax, [ebp - 0x2d]
mov byte [ebp - 0x2d], bl
push eax
push 0x7642
push 1
push 0x4b10
push 0x6b68
push 0x4922
push 0x20e3
mov edx, 0x516b
mov ecx, 0x3068
call fcn.10005fe3
add esp, 0x38
jmp 0x100069e2
push 0x71a4
lea eax, [ebp - 0xa8]
mov dword [ebp - 0xa8], 0xbcfb
push eax
lea eax, [ebp - 0x68]
mov edx, 0x1a3c
push eax
lea eax, [ebp - 0x98]
push eax
push 1
push 1
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x24]
push eax
push 0x665b
lea eax, [ebp - 0xb0]
push eax
push ebx
push 0x49bb
lea ecx, [ebp - 0x5c]
call fcn.100080c8
add esp, 0x34
cmp dword [ebp - 0x2c], ebx
jne 0x100069f0
dec dword [ebp - 0x14]
jns 0x100068e1
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jle 0x100068c3
mov dword [ebp - 0x18], 0x1fd
cmp dword [ebp - 0x18], 0x48e
jle 0x10006a57
mov esi, ebx
mov edi, ebx
mov eax, esi
lea ecx, [ebp - 0x158]
cdq
idiv edi
mov eax, edx
cdq
push edx
push eax
call fcn.10001a85
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10006a30
mov eax, dword [eax]
push eax
call fcn.10045794
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x158]
call fcn.1000224a
inc edi
cmp edi, 0x75c8
jl 0x10006a11
inc esi
cmp esi, 0x52f5
jl 0x10006a0f
lea eax, [ebp - 0xa4]
push 1
push eax
lea edx, [ebp - 0x48]
call fcn.10005e68
cmp dword [ebp - 0x18], 0xfffffe42
pop ecx
pop ecx
jge 0x10006a7e
push str.gbieybzby_ynp_qzddi_zttkbczx_yqpl_wak_ckgsntxsb_omktygoyz_avx_xocs_nbhvq_ecxeu_sfyvljuc_yigyelwa
call fcn.10045794
pop ecx
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 8
call fcn.10001f3c
dec dword [ebp - 0x48]
jmp 0x100067f5
inc dword [ebp - 0x2c]
jmp 0x10006721
mov ecx, dword [ebp - 0xac]
lea eax, [ebp - 0x94]
push eax
call fcn.10009892
push ebx
push 1
lea ecx, [ebp - 0x104]
call fcn.100023b6
lea ecx, [ebp - 0x94]
call fcn.1000a002
jmp 0x10006ad0
mov eax, dword [ebp + 0x10]
and dword [eax], 0
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret