Function at 0x10015676
Capabilities:
Encode data using xor
Get common file path
Identify system language via api

Disassembly:
mov eax, 0x1005bf7e
call fcn.1005b550
sub esp, 0x280
push ebx
xor ebx, ebx
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0x34], 0xffffffff
push esi
mov dword [ebp - 0x38], 0x263d
cmp dword [ebp - 0x38], 0x279f
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0x188], ebx
jle 0x10015728
mov esi, ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x18], 0x38f2
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x28], 0x4bdd
mov dword [ebp - 0x24], ecx
mov eax, esi
xor eax, ecx
mov ecx, 0x10075c58
cdq
push edx
push eax
call fcn.1000ed7e
mov ecx, dword [ebp - 0x24]
add ecx, edi
dec dword [ebp - 0x28]
mov dword [ebp - 0x24], ecx
jne 0x100156ec
inc edi
cmp edi, 0x182f
jl 0x100156e0
dec esi
dec dword [ebp - 0x18]
jne 0x100156de
mov esi, dword [ebp - 0x2c]
inc esi
mov dword [ebp - 0x2c], esi
cmp esi, 0x1fb7
jl 0x100156d4
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x38], 0x22f3
jge 0x10015743
mov edx, str.xreikxzc_zlvwxylqx_tivmm_wbjefw_fkjimmr_zhreq_njm_lrardge_wdei_uvxpmtqc_qbhrv_gvzykc_kwnbdx
mov ecx, 0x10075c58
call fcn.1001381a
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x1001577c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x50], 0xfffffffa
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1001576e
mov dword [ebp - 0x4c], ebx
cmp dword [ebp - 0x4c], 3
jg 0x1001586f
xor esi, esi
mov dword [ebp - 0x24], 0xfffffffc
xor edx, edx
mov eax, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp + eax*4 - 0xb0]
mov eax, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp + eax*4 - 0xb0]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp + eax*4 - 0xb0]
mov eax, dword [ebp - 0x4c]
cmp ecx, eax
setl dl
cmp edx, 0x162f6306
jge 0x100157e5
cmp dword [ebp - 0x50], ebx
je 0x100157e5
mov eax, dword [ebp - 0x4c]
cmp dword [ebp + eax*4 - 0xb0], ebx
jne 0x100157f3
mov eax, dword [ebp - 0x4c]
cmp dword [ebp + eax*4 - 0xb0], ebx
mov eax, ebx
je 0x100157f6
lea eax, [esi + 1]
mov dword [ebp - 0x24], eax
xor edx, edx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp + eax*4 - 0xb0]
mov eax, dword [ebp - 0xac]
cmp eax, ecx
mov eax, dword [ebp - 0x4c]
setne dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0xb0]
cmp eax, edx
mov eax, dword [ebp - 0x4c]
setne cl
mov eax, dword [ebp + eax*4 - 0xb0]
add ecx, eax
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp + eax*4 - 0xb0]
mov eax, dword [ebp - 0x4c]
imul edx, ecx
sub edx, eax
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp + eax*4 - 0xb0]
mov eax, dword [ebp - 0x4c]
add ecx, edx
xor edx, edx
mov eax, dword [ebp + eax*4 - 0xb0]
cmp eax, ecx
setl dl
mov dword [ebp - 0x34], edx
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 3
jle 0x10015791
mov dword [ebp - 0x40], 0xfffffff8
xor edx, edx
mov dword [ebp - 0x24], 0x19003123
inc edx
mov dword [ebp - 0x1c], ebx
jmp 0x10015896
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xbc], 0xfffffffd
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10015885
mov dword [ebp - 0x1c], ebx
jmp 0x100158b2
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xa0], 0xf603fa75
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x100158a1
mov dword [ebp - 0xbc], ebx
cmp dword [ebp - 0xbc], 0xffffffe4
jne 0x10015b25
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x30], 0xfffffffe
mov dword [ebp - 0x34], 0x26d5d64f
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x100158fc
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetParent]
xor edx, edx
inc edx
mov dword [ebp - 0x38], ebx
cmp dword [ebp - 0x38], edx
jg 0x10015b1a
mov dword [ebp - 0x1c], 0xdf82d83d
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x9c]
cmp dword [ebp - 0x18], ebx
jne 0x10015927
mov ecx, ebx
cmp dword [ebp - 0xb8], ebx
je 0x10015929
mov ecx, edx
xor eax, eax
cmp ecx, 9
sete al
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0xbc], ebx
jne 0x1001593f
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
je 0x10015985
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x24], eax
jmp 0x10015a68
mov dword [ebp - 0x28], 0x348f
mov dword [ebp - 0x2c], 0x821d2a6a
mov dword [ebp - 0x30], ebx
jmp 0x10015a5f
mov dword [ebp - 0x28], 0xf937b1bd
mov eax, dword [ebp - 0x38]
cmp dword [ebp + eax*4 - 0xa0], ebx
jne 0x10015a34
mov dword [ebp - 0x1c], 0xffff
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
neg ecx
sbb ecx, ecx
inc ecx
cmp dword [ebp + eax*4 - 0xa0], ecx
jge 0x100159de
mov eax, dword [ebp - 0x30]
cmp dword [ebp + eax*4 - 0xa0], ebx
jne 0x100159de
mov edx, ebx
mov eax, dword [ebp - 0x30]
mov esi, dword [ebp + eax*4 - 0xa0]
mov eax, dword [ebp - 0x38]
add esi, edx
neg esi
sbb esi, esi
xor ecx, ecx
mov edx, dword [ebp + eax*4 - 0xa0]
neg esi
cmp esi, 0xfffffff8
sete cl
xor eax, eax
cmp edx, ecx
setge al
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xffffffff
ja 0x10015a1e
cmp dword [ebp - 0x2c], ebx
jne 0x10015a1e
xor edx, edx
mov esi, ebx
inc edx
jmp 0x10015a23
xor edx, edx
inc edx
mov esi, edx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp esi, eax
mov esi, ebx
setle cl
sub ecx, dword [ebp - 0x2c]
je 0x10015a36
mov esi, edx
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp esi, eax
setl cl
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], ebx
jl 0x10015a5c
mov dword [ebp - 0x28], 0xfffffffc
cmp dword [ebp - 0x28], ebx
jne 0x10015a5c
dec dword [ebp - 0x2c]
jns 0x10015a4b
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edx
jle 0x1001599b
mov dword [ebp - 0x2c], 0x5f82
cmp dword [ebp - 0x2c], 0x620e
jle 0x10015ac6
mov edi, ebx
mov esi, ebx
mov ecx, ebx
mov dword [ebp - 0x28], ebx
mov eax, esi
cdq
idiv ecx
mov ecx, 0x10075c58
xor edx, edi
mov eax, edx
cdq
push edx
push eax
call fcn.1000ed7e
mov ecx, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, 0x434d
jl 0x10015a81
inc esi
cmp esi, 0x376
jl 0x10015a7c
inc edi
cmp edi, 0xe3a
jl 0x10015a7a
push 0x921
call dword [sym.imp.GDI32.dll_GetStockObject]
xor edx, edx
inc edx
cmp dword [ebp - 0x9c], ebx
jne 0x10015b12
mov dword [ebp - 4], 2
cmp dword [ebp - 0x2c], 0x5d49
jge 0x10015b0b
mov edx, str.cyn_ywu_kyzwbiyb_qcuwqzk_hyn_hfccwtr_dvdnbwdws_xvcnuss_qgjsiwei_dly
mov ecx, 0x10075c58
call fcn.1001381a
jmp 0x10015b0b
or dword [ebp - 4], 0xffffffff
xor edx, edx
inc edx
inc dword [ebp - 0x38]
jmp 0x100158ff
dec dword [ebp - 0xbc]
jmp 0x100158be
mov dword [ebp - 0x1c], 0x7ca0029b
mov dword [ebp - 0x24], 7
mov dword [ebp - 0x28], ebx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x24], ebx
ja 0x10015b69
cmp dword [ebp - 0x28], ebx
jne 0x10015b69
mov edx, ebx
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setne cl
sub eax, ecx
sub eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x1c]
je 0x10015b8c
mov dword [ebp - 0x24], 0xdc10
dec dword [ebp - 0x24]
jmp 0x10015ba8
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x10015ba8
push ebx
push ebx
push 0xb57
push 0x1e30
push ebx
call dword [sym.imp.USER32.dll_InsertMenuW]
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x10015bc9
push 0x173
push ebx
push 0xf61
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDlgItemTextA]
mov dword [ebp - 0x88], 0x3028601
mov dword [ebp - 0x84], 0x492b6504
mov dword [ebp - 0x80], 0x60d0338
mov dword [ebp - 0x7c], 0x53d043e
mov word [ebp - 0x78], 0xd
mov byte [ebp - 0x76], 0x2b
mov dword [ebp - 0x28], 0x18f7
cmp dword [ebp - 0x28], 0x1904
jle 0x10015c84
mov dword [ebp - 0x24], ebx
mov edx, ebx
mov dword [ebp - 0x18], ebx
mov edi, ebx
mov esi, ebx
mov ecx, esi
mov eax, edi
sar eax, cl
lea ecx, [ebp - 0x260]
xor eax, edx
xor eax, dword [ebp - 0x24]
cdq
push edx
push eax
call fcn.10001af4
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10015c34
mov eax, dword [eax]
push eax
call fcn.1004677c
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x260]
call fcn.1000f813
mov edx, dword [ebp - 0x18]
inc esi
cmp esi, 0x6b4e
jl 0x10015c11
inc edi
cmp edi, 0x17de
jl 0x10015c0f
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x8004
jl 0x10015c0d
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x95c
jl 0x10015c08
push 0x16bb
push ebx
call dword [sym.imp.USER32.dll_GetSubMenu]
cmp dword [ebp - 0x28], 0x16df
push 0x6c
pop eax
mov word [ebp - 0x11e], ax
jge 0x10015ca2
push str.cpseggq_jdwlm_yjsi_wtoa
call fcn.1004677c
pop ecx
or dword [ebp - 4], 0xffffffff
mov esi, ebx
push 2
pop edi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x2c], edi
cmp edi, 0x13
jae 0x10016742
mov dword [ebp - 0x38], 0x27c8
cmp dword [ebp - 0x38], 0x2a5c
jle 0x10015d1f
mov edi, ebx
mov esi, ebx
mov ecx, esi
mov eax, edi
shl eax, cl
lea ecx, [ebp - 0x1dc]
cdq
push edx
push eax
call fcn.10001af4
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10015cec
mov eax, dword [eax]
push eax
call fcn.1004677c
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x1dc]
call fcn.1000f813
inc esi
cmp esi, 0x2a4d
jl 0x10015cce
inc edi
cmp edi, 0x3d5a
jl 0x10015ccc
call dword [sym.imp.USER32.dll_ReleaseCapture]
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x2c]
mov dword [ebp - 0x30], 0xe0648261
mov dword [ebp - 0x1c], 0xf3d3
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x28], 0x9f4f9a02
mov dword [ebp - 0x24], 0x34e1054
mov dword [ebp - 0x34], 0xfffffff7
mov dword [ebp - 0x30], ebx
cmp dword [ebp - 0x30], 7
jne 0x10015d83
mov esi, dword [sym.imp.USER32.dll_GetDC]
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x10015d74
push ebx
call edi
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_SetBkColor]
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 7
je 0x10015d5e
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], 1
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
sub ecx, dword [ebp - 0x1c]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x28], ecx
imul ecx, dword [ebp - 0x28], 0xe964
mov eax, dword [ebp - 0x1c]
sub ecx, 0x3ac
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
setl cl
sub eax, ecx
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
sub edx, eax
mov eax, dword [ebp - 0x24]
cmp edx, eax
setge cl
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], 0x8a6ebbfa
mov eax, dword [ebp - 0x1c]
sbb ecx, ecx
xor ebx, ebx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setl bl
xor edx, edx
cmp ebx, eax
mov eax, dword [ebp - 0x1c]
sete dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x38], 0x278d
jge 0x10015e43
push str.kbwpcxkc_bbudbpkw_wulstdv_buavpctbd_kodvrrkn_zwnngys_pkthrubz_qcswoe_khcd_pecpapjf_dmcgqjbbx_ptz_nnvov_htixmlupj
call fcn.1004677c
pop ecx
or dword [ebp - 4], 0xffffffff
xor ebx, ebx
movzx eax, byte [ebp - 0x88]
lea eax, [eax*2 + 2]
cmp edi, eax
jne 0x100165ab
mov dword [ebp - 0x98], 0xdada
mov dword [ebp - 0x94], 0xdada
mov dword [ebp - 0x90], 0xdada
mov dword [ebp - 0x8c], 0xdada
mov dword [ebp - 0x18], 0x64bc
cmp dword [ebp - 0x18], 0x67b6
jle 0x10015eda
mov edi, ebx
mov esi, ebx
mov ecx, ebx
mov dword [ebp - 0x28], 0xe07
mov dword [ebp - 0x24], ecx
mov eax, edi
shl eax, cl
mov ecx, 0x10075c58
cdq
push edx
push eax
call fcn.1000ed7e
mov ecx, dword [ebp - 0x24]
add ecx, esi
dec dword [ebp - 0x28]
mov dword [ebp - 0x24], ecx
jne 0x10015ea7
inc esi
cmp esi, 0x7704
jl 0x10015e9b
inc edi
cmp edi, 0x1ed8
jl 0x10015e99
mov edi, dword [ebp - 0x2c]
mov dword [ebp - 4], 8
cmp dword [ebp - 0x18], 0x644b
jge 0x10015f1a
mov edx, str.vxz_fsc_azvkyc_msdibheuo_tfdan_narrfi_wqfw_qjhphhiv
mov ecx, 0x10075c58
call fcn.1001381a
jmp 0x10015f1a
or dword [ebp - 4], 0xffffffff
xor ecx, ecx
mov dword [ebp - 0x28], 0xffffffff
inc ecx
mov dword [ebp - 0x24], 0xfffffff6
mov dword [ebp - 0x64], 0x8b24cec8
mov dword [ebp - 0x3c], 0x6a4358b9
mov dword [ebp - 0x38], 8
mov dword [ebp - 0x28], 0x48d
mov dword [ebp - 0x3c], 0xfff6
mov dword [ebp - 0x18], ebx
jmp 0x10015f65
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x68], 0x710dd013
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10015f57
cmp dword [ebp - 0x98], ebx
jne 0x10015f80
cmp dword [ebp - 0x98], 0xc10977a1
mov edx, ebx
je 0x10015f82
mov edx, ecx
mov eax, dword [ebp - 0x8c]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x98]
sete cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x8c]
setge dl
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x8c]
cmp edx, 0x3c67
setle cl
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x8c]
mov esi, dword [ebp - 0x8c]
cmp ecx, eax
setg dl
neg esi
sbb esi, esi
inc esi
sub esi, edx
neg esi
sbb esi, esi
xor ecx, ecx
inc esi
mov dword [ebp - 0x68], esi
mov eax, dword [ebp - 0x8c]
sub esi, eax
mov eax, dword [ebp - 0x8c]
cmp eax, esi
setg cl
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x94], ebx
je 0x100162d5
mov dword [ebp - 0x48], 0x1f38
mov dword [ebp - 0x30], 0x6c93846f
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x18], ebx
dec dword [ebp - 0x48]
jne 0x1001601f
cmp dword [ebp - 0x68], ebx
jne 0x1001601f
mov edx, ebx
jmp 0x10016022
xor edx, edx
inc edx
mov eax, dword [ebp - 0x30]
mov ecx, 0x1200be60
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
sub ecx, eax
jne 0x10016045
cmp dword [ebp - 0x8c], ebx
jne 0x10016045
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x28], 2
mov eax, dword [ebp - 0x28]
imul eax, dword [ebp - 0x8c]
add eax, 0x99ba
jne 0x10016066
cmp dword [ebp - 0x68], ebx
jne 0x10016066
mov ecx, ebx
jmp 0x10016069
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x8c]
imul eax, ecx
xor ecx, ecx
cmp edx, eax
sete cl
xor eax, eax
cmp ecx, 0x7ff5
setne al
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x48], ebx
cmp dword [ebp - 0x48], 3
jg 0x1001633b
mov dword [ebp - 0x28], 0xfffffffc
mov dword [ebp - 0x1c], 0x5a72
cmp dword [ebp - 0x1c], 0x5c79
jle 0x10016121
mov ecx, ebx
mov dword [ebp - 0x18], ebx
mov eax, ebx
mov dword [ebp - 0x30], ebx
mov esi, ebx
add eax, esi
mov edi, ebx
add eax, ecx
mov dword [ebp - 0x40], eax
xor eax, edi
lea ecx, [ebp - 0x1f4]
cdq
push edx
push eax
call fcn.10001af4
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100160da
mov eax, dword [eax]
push eax
call fcn.1004677c
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x1f4]
call fcn.1000f813
mov eax, dword [ebp - 0x40]
inc edi
cmp edi, 0x4fdf
jl 0x100160c0
mov eax, dword [ebp - 0x30]
inc esi
mov ecx, dword [ebp - 0x18]
cmp esi, 0x3208
jl 0x100160b7
inc eax
mov dword [ebp - 0x30], eax
cmp eax, 0x3598
jl 0x100160b5
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 0x6d43
jl 0x100160b0
mov dword [ebp - 0x18], 0xc0ed6d2
cmp dword [ebp - 0x1c], 0x58a6
jge 0x1001613c
push str.ffvycudsx_kca_tqhrgj_bnb_xisa_fzaip_bjgzi_cpcixgm_frnzusy_vwikygep_mvresxp_rqaaef_qwfhyh
call fcn.1004677c
pop ecx
or dword [ebp - 4], 0xffffffff
xor ecx, ecx
mov dword [ebp - 0x40], ebx
inc ecx
mov dword [ebp - 0x1c], ebx
jmp 0x1001615c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x16c], 0xfffffffb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1001614b
mov dword [ebp - 0x1c], ebx
jmp 0x10016177
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x14c], 0x4a51e29a
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x10016166
dec dword [ebp - 0x28]
jne 0x10016189
mov edi, ebx
cmp dword [ebp - 0x28], ebx
je 0x1001618b
mov edi, ecx
mov dword [ebp - 0x30], 0xfffffffa
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x18]
dec edx
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, 0xfff9
setg cl
cmp eax, ecx
sbb eax, eax
xor esi, esi
neg eax
inc esi
cmp esi, eax
mov eax, dword [ebp - 0x24]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
setle dl
xor eax, eax
cmp edi, edx
setne al
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x18], 0x7e1efc39
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
je 0x1001620e
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
neg eax
sbb eax, eax
xor edx, edx
neg eax
add ecx, eax
mov eax, dword [ebp - 0x40]
cmp ecx, eax
setl dl
imul edx, dword [ebp - 0x18]
test edx, edx
je 0x1001620e
xor eax, eax
inc eax
jmp 0x10016210
mov eax, ebx
xor ecx, ecx
cmp eax, 0xfc02
setne cl
xor eax, eax
test ecx, ecx
setns al
xor edx, edx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
sub ecx, eax
mov eax, dword [ebp - 0x8c]
cmp ecx, 0xf6c633f4
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
inc dword [ebp - 0x140]
mov esi, dword [ebp - 0x140]
xor edx, edx
mov eax, dword [ebp - 0x48]
cmp ecx, 0x3f29
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
or eax, 0xffffffff
sub eax, ecx
xor edx, edx
sub eax, dword [ebp - 0x34]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
setle dl
xor eax, eax
cmp esi, edx
setl al
xor ecx, ecx
cmp eax, 0x94fb
mov eax, 0x9ba6ce2c
setg cl
sub ecx, 0x33e7
cmp eax, ecx
mov eax, dword [ebp - 0x34]
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x68]
jle 0x100162bd
cmp dword [ebp - 0x64], ebx
je 0x100162bd
xor ecx, ecx
inc ecx
jmp 0x100162bf
mov ecx, ebx
xor eax, eax
cmp ecx, 0x5e52
setl al
mov dword [ebp - 0x28], eax
inc dword [ebp - 0x48]
jmp 0x1001608a
mov dword [ebp - 0x34], 0xd54efe8f
mov dword [ebp - 0x38], ebx
cmp dword [ebp - 0x38], 3
jg 0x1001633e
xor edx, edx
inc edx
mov dword [ebp - 0x13c], edx
mov dword [ebp - 0x138], edx
mov dword [ebp - 0x134], edx
mov dword [ebp - 0x130], edx
mov eax, dword [ebp - 0x38]
cmp dword [ebp + eax*4 - 0x98], ebx
jne 0x1001633e
mov eax, dword [ebp - 0x38]
xor ecx, ecx
mov dword [ebp + eax*4 - 0x98], 0x7c9a
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
cmp eax, edx
setge cl
mov dword [ebp - 0x13c], ecx
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 3
jle 0x100162e8
jmp 0x1001633e
mov edi, dword [ebp - 0x2c]
movzx esi, byte [ebp + edi - 0x88]
inc esi
mov dword [ebp - 0x40], 0x7039
cmp dword [ebp - 0x40], 0x71fb
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x3c], esi
jle 0x100163a0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
mov esi, ebx
mov edi, ebx
mov ecx, edi
mov eax, esi
shl eax, cl
mov ecx, 0x10075c58
cdq
push edx
push eax
call fcn.1000ed7e
inc edi
cmp edi, 0x7e14
jl 0x10016375
inc esi
cmp esi, 0x5ea
jl 0x10016373
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x2c]
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0xf4], ebx
mov dword [ebp - 0xf0], ebx
mov dword [ebp - 0xec], ebx
mov dword [ebp - 0xe8], ebx
mov dword [ebp - 0x30], 0xbc35240c
mov dword [ebp - 0x38], ebx
jmp 0x100163db
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xc4], ebx
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 2
jl 0x100163ce
mov dword [ebp - 0xc0], 0x11
jmp 0x10016540
mov dword [ebp - 0x64], 0xae8c9f36
mov dword [ebp - 0x34], 0xfffffffa
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0x28], 0xfffffffb
mov dword [ebp - 0x38], ebx
jmp 0x10016429
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x12c], 4
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 3
jl 0x10016418
dec dword [ebp - 0x48]
xor edx, edx
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x24], ebx
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
setg dl
sub edx, dword [ebp - 0x30]
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x30], edx
xor edx, edx
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0xe8]
cmp ecx, eax
mov eax, dword [ebp - 0xf4]
setl dl
xor ebx, ebx
add edx, 0xffff0003
cmp eax, edx
mov eax, dword [ebp - 0xc0]
setle bl
xor ecx, ecx
cmp ebx, eax
sete cl
xor edx, edx
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
dec eax
mov dword [ebp - 0xf4], eax
sete dl
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x64]
xor ecx, ecx
cmp edx, eax
mov eax, 0xc4aee507
setg cl
cmp eax, ecx
sbb eax, eax
xor ebx, ebx
neg eax
cmp eax, 0xfffffff6
jge 0x100164cd
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], bl
je 0x1001653a
push ebx
push 0xc27
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
jmp 0x1001653a
mov dword [ebp - 0x64], 1
cmp dword [ebp - 0x64], ebx
jne 0x1001654d
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x48]
neg eax
sbb eax, eax
xor ecx, ecx
neg eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cmp eax, 0x605dd88b
mov eax, dword [ebp - 0x48]
setne cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0xf4]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x30]
setge cl
xor edx, edx
cmp eax, ecx
setl dl
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0x128], edx
test edx, edx
jne 0x10016534
cmp dword [ebp - 0x28], ebx
jne 0x10016534
cmp dword [ebp - 0x1c], ebx
jne 0x10016534
mov eax, ebx
jmp 0x10016537
xor eax, eax
inc eax
mov dword [ebp - 0x34], eax
inc dword [ebp - 0xc0]
cmp dword [ebp - 0xc0], 0x18
jl 0x100163f0
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x40], 0x6d68
jge 0x1001656c
mov edx, str.rxeo_ddikmp_tgkfrqw_zgmev_qhlih_fzie_eibygbh_ewzlhwxdo_rkijmto_lbc
mov ecx, 0x10075c58
call fcn.1001381a
or dword [ebp - 4], 0xffffffff
movzx eax, byte [ebp + edi - 0x88]
dec edi
add edi, eax
jmp 0x1001673a
movzx edx, byte [ebp + edi - 0x87]
mov eax, edi
sub eax, esi
movzx eax, byte [ebp + eax - 0x8a]
movzx ecx, word [ebp + eax*2 - 0x120]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + edi - 0x88]
add ecx, edx
mov word [ebp + eax*2 - 0x120], cx
xor ecx, ecx
mov dword [ebp - 0x3c], 0xf8f9ed02
inc ecx
mov dword [ebp - 0x34], 0xc930f888
mov dword [ebp - 0x3c], 0xfffffffc
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x1c], ebx
jmp 0x1001660f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x54], 0x841b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10016601
mov dword [ebp - 0x1c], ebx
jmp 0x10016627
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x44], 0xa32b1cec
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10016619
mov dword [ebp - 0x1c], ebx
jmp 0x10016642
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xdc], 0x4d4
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10016631
mov dword [ebp - 0x44], ebx
jmp 0x1001672c
mov dword [ebp - 0x24], 0xadd63529
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x1001667a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1b8], 0xb2bc8f96
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10016669
mov eax, dword [ebp - 0x44]
cmp dword [ebp + eax*4 - 0x54], ebx
jne 0x1001668c
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
xor ebx, ebx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp + eax*4 - 0x54]
cmp ecx, eax
mov eax, dword [ebp - 0x44]
setl bl
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 0x44]
add ecx, eax
mov eax, dword [ebp - 0x44]
cmp ecx, eax
setle dl
xor ecx, ecx
neg edx
cmp edx, 0x6ff6
setg cl
xor eax, eax
cmp ebx, ecx
setl al
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp + eax*4 - 0x54]
cmp dword [ebp - 0x54], 0x881826fb
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, edx
setle cl
sub ecx, 0xde81
mov dword [ebp - 0x34], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp + eax*4 - 0x54]
cmp edx, eax
setg cl
mov dword [ebp - 0x3c], ecx
dec dword [ebp - 0xdc]
inc dword [ebp - 0x44]
xor ebx, ebx
cmp dword [ebp - 0x44], ebx
jle 0x1001664f
mov esi, ebx
mov dword [ebp - 0x18], esi
add edi, 2
jmp 0x10015cae
mov dword [ebp - 0x18], 0x1a049fe3
mov dword [ebp - 0x3c], 0x3d42374b
mov dword [ebp - 0x18], 0xfffffff1
cmp dword [ebp - 0x18], 5
jg 0x1001679f
xor ecx, ecx
inc ecx
mov dword [ebp - 0x2c], ebx
jmp 0x10016773
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x74], 0x22124f84
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jl 0x10016765
mov dword [ebp - 0x74], ebx
jmp 0x10016790
mov dword [ebp - 0x3c], 0xea2a
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x3c], eax
dec dword [ebp - 0x74]
cmp dword [ebp - 0x74], 0xffffffe5
je 0x1001677d
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 5
jle 0x10016760
xor eax, eax
mov word [ebp - 0x112], ax
mov dword [ebp - 0x3c], 0xa6318529
mov dword [ebp - 0x3c], 0x9beb0647
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x3c], 2
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x3c], 0xfffffff8
mov dword [ebp - 0x34], ebx
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], al
je 0x100167df
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
inc dword [ebp - 0x34]
lea ecx, [ebp - 0x168]
xor eax, eax
mov dword [ebp - 0x154], 7
mov word [ebp - 0x168], ax
lea eax, [ebp - 0x120]
push eax
mov dword [ebp - 0x158], ebx
call fcn.10017447
mov dword [ebp - 4], 0xe
mov dword [ebp - 0x28], 0x36f3
cmp dword [ebp - 0x28], 0x38ad
jle 0x10016894
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov edi, ebx
mov esi, ebx
mov ecx, ebx
mov dword [ebp - 0x40], 0x10da
mov dword [ebp - 0x34], ecx
mov eax, edi
shl eax, cl
mov ecx, 0x10075c58
cdq
push edx
push eax
call fcn.1000ed7e
mov ecx, dword [ebp - 0x34]
add ecx, esi
dec dword [ebp - 0x40]
mov dword [ebp - 0x34], ecx
jne 0x1001683c
inc esi
cmp esi, 0x6eb3
jl 0x10016830
inc edi
cmp edi, 0x134a
jl 0x1001682e
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
push ebx
push ebx
push ebx
push 0x7db
push 0xfc5
push ebx
call edi
mov esi, dword [sym.imp.USER32.dll_GetDC]
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentExPointA]
jmp 0x100168a0
mov esi, dword [sym.imp.USER32.dll_GetDC]
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [ebp - 0x18], 0xa5b7d8cf
mov dword [ebp - 0x24], 0xc345fe46
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x100168cb
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xcc], 0xe446df3
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x100168ba
mov eax, dword [ebp - 0xc8]
xor ecx, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cmp eax, 0xffffffff
setne cl
cmp ecx, 0xe7ccc895
je 0x100168fc
mov eax, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc8], ebx
jne 0x1001690d
cmp dword [ebp - 0x18], ebx
jne 0x1001690d
mov eax, ebx
jmp 0x10016910
xor eax, eax
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x24], ebx
jne 0x10016924
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xcc]
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x10016953
push ebx
push 0xf9d
push 0x2f6
call edi
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_GetDIBColorTable]
mov byte [ebp - 4], 0xf
cmp dword [ebp - 0x28], 0x3487
jge 0x1001698d
mov edx, str.ahbqw_egxbclt_qqbsyte_jkbdyknp_fklpt_rzrayw_kqbxxwphl_hrcvhjfzq_zpgjgm_ktjah
mov ecx, 0x10075c58
call fcn.1001381a
jmp 0x1001698d
mov dword [ebp - 4], 0xe
lea edi, [ebp - 0x120]
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x18], ebx
jmp 0x100169b6
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xd4], 0xf0ea75c9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x100169a5
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x100169d7
push 0x103c
push ebx
push ebx
push 0x1386
call dword [sym.imp.USER32.dll_SetWindowsHookExA]
mov dword [ebp - 0xd4], ebx
jmp 0x10016a07
mov dword [ebp - 0x24], 0x6801fc3e
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0xd4], ebx
jne 0x100169fb
cmp dword [ebp - 0x24], 1
jle 0x100169fb
mov eax, ebx
jmp 0x100169fe
xor eax, eax
inc eax
mov dword [ebp - 0x24], eax
inc dword [ebp - 0xd4]
cmp dword [ebp - 0xd4], 8
jg 0x100169df
push dword [ebp - 0xf8]
lea ecx, [ebp - 0x1a0]
call fcn.1000ee93
xor eax, eax
mov byte [ebp - 4], 0x11
inc eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 0xa
cmp dword [ebp - 0x30], 4
jne 0x10016ac7
mov dword [ebp - 0x24], 0x7b1891f7
mov dword [ebp - 0x18], ebx
jmp 0x10016a59
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x288], 0x6df251d6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x10016a48
mov dword [ebp - 0x24], 3
cmp dword [ebp - 0x24], ebx
jl 0x10016ab7
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x10016ab2
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
push 0x650
push 0x259a
push 0x52
call edi
mov esi, dword [sym.imp.USER32.dll_GetDC]
push eax
call esi
push eax
push 0x76a
push 0x3af
push 0x2420
push 0x15d9
call edi
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
dec dword [ebp - 0x24]
jns 0x10016a6b
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 4
je 0x10016a3c
xor eax, eax
inc eax
mov dword [ebp - 0x30], 0x17
cmp dword [ebp - 0x30], 0xfffffffc
je 0x10016c02
mov dword [ebp - 0x24], 0xfffffffd
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 6
je 0x10016bf7
mov dword [ebp - 0x18], ebx
jmp 0x10016b02
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xe4], 0x3717be9f
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10016af1
mov dword [ebp - 0x2c], 0x3fbb
cmp dword [ebp - 0x2c], 0x4109
jle 0x10016ba8
mov dword [ebp - 0x28], ebx
mov esi, ebx
mov dword [ebp - 0x18], ebx
mov eax, esi
mov dword [ebp - 0x40], 0x50e3
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x34], eax
mov edx, esi
mov ecx, eax
sar edx, cl
mov edi, ebx
mov dword [ebp - 0x3c], edx
mov eax, edx
lea ecx, [ebp - 0x224]
and eax, edi
cdq
push edx
push eax
call fcn.10001af4
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10016b5a
mov eax, dword [eax]
push eax
call fcn.1004677c
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x224]
call fcn.1000f813
mov edx, dword [ebp - 0x3c]
inc edi
cmp edi, 0x73c1
jl 0x10016b3e
mov eax, dword [ebp - 0x34]
dec eax
dec dword [ebp - 0x40]
mov dword [ebp - 0x34], eax
jne 0x10016b33
mov esi, dword [ebp - 0x18]
inc esi
mov dword [ebp - 0x18], esi
cmp esi, 0x51d9
jl 0x10016b24
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp eax, 0x21d7
jl 0x10016b1f
mov dword [ebp - 0xe0], ebx
jmp 0x10016bcb
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x10016bc5
push 0x16bb
push ebx
call dword [sym.imp.USER32.dll_GetSubMenu]
inc dword [ebp - 0xe0]
cmp dword [ebp - 0xe0], 0x16
jne 0x10016bb0
cmp dword [ebp - 0x2c], 0x3dab
jge 0x10016be8
push str.zivacoogn_keoofpyma_wkfajq_zeexsvjg_agjvy_eqvyz_yyfsby_ayircxvmj_ihwl_tyti
call fcn.1004677c
pop ecx
mov dword [ebp - 4], 0x11
inc dword [ebp - 0x24]
jmp 0x10016ae2
dec dword [ebp - 0x30]
xor eax, eax
inc eax
jmp 0x10016ace
mov dword [ebp - 0x38], 3
mov dword [ebp - 0x40], 0x1647
mov dword [ebp - 0x34], 0xd35da2
mov dword [ebp - 0x3c], 0xdc705be7
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x3c], 0x429adbd3
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], 0x1afb
cmp dword [ebp - 0x34], 0x1eb9
jle 0x10016ca0
mov esi, ebx
mov edi, ebx
mov eax, esi
lea ecx, [ebp - 0x248]
cdq
idiv edi
mov eax, edx
cdq
push edx
push eax
call fcn.10001af4
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10016c65
mov eax, dword [eax]
push eax
call fcn.1004677c
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x248]
call fcn.1000f813
inc edi
cmp edi, 0xd3
jl 0x10016c46
inc esi
cmp esi, 0x1d06
jl 0x10016c44
push ebx
push ebx
push 0x1cdb
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_DefWindowProcA]
mov dword [ebp - 0x3c], 0xfffffff8
cmp dword [ebp - 0x34], 0x18c9
jge 0x10016cbb
push str.favrd_hbwdizio_sotugr_vkowtyb_nvyv_jej_rhhjbvspz_fxlro_rxdrj_avrqkfrmb_ifl_ravm
call fcn.1004677c
pop ecx
xor edx, edx
mov dword [ebp - 4], 0x11
mov dword [ebp - 0x1c], ebx
inc edx
jmp 0x10016cd8
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x58], 0x94f3
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10016cca
mov dword [ebp - 0x1c], ebx
jmp 0x10016cf3
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x150], 0xb460d54b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10016ce2
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x38], ebx
jmp 0x10016e3d
mov dword [ebp - 0x1c], 0xc23afc37
mov dword [ebp - 0x18], ebx
jmp 0x10016d23
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x230], 0xda314325
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10016d12
mov dword [ebp - 0x1c], ebx
jmp 0x10016e31
mov dword [ebp - 0x18], 0x416db6d0
mov dword [ebp - 0x2c], 0xb79f6a71
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x3c], 0xfffffffd
mov dword [ebp - 0x24], 0xfffffff8
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jl 0x10016e2b
mov dword [ebp - 0x34], 6
inc dword [ebp - 0x40]
je 0x10016df3
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x58]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x58]
test eax, eax
sets cl
cmp dword [ebp - 0x34], ecx
jl 0x10016d90
mov eax, edx
cmp dword [ebp - 0x18], ebx
jne 0x10016d92
mov eax, ebx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp - 0x58]
jl 0x10016da4
cmp dword [ebp - 0x1c], ebx
jne 0x10016da4
mov edx, ebx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x1c]
mov edx, 0x589d3895
setl cl
sub edx, ecx
add edx, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 0x1c]
cmp edx, dword [ebp + eax*4 - 0x58]
je 0x10016dd6
cmp dword [ebp - 0x58], ebx
jne 0x10016dd6
cmp dword [ebp - 0x2c], ebx
jne 0x10016dd6
xor edx, edx
mov ecx, ebx
inc edx
jmp 0x10016ddb
xor edx, edx
inc edx
mov ecx, edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x58]
sub ecx, eax
sub ecx, 0xfffffff7
mov eax, edx
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, dword [ebp - 0x2c]
jge 0x10016df5
mov eax, ebx
cmp eax, edx
mov eax, dword [ebp - 0x38]
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
xor edx, edx
mov dword [ebp - 0x3c], ecx
inc edx
mov dword [ebp - 0x2c], ebx
jmp 0x10016e1d
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x58], 0xfffffff9
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edx
jl 0x10016e0f
dec dword [ebp - 0x18]
jns 0x10016d5c
inc dword [ebp - 0x24]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x10016d31
dec dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0xfffffffd
je 0x10016d06
push 0x5c
pop eax
push 2
mov edi, ebx
mov word [ebp - 0x5c], 0x7200
mov byte [ebp - 0x5a], dl
mov byte [ebp - 0x59], 0xc8
mov word [ebp - 0x6c], ax
pop esi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x40], esi
cmp esi, 4
jae 0x10016f4d
mov dword [ebp - 0x34], 0x5886
cmp dword [ebp - 0x34], 0x5b62
jle 0x10016ee0
mov eax, ebx
mov dword [ebp - 0x24], ebx
mov edi, ebx
mov esi, ebx
lea ecx, [esi + edi]
shl eax, cl
lea ecx, [ebp - 0x278]
cdq
push edx
push eax
call fcn.10001af4
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10016ea5
mov eax, dword [eax]
push eax
call fcn.1004677c
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x278]
call fcn.1000f813
mov eax, dword [ebp - 0x24]
inc esi
cmp esi, 0x19e2
jl 0x10016e88
inc edi
cmp edi, 0x2b2
jl 0x10016e86
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x3c91
jl 0x10016e84
mov esi, dword [ebp - 0x40]
mov edi, dword [ebp - 0x28]
movzx eax, byte [ebp - 0x5c]
lea eax, [eax*2 + 2]
cmp esi, eax
jne 0x10016eff
movzx eax, byte [ebp + esi - 0x5c]
dec esi
add esi, eax
lea edi, [eax + 1]
mov dword [ebp - 0x28], edi
jmp 0x10016f45
cmp dword [ebp - 0x34], 0x5735
jge 0x10016f13
push str.ktubmnq_jwdp_sogjx_aywae_ovtlp_qqh_kewrimwut_utgvuhf_rngfpere_tkznss_urmkqmpjl_uhei_cfclghri
call fcn.1004677c
pop ecx
lea eax, [ebp - 0x5c]
mov dword [ebp - 4], 0x11
movzx edx, byte [ebp + esi - 0x5b]
sub eax, edi
mov edi, ebx
mov dword [ebp - 0x28], ebx
movzx eax, byte [eax + esi - 2]
movzx eax, word [ebp + eax*2 - 0x6c]
mov ecx, eax
and eax, edx
or ecx, edx
sub ecx, eax
movzx eax, byte [ebp + esi - 0x5c]
mov word [ebp + eax*2 - 0x6c], cx
add esi, 2
jmp 0x10016e63
xor eax, eax
mov dword [ebp - 0xfc], 7
mov word [ebp - 0x6a], ax
lea ecx, [ebp - 0x110]
mov word [ebp - 0x110], ax
lea eax, [ebp - 0x6c]
push eax
mov dword [ebp - 0x100], ebx
call fcn.10017447
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], ebx
jmp 0x10016fc9
mov dword [ebp - 0x18], 0x29bf39
mov dword [ebp - 0x18], ebx
jmp 0x10016fa2
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1a8], 0xfffffffd
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10016f91
mov dword [ebp - 0x18], ebx
jmp 0x10016fc0
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x10016fbd
push ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jle 0x10016fad
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfffffffe
je 0x10016f85
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x10016fe0
push ebx
push ebx
call dword [sym.imp.USER32.dll_LoadIconA]
push 0x5f
pop eax
push 2
mov edi, ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x60], 0x2e018900
mov word [ebp - 0x70], ax
pop esi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x18], esi
cmp esi, 4
jae 0x10017109
mov dword [ebp - 0x28], 0x29fd
cmp dword [ebp - 0x28], 0x2cae
jle 0x1001709b
mov esi, ebx
mov dword [ebp - 0x40], ebx
mov edi, ebx
mov dword [ebp - 0x34], ebx
mov ecx, edi
mov dword [ebp - 0x3c], esi
mov edi, esi
mov dword [ebp - 0x64], ebx
sar edi, cl
mov esi, ebx
mov eax, edi
lea ecx, [ebp - 0x20c]
or eax, esi
cdq
push edx
push eax
call fcn.10001af4
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1001704d
mov eax, dword [eax]
push eax
call fcn.1004677c
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x20c]
call fcn.1000f813
inc esi
cmp esi, 0x2a5
jl 0x10017031
mov edi, dword [ebp - 0x34]
mov esi, dword [ebp - 0x40]
inc edi
mov dword [ebp - 0x34], edi
cmp edi, 0x778f
jl 0x10017023
inc esi
mov dword [ebp - 0x40], esi
cmp esi, 0x41cd
jl 0x1001701e
push ebx
push 0x18f2
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x24]
movzx eax, byte [ebp - 0x60]
lea eax, [eax*2 + 2]
cmp esi, eax
jne 0x100170ba
movzx eax, byte [ebp + esi - 0x60]
dec esi
add esi, eax
lea edi, [eax + 1]
mov dword [ebp - 0x24], edi
jmp 0x10017101
cmp dword [ebp - 0x28], 0x2767
jge 0x100170ce
push str.yspegkyvh_wsjdnuos_bfleifyf_fxgco_jev_ryjenum_ozd_fpkdwgo
call fcn.1004677c
pop ecx
mov eax, esi
mov dword [ebp - 4], 0x18
movzx edx, byte [ebp + esi - 0x5f]
sub eax, edi
mov edi, ebx
mov dword [ebp - 0x24], ebx
movzx eax, byte [ebp + eax - 0x62]
movzx ecx, word [ebp + eax*2 - 0x70]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x60]
add ecx, edx
mov word [ebp + eax*2 - 0x70], cx
add esi, 2
jmp 0x10016ff9
xor eax, eax
mov dword [ebp - 0x170], 7
mov word [ebp - 0x6e], ax
lea ecx, [ebp - 0x184]
mov word [ebp - 0x184], ax
lea eax, [ebp - 0x70]
push eax
mov dword [ebp - 0x174], ebx
call fcn.10017447
mov byte [ebp - 4], 0x1b
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x2c], 0x8ec0ae97
mov dword [ebp - 0x3c], 0x6cce57bf
mov dword [ebp - 0x3c], 0xaa0d7227
mov dword [ebp - 0x3c], 0xfc9a57b5
mov dword [ebp - 0x34], 0xe885
mov dword [ebp - 0x18], ebx
jmp 0x10017175
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1b0], 0x5047c4d1
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10017164
mov dword [ebp - 0x2c], ebx
jmp 0x100171c7
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x3c], 0xeec54165
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x3c], 1
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x40], 0xfe44
mov dword [ebp - 0x18], ebx
jmp 0x100171b8
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1c4], 0xea53061e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x100171a7
dec dword [ebp - 0x34]
inc dword [ebp - 0x40]
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xffffffee
je 0x10017180
push dword [ebp - 0x100]
cmp dword [ebp - 0xfc], 8
lea eax, [ebp - 0x110]
push ebx
cmovae eax, dword [ebp - 0x110]
lea ecx, [ebp - 0x1a0]
push eax
call fcn.100174cf
cmp eax, 0xffffffff
je 0x10017213
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0x184]
push ecx
push 1
push eax
lea ecx, [ebp - 0x1a0]
call fcn.1001423f
jmp 0x100171cd
mov ecx, dword [ebp - 0xd8]
lea eax, [ebp - 0x1a0]
push eax
lea edx, [ebp - 0x168]
call fcn.10017572
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x184]
call fcn.1000fb4b
push ebx
push 1
lea ecx, [ebp - 0x110]
call fcn.1000fb4b
push ebx
push 1
lea ecx, [ebp - 0x1a0]
call fcn.1000fb4b
push ebx
push 1
lea ecx, [ebp - 0x168]
call fcn.1000fb4b
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xd8]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret