Function at 0x100155fd
Capabilities:
Accept command line arguments
Delete directory
Encode data using xor
Query environment variable
Read .ini file

Disassembly:
mov eax, 0x10062f8d
call fcn.10062184
sub esp, 0x208
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0xa0], ecx
lea ecx, [ebp - 0x160]
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x30], 0xffffffff
push 1
mov dword [ebp - 0xe4], edx
mov dword [ebp - 0x1b8], ebx
call fcn.10001647
xor edx, edx
mov dword [ebp - 0x18], ebx
inc edx
jmp 0x10015659
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x160]
mov dword [eax + ecx*4], 0x1b07fb07
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x10015646
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jne 0x1001567c
mov eax, dword [ebp - 0x1c]
mov ecx, 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]
jmp 0x1001567e
mov ecx, edx
xor eax, eax
cmp ecx, 0xfffffff6
setne al
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ebx
jne 0x10015690
mov edx, ebx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x160]
setl cl
mov dword [eax], ecx
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], bl
je 0x100156b8
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_EndPaint]
lea ecx, [ebp - 0x160]
call fcn.100016a4
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x18], 0xd9e2
mov dword [ebp - 0x28], 0x3f23
cmp dword [ebp - 0x28], 0x42b8
jle 0x1001570f
mov esi, ebx
mov edi, ebx
mov eax, edi
mov ecx, 0x1007f278
xor eax, esi
cdq
push edx
push eax
call fcn.1000b2a8
inc edi
cmp edi, 0x36c9
jl 0x100156e5
inc esi
cmp esi, 0x3e1d
jl 0x100156e3
push ebx
call dword [sym.imp.USER32.dll_IsRectEmpty]
mov dword [ebp - 0x2c], 0xfffffff7
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x28], 0x3d16
jge 0x10015731
mov edx, str.azo_zuouffz_qkd_xwbch
mov ecx, 0x1007f278
call fcn.1000ee32
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x3c], 0xf2c9a130
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x3c], 0x7ea4c570
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x34], ebx
je 0x10015778
xor eax, eax
inc eax
jmp 0x1001577a
mov eax, ebx
imul edx, eax, 0xfffc0004
sub edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
add eax, 0xe126
cmp eax, edx
setge cl
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x18], 0x16
cmp dword [ebp - 0x18], 0xffffffea
je 0x10015821
push 9
pop ecx
mov dword [ebp - 0x3c], 1
mov dword [ebp - 0x3c], 0xf3f6085e
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x13c], ecx
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x34], ebx
jmp 0x100157ed
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x1fc], 0xfff839e0
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 2
jl 0x100157dc
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x10015812
push 0x7f2
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetClassNameW]
push 9
pop ecx
inc dword [ebp - 0x138]
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffea
jne 0x100157aa
push 0x6c
mov dword [ebp - 0x80], 0xe03f401
mov dword [ebp - 0x7c], 0xe05f301
mov dword [ebp - 0x78], 0x28022b00
mov dword [ebp - 0x74], 0x3d043306
pop eax
mov word [ebp - 0x112], ax
mov dword [ebp - 0x1c], 0xd1e814b7
mov dword [ebp - 0x28], 0x4304
mov dword [ebp - 0x2c], 0x9d70cadd
mov dword [ebp - 0x28], 0x2036
cmp dword [ebp - 0x28], 0x22a4
jle 0x1001589e
mov esi, ebx
mov edi, ebx
mov eax, esi
mov ecx, 0x1007f278
cdq
idiv edi
mov eax, edx
cdq
push edx
push eax
call fcn.1000b2a8
inc edi
cmp edi, 0x3e9d
jl 0x10015870
inc esi
cmp esi, 0x49f1
jl 0x1001586e
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
mov dword [ebp - 0x18], 0x901516ea
mov dword [ebp - 4], 2
cmp dword [ebp - 0x28], 0x1fb0
jge 0x100158c4
mov edx, str.gdzexzj_gir_grqayu_ooxdldvtm_qiucg
mov ecx, 0x1007f278
call fcn.1000ee32
or dword [ebp - 4], 0xffffffff
push 3
pop esi
mov dword [ebp - 0x18], ebx
jmp 0x10015903
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x19c], 0xfffffff6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x100158f2
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setge dl
imul edx, dword [ebp - 0x1c]
test edx, edx
jne 0x10015920
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 - 0x2c], 0x920a
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x28]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
imul edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp edx, eax
setne cl
imul ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x18], 2
cmp dword [ebp - 0x18], ebx
jl 0x10015997
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0x19c]
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x19c], ecx
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x10015992
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
dec dword [ebp - 0x18]
jns 0x1001596e
push 2
xor edi, edi
mov dword [ebp - 0x38], ebx
pop esi
inc edi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x34], esi
cmp esi, 0x10
jae 0x10015f72
push 4
lea ecx, [ebp - 0x16c]
call fcn.10001647
mov dword [ebp - 0x1c], 0x49968cb6
mov dword [ebp - 0x28], 0xfffffffc
mov dword [ebp - 0x1c], ebx
jmp 0x100159dc
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x9c], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x100159cf
mov dword [ebp - 0x1c], ebx
jmp 0x100159fa
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x16c]
mov dword [eax + ecx*4], 0x42c70bb7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x100159e7
mov esi, dword [ebp - 0x16c]
mov dword [ebp - 0x28], esi
mov dword [esi + 0xc], ebx
mov dword [ebp - 0x24], 0xc6088b92
mov dword [ebp - 0x30], 9
mov dword [ebp - 0x18], ebx
jmp 0x10015a30
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1f4], 5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10015a1f
mov eax, dword [esi + 0xc]
cmp dword [ebp + eax*4 - 0x9c], ebx
jne 0x10015a50
mov eax, dword [esi + 0xc]
mov ecx, ebx
cmp dword [ebp + eax*4 - 0x9c], ebx
je 0x10015a52
mov ecx, edi
mov eax, dword [esi + 0xc]
mov edx, 0xffff
mov dword [ebp - 0x1ec], edx
push 0xfffffffffffffff8
mov dword [ebp + eax*4 - 0x9c], ecx
xor eax, eax
cmp ecx, edx
pop ecx
setge al
xor edx, edx
sub ecx, eax
mov eax, dword [ebp - 0x24]
cmp ecx, eax
setne dl
xor ecx, ecx
imul edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
cmp edx, eax
setg cl
imul eax, ecx, 0xc9df
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cmp eax, dword [esi + 8]
jle 0x10015a9f
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
inc dword [esi + 0xc]
cmp dword [esi + 0xc], 2
mov dword [ebp - 0x24], eax
jle 0x10015a0c
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 0x9c]
cmp eax, 0xa644184
mov eax, dword [ebp - 0x9c]
setne cl
mov dword [esi + 0xc], 0x4151c8b9
sub ecx, eax
xor edx, edx
cmp ecx, dword [esi + 0xc]
mov eax, dword [ebp - 0x98]
mov esi, dword [esi + 0xc]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, esi
setl al
imul eax, esi
mov esi, dword [ebp - 0x28]
add eax, 0x2cbef70f
je 0x10015b2e
cmp dword [esi + 8], ebx
je 0x10015b2e
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x10015bec
push 0x15b1
push 0x212c
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetWindowLongW]
jmp 0x10015bec
mov dword [ebp - 0x24], 0x341f56a6
mov dword [ebp - 0x28], 8
mov dword [ebp - 0x28], 0x2f548f9f
mov dword [ebp - 0x1c], 2
cmp dword [ebp - 0x1c], ebx
jl 0x10015b6a
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x10015b65
push ebx
push ebx
push 0x1d37
call dword [sym.imp.KERNEL32.dll_OpenFileMappingA]
dec dword [ebp - 0x1c]
jns 0x10015b4f
mov eax, dword [ebp - 0x24]
mov dword [esi + 8], eax
lea ecx, [eax + 0x158]
xor eax, eax
imul ecx, dword [ebp - 0x24]
sub ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x24]
cmp ecx, 0x849e
setge al
xor ecx, ecx
cmp ecx, eax
sbb eax, eax
xor edx, edx
neg eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], edi
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov ecx, 0xbe8
setle dl
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
sub ecx, eax
jne 0x10015bdd
mov edx, ebx
cmp dword [ebp - 0x1c], ebx
je 0x10015bdf
mov edx, edi
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0x16c]
call fcn.100016a4
movzx eax, byte [ebp - 0x80]
mov esi, dword [ebp - 0x34]
lea eax, [eax*2 + 2]
cmp esi, eax
jne 0x10015f36
mov dword [ebp - 0x18], 8
mov dword [ebp - 0x28], 0xd0b0a353
mov dword [ebp - 0x30], 0xfce6bb2f
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x18], 0x18ab
cmp dword [ebp - 0x18], 0x1965
jle 0x10015c9b
push ebx
push 0x1729
push ebx
call dword [sym.imp.GDI32.dll_GetRegionData]
mov edi, ebx
mov dword [ebp - 0x38], ebx
mov esi, ebx
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x30], 0x6ed2
mov edi, ebx
mov ebx, dword [ebp - 0x28]
mov eax, ebx
mov ecx, 0x1007f278
or eax, edi
cdq
push edx
push eax
call fcn.1000b2a8
inc edi
cmp edi, 0x2bd9
jl 0x10015c5c
add ebx, esi
dec dword [ebp - 0x30]
push 0
mov dword [ebp - 0x28], ebx
pop ebx
jne 0x10015c57
mov edi, dword [ebp - 0x38]
dec esi
cmp esi, 0xffffdceb
jg 0x10015c4d
inc edi
mov dword [ebp - 0x38], edi
cmp edi, 0x7196
jl 0x10015c4b
mov dword [ebp - 4], 4
cmp dword [ebp - 0x18], 0x17a1
jge 0x10015cba
mov edx, str.ozvpu_ugfd_dkd_qms_aemvg_aheqqr_gazwb_vzxjl_txw_jhsobc
mov ecx, 0x1007f278
call fcn.1000ee32
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x10015cfc
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xb0], 2
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10015ceb
mov dword [ebp - 0x18], 2
cmp dword [ebp - 0x18], ebx
jl 0x10015d1f
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0xb0], ebx
jne 0x10015d1f
dec dword [ebp - 0x18]
jns 0x10015d0e
mov dword [ebp - 0x18], 0x3d9b9503
xor edx, edx
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x28]
imul ecx, eax
mov eax, dword [ebp - 0xa8]
cmp ecx, eax
mov eax, dword [ebp - 0xa8]
setl dl
xor ecx, ecx
cmp edx, eax
sete cl
xor edx, edx
lea esi, [ecx + 0x2e023d4e]
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
setge dl
xor eax, eax
cmp edx, esi
setl al
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0xb0]
imul eax, dword [ebp - 0x30]
add eax, 6
cmp eax, dword [ebp - 0xac]
jne 0x10015d96
cmp dword [ebp - 0x30], ebx
je 0x10015d96
xor edi, edi
inc edi
mov eax, edi
jmp 0x10015d9b
xor edi, edi
mov eax, ebx
inc edi
mov esi, dword [ebp - 0x34]
mov dword [ebp - 0x28], eax
movzx edx, byte [ebp + esi - 0x80]
mov dword [ebp - 0x24], 0x1a05132d
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], ebx
lea eax, [edx + 1]
mov dword [ebp - 0x38], eax
jmp 0x10015dc9
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x58], 0xa48bbca6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10015dbb
mov dword [ebp - 0x58], ebx
cmp dword [ebp - 0x58], 0xffffffe3
jg 0x10015ec2
mov dword [ebp - 0x18], 0xfffffffb
lea ecx, [ebp - 0xe0]
push 2
call fcn.10001647
mov dword [ebp - 0x30], 0x71dbcabe
mov dword [ebp - 0x2c], 0xfffffffd
mov dword [ebp - 0x18], ebx
jmp 0x10015e13
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xe0]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10015e03
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x10015e2e
push 0x4a8
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0x18], 0x2733
cmp dword [ebp - 0x18], ebx
je 0x10015e6a
mov eax, dword [ebp - 0x18]
xor ecx, ecx
add eax, dword [ebp - 0x24]
cmp eax, 0xdae9
mov eax, dword [ebp - 0x18]
setne cl
xor edx, edx
cmp ecx, eax
setg dl
sub edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0xe0]
neg edx
sbb edx, edx
inc edx
imul ecx, edx, 0x7ea4
mov dword [eax], ecx
mov ecx, dword [ebp - 0x30]
xor edx, edx
mov eax, dword [ebp - 0xe0]
cmp dword [eax], ecx
mov eax, dword [ebp - 0x58]
sete dl
xor ecx, ecx
cmp eax, edx
setl cl
cmp ecx, dword [ebp - 0x58]
jg 0x10015e93
mov eax, dword [ebp - 0xe0]
cmp dword [eax], ebx
jne 0x10015e98
cmp dword [ebp - 0x24], ebx
je 0x10015e9c
mov eax, edi
jmp 0x10015e9e
mov eax, ebx
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0xe0]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], edi
call fcn.100016a4
dec dword [ebp - 0x58]
cmp dword [ebp - 0x58], 0xffffffe3
jle 0x10015ddc
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x24], ebx
jmp 0x10015ee1
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x58], ecx
mov eax, dword [ebp - 0x24]
cmp dword [ebp + eax*4 - 0x58], ebx
jne 0x10015ee6
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jle 0x10015ec7
dec esi
mov dword [ebp - 0x2c], 0x7dc
add esi, edx
cmp dword [ebp - 0x2c], 0xac1
mov dword [ebp - 0x34], esi
jle 0x10015f6a
push ebx
push ebx
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov esi, ebx
mov dword [ebp - 0x2c], ebx
mov ecx, ebx
mov eax, esi
sar eax, cl
mov ecx, 0x1007f278
cdq
push edx
push eax
call fcn.1000b2a8
inc ebx
cmp ebx, 0x770b
jl 0x10015f09
inc esi
push 0
pop ebx
cmp esi, 0x7cc3
jl 0x10015f06
mov esi, dword [ebp - 0x34]
jmp 0x10015f6a
movzx edx, byte [ebp + esi - 0x7f]
mov eax, esi
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], ebx
movzx eax, byte [ebp + eax - 0x82]
movzx ecx, word [ebp + eax*2 - 0x114]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x80]
add ecx, edx
mov word [ebp + eax*2 - 0x114], cx
add esi, 2
jmp 0x100159a0
xor eax, eax
lea ecx, [ebp - 0x154]
push edi
mov word [ebp - 0x106], ax
call fcn.10001647
mov dword [ebp - 0x2c], 0xafa9b64f
mov dword [ebp - 0x3c], 0x5d870a32
mov dword [ebp - 0x18], ebx
jmp 0x10015fa9
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x154]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10015f9a
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x10015fc5
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_ClientToScreen]
mov eax, dword [ebp - 0x154]
xor ebx, ebx
push 6
mov edi, 0xffff
mov edx, dword [eax]
test edx, edx
setne bl
xor eax, eax
cmp edx, 0x7642
setne al
xor ecx, ecx
cmp edx, eax
pop eax
setg cl
add ecx, edx
cmp eax, ecx
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, edi
setne cl
xor eax, eax
cmp ebx, ecx
lea ecx, [ebp - 0x154]
setle al
mov dword [ebp - 0x2c], eax
call fcn.100016a4
xor eax, eax
mov dword [ebp - 0x1bc], 7
mov word [ebp - 0x1d0], ax
lea ecx, [ebp - 0x1d0]
lea eax, [ebp - 0x114]
xor ebx, ebx
push eax
mov dword [ebp - 0x1c0], ebx
call fcn.1000b9d5
xor eax, eax
mov dword [ebp - 4], 8
push 3
inc eax
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0x18], eax
pop esi
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x3c], 0xfffffffc
push esi
call fcn.10001647
mov byte [ebp - 4], 9
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x1c], ebx
jmp 0x10016082
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x40], 0xbe197e7c
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jl 0x10016074
mov dword [ebp - 0x1c], ebx
jmp 0x100160a0
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xbc]
mov dword [eax + ecx*4], 0x193fe696
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1001608d
dec dword [ebp - 0x30]
xor edx, edx
mov eax, dword [ebp - 0x30]
cmp eax, 0x74fa
mov ecx, dword [ebp - 0xbc]
setne dl
sub edx, dword [ecx + 8]
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp edx, dword [ecx]
setne al
add eax, 0x36ec2c9f
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0xfff7
mov eax, dword [ebp - 0x18]
sbb ecx, ecx
inc ecx
sub eax, ecx
jne 0x100160f1
mov eax, dword [ebp - 0xbc]
cmp dword [eax], ebx
jne 0x100160f1
mov edx, ebx
jmp 0x100160f4
xor edx, edx
inc edx
mov eax, dword [ebp - 0x40]
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x24]
cmp edx, eax
mov eax, dword [ebp - 0xbc]
setge cl
xor edx, edx
cmp ecx, dword [eax]
setle dl
cmp dword [ebp - 0x18], edx
jne 0x1001611a
cmp dword [ebp - 0x40], ebx
jne 0x10016122
cmp dword [ebp - 0x38], ebx
jne 0x10016122
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
xor edx, edx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0xbc]
cmp dword [eax], 0x1f90ef30
mov eax, dword [ebp - 0x40]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x18]
sete cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x40]
setle cl
xor edx, edx
add eax, ecx
mov dword [ebp - 0x40], eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov eax, dword [ebp - 0xbc]
setg dl
cmp edx, dword [eax]
je 0x10016221
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], ebx
jg 0x10016239
mov byte [ebp - 0x1d], bl
mov dword [ebp - 0x2c], 0x7411
cmp dword [ebp - 0x2c], 0x742a
jle 0x100161c4
mov edi, ebx
mov dword [ebp - 0x28], ebx
mov eax, ebx
mov ecx, 0x1007f278
or eax, edi
cdq
push edx
push eax
call fcn.1000b2a8
inc ebx
cmp ebx, 0x5521
jl 0x1001619e
inc edi
push 0
pop ebx
cmp edi, 0x6e44
jl 0x1001619b
cmp byte [ebp - 0x1d], 0
je 0x100161d5
push 0x1e4
call dword [sym.imp.KERNEL32.dll_ExitThread]
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x2c], 0x708a
jge 0x10016212
mov edx, str.ofmkl_waj_gdhmwcqw_ukqbkuo_isntkyj_odp_nhdxrg_mai_eow
mov ecx, 0x1007f278
call fcn.1000ee32
jmp 0x10016212
mov dword [ebp - 4], 9
inc dword [ebp - 0x24]
jmp 0x1001617d
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x10016239
push ebx
push ebx
push 0x2222
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 8
call fcn.100016a4
xor eax, eax
lea edi, [ebp - 0x114]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x1c], 0xecb45710
mov dword [ebp - 0x34], 0xeded
mov dword [ebp - 0x18], 0xe69d0863
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x30], 4
mov dword [ebp - 0x24], ebx
jmp 0x1001628a
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x70], 0x841b3c69
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x1001627c
mov dword [ebp - 0x1c], esi
cmp dword [ebp - 0x1c], ebx
jl 0x10016579
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x28], 0x6c9f93b7
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x2c], 0xffffffff
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0x70]
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x70], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x70]
cmp dword [ebp - 0x70], ebx
je 0x100162fb
mov eax, dword [ebp - 0x68]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x70]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp + eax*4 - 0x70]
mov eax, dword [ebp - 0x64]
cmp eax, 1
setl cl
xor eax, eax
cmp ecx, edx
setl al
cmp eax, 0xffffffff
jge 0x100162fb
xor edx, edx
inc edx
jmp 0x100162fd
mov edx, ebx
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp edx, eax
setne cl
neg ecx
cmp ecx, 1
jne 0x10016317
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x70], ebx
jne 0x10016319
mov ecx, ebx
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x70]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setge dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x70]
cmp edx, eax
setne cl
imul ecx, dword [ebp - 0x1c]
add ecx, 0xfffd
cmp ecx, 0x8b4b72b4
sbb eax, eax
xor ecx, ecx
inc eax
imul eax, dword [ebp - 0x6c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x70]
test eax, eax
setle cl
add ecx, dword [ebp - 0x1c]
cmp ecx, 0x479e
je 0x10016375
cmp dword [ebp - 0x1c], ebx
je 0x10016375
xor ecx, ecx
inc ecx
jmp 0x10016377
mov ecx, ebx
mov eax, dword [ebp - 0x1c]
sub ecx, eax
je 0x1001646e
mov dword [ebp - 0x34], 5
cmp dword [ebp - 0x34], 0xffffffe4
jg 0x10016571
mov dword [ebp - 0x28], 0x6594
cmp dword [ebp - 0x28], 0x6816
jle 0x1001641b
push ebx
call dword [sym.imp.KERNEL32.dll_GetThreadPriority]
mov eax, ebx
mov dword [ebp - 0x24], ebx
mov edi, ebx
mov ecx, edi
mov edx, ebx
sar eax, cl
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x3c], eax
mov eax, ebx
mov dword [ebp - 0x2c], ebx
lea ecx, [eax + edx]
mov eax, dword [ebp - 0x3c]
sar eax, cl
mov ecx, 0x1007f278
cdq
push edx
push eax
call fcn.1000b2a8
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x2ea1
jl 0x100163c2
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0xfc5
jl 0x100163bd
mov eax, dword [ebp - 0x24]
inc edi
cmp edi, 0x2f03
jl 0x100163b1
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x666d
jl 0x100163af
push ebx
push 0x229c
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [ebp - 0x18], 1
mov byte [ebp - 4], 0xc
cmp dword [ebp - 0x28], 0x6310
jge 0x1001645f
mov edx, str.aaedsghnc_oqkolaxv_isr_owdp_xdwgslz_wmlk_avynxlxow
mov ecx, 0x1007f278
call fcn.1000ee32
jmp 0x1001645f
mov dword [ebp - 4], 8
dec dword [ebp - 0x34]
jmp 0x10016389
mov dword [ebp - 0x24], ebx
lea ecx, [ebp - 0x148]
push 2
call fcn.10001647
mov dword [ebp - 0x18], ebx
jmp 0x10016496
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x148]
mov dword [eax + ecx*4], 0x89a43d54
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10016483
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
inc dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x70]
cmp dword [ebp - 0x34], eax
jge 0x100164bc
cmp dword [ebp - 0x64], ebx
je 0x100164bc
xor ebx, ebx
inc ebx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x70]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x24]
cmp ebx, eax
mov eax, dword [ebp - 0x24]
sete cl
xor edx, edx
cmp ecx, eax
setg dl
xor ecx, ecx
sub edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x18]
cmp eax, edx
mov eax, dword [ebp - 0x24]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x68]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x24]
setl cl
xor edx, edx
cmp ecx, 0xfe74
setl dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, 0x8fc4
setl al
xor edx, edx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x148]
mov dword [ecx + 4], eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x2c]
cmp dword [ecx + 4], eax
mov eax, dword [ebp - 0x6c]
setl dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x30]
setne bl
xor ecx, ecx
cmp ebx, eax
mov eax, dword [ebp - 0x34]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x148]
setg dl
imul edx, dword [ebp + eax*4 - 0x70]
mov dword [ebp - 0x24], edx
call fcn.100016a4
xor ebx, ebx
dec dword [ebp - 0x1c]
jmp 0x10016293
mov eax, dword [ebp - 0x68]
xor ecx, ecx
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x38]
cmp eax, 0xaa41
push dword [ebp - 0xe4]
setle cl
xor edx, edx
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x18]
sub ecx, eax
mov eax, dword [ebp - 0x30]
cmp ecx, 0xee06
setge dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0x1e8]
call fcn.1000b3bd
push esi
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0xe
call fcn.10001647
mov dword [ebp - 0x18], 0xfffffffc
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x28], 0xfffffffa
mov dword [ebp - 0x28], 0x8aae07ea
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x1c], ebx
jmp 0x10016625
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xd4]
mov dword [eax + ecx*4], 7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10016612
mov dword [ebp - 0x1c], ebx
jmp 0x1001663c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xe8], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jl 0x1001662f
mov edi, dword [ebp - 0xd4]
mov eax, dword [edi + 8]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
neg eax
cmp eax, dword [ecx + 4]
je 0x1001666e
cmp dword [ebp - 0x18], ebx
je 0x1001666e
xor edx, edx
inc edx
jmp 0x10016670
mov edx, ebx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x2c]
add ecx, edx
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0xd4]
setne dl
xor ecx, ecx
cmp edx, dword [eax]
mov eax, dword [ebp - 0x2c]
setg cl
imul eax, ecx
xor ecx, ecx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
cmp eax, 0x14b11f38
setle cl
xor eax, eax
cmp dword [edi + 8], ecx
setle al
xor ecx, ecx
mov dword [ebp - 0x28], eax
imul eax, dword [ebp - 0x28], 0x6b3
mov edx, dword [edi + 8]
sub eax, 0x6fbf3c0d
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
cmp eax, edx
setg cl
add ecx, edx
mov dword [ebp - 0xe8], ecx
lea ecx, [ebp - 0xd4]
call fcn.100016a4
push 2
lea ecx, [ebp - 0x178]
call fcn.10001647
mov dword [ebp - 0x18], 0x5c184c50
mov dword [ebp - 0x18], ebx
jmp 0x10016713
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x178]
mov dword [eax + ecx*4], 1
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10016700
mov dword [ebp - 0x18], ebx
jmp 0x10016742
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x1001672d
call dword [sym.imp.KERNEL32.dll_SwitchToThread]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x178]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jle 0x1001671e
lea ecx, [ebp - 0x178]
call fcn.100016a4
push 4
lea ecx, [ebp - 0xc8]
call fcn.10001647
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x2c], 0x34aafbeb
push 4
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x1c], ebx
pop edx
jmp 0x10016786
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xc8]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10016776
mov dword [ebp - 0x1c], ebx
jmp 0x100167a1
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x90], 0x32fe2236
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10016790
mov dword [ebp - 0x88], esi
cmp dword [ebp - 0x88], ebx
jl 0x100168b3
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x3c], eax
push 2
lea ecx, [ebp - 0x104]
call fcn.10001647
mov dword [ebp - 0x18], ebx
jmp 0x100167e6
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x104]
mov dword [eax + ecx*4], 0xd95da228
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x100167d3
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x100167fc
push ebx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x88]
mov esi, dword [ebp - 0x88]
mov edi, dword [ebp - 0x88]
cmp dword [ebp - 0x88], 0xf6b34c26
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x104]
mov dword [eax], ecx
sbb eax, eax
mov ecx, dword [ebp - 0x3c]
inc eax
xor edx, edx
cmp eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0xc8]
setg dl
imul edx, dword [ecx + esi*4]
imul eax, edx, 0xd162
xor edx, edx
cmp eax, dword [ecx + edi*4]
mov eax, dword [ebp - 0x88]
setl dl
xor ebx, ebx
add eax, edx
xor esi, esi
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x88]
mov eax, dword [ebp - 0x88]
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x88]
cmp dword [eax], esi
mov eax, dword [ebp - 0xc8]
setne bl
xor edx, edx
cmp ebx, dword [eax + ecx*4]
lea ecx, [ebp - 0x104]
setne dl
mov dword [ebp - 0x2c], edx
call fcn.100016a4
dec dword [ebp - 0x88]
push esi
pop ebx
jns 0x100167c1
push 3
xor ebx, ebx
pop esi
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0xe
call fcn.100016a4
push 0x5c
pop eax
push 2
mov byte [ebp - 0x50], bl
mov ecx, ebx
mov dword [ebp - 0x4f], 0x69300267
mov word [ebp - 0x5c], ax
pop edi
cmp edi, 2
jne 0x100168e3
mov ecx, esi
mov edi, esi
jmp 0x1001690a
movzx edx, byte [ebp + edi - 0x4f]
mov eax, edi
sub eax, ecx
movzx eax, byte [ebp + eax - 0x52]
movzx eax, word [ebp + eax*2 - 0x5c]
mov ecx, eax
and eax, edx
or ecx, edx
sub ecx, eax
movzx eax, byte [ebp + edi - 0x50]
mov word [ebp + eax*2 - 0x5c], cx
mov ecx, ebx
add edi, 2
cmp edi, 5
jb 0x100168d8
xor eax, eax
mov word [ebp - 0x5a], ax
inc eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], 0xeba4d3ec
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x38], 0x575b
cmp dword [ebp - 0x38], 0x576c
jle 0x10016987
mov eax, ebx
mov dword [ebp - 0x28], ebx
mov edi, ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x3c], ebx
mov ebx, edi
mov edi, dword [ebp - 0x3c]
and ebx, eax
mov eax, edi
mov ecx, 0x1007f278
or eax, ebx
cdq
push edx
push eax
call fcn.1000b2a8
inc edi
cmp edi, 0xa63
jl 0x1001694a
mov edi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
inc edi
mov dword [ebp - 0x2c], edi
push 0
pop ebx
cmp edi, 0x7183
jl 0x10016940
inc eax
mov dword [ebp - 0x28], eax
cmp eax, 0xa9b
jl 0x1001693b
xor eax, eax
inc eax
mov dword [ebp - 0x3c], eax
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0x38], 0x54cc
jge 0x100169c7
mov edx, str.oeuhe_fmsf_bac_vahfdo_uilrq_nxhl_lnmitubc_ytr_imknro_cbynksk_schm_xcnudenc_kpfes_lkgr
mov ecx, 0x1007f278
call fcn.1000ee32
jmp 0x100169c7
push 6
mov dword [ebp - 4], 0xe
pop edi
mov dword [ebp - 0x24], ebx
jmp 0x10016af0
mov dword [ebp - 0x34], 0xa3df603f
lea ecx, [ebp - 0x190]
push 4
call fcn.10001647
mov dword [ebp - 0x18], ebx
jmp 0x10016a05
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x190]
mov dword [eax + ecx*4], 0xf6a08376
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x100169f2
xor ecx, ecx
inc ecx
mov dword [ebp - 0x34], ecx
jmp 0x10016a6e
mov dword [ebp - 0x18], 2
mov dword [ebp - 0x18], ebx
jmp 0x10016a30
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa4], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10016a1f
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x18], ebx
jmp 0x10016a65
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], ebx
jl 0x10016a62
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0xa4], ebx
jne 0x10016a62
dec dword [ebp - 0x1c]
jns 0x10016a51
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffee
jl 0x10016a46
dec dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xfffffff3
jl 0x10016a13
mov eax, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x190]
mov dword [eax], ecx
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setne dl
sub edx, 0x9200
neg edx
sbb edx, edx
sub eax, dword [ebp - 0x24]
inc edx
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x34]
setne cl
xor edx, edx
cmp ecx, eax
setle dl
imul edx, dword [ebp - 0x30]
neg edx
jne 0x10016ace
cmp dword [ebp - 0x28], ebx
jne 0x10016ace
mov ecx, ebx
jmp 0x10016ad1
xor ecx, ecx
inc ecx
xor eax, eax
cmp ecx, 0x993dd61f
lea ecx, [ebp - 0x190]
setne al
sub eax, 4
mov dword [ebp - 0x3c], eax
call fcn.100016a4
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x19
jle 0x100169d9
xor eax, eax
mov dword [ebp - 0x118], 7
mov word [ebp - 0x12c], ax
lea ecx, [ebp - 0x12c]
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x11c], ebx
push eax
call fcn.1000b9d5
push 0x5f
pop eax
mov byte [ebp - 4], 0x12
mov ecx, ebx
push 2
mov dword [ebp - 0x5c], ebx
mov byte [ebp - 0x48], bl
mov dword [ebp - 0x47], 0x104202cc
mov word [ebp - 0x60], ax
pop edi
cmp edi, 2
jne 0x10016b4a
mov ecx, esi
mov edi, esi
jmp 0x10016b71
movzx edx, byte [ebp + edi - 0x47]
mov eax, edi
sub eax, ecx
movzx eax, byte [ebp + eax - 0x4a]
movzx eax, word [ebp + eax*2 - 0x60]
mov ecx, eax
and eax, edx
or ecx, edx
sub ecx, eax
movzx eax, byte [ebp + edi - 0x48]
mov word [ebp + eax*2 - 0x60], cx
mov ecx, ebx
add edi, 2
cmp edi, 5
jb 0x10016b3f
xor eax, eax
mov dword [ebp - 0x1a0], 7
mov word [ebp - 0x5e], ax
lea ecx, [ebp - 0x1b4]
mov word [ebp - 0x1b4], ax
lea eax, [ebp - 0x60]
push eax
mov dword [ebp - 0x1a4], ebx
call fcn.1000b9d5
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x184]
mov dword [ebp - 0x60], ebx
mov eax, 0x3556
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], eax
mov dword [ebp - 0x24], 0x6de713a4
mov dword [ebp - 0x28], 0xffffffff
push esi
call fcn.10001647
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x18], ebx
jmp 0x10016bff
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x184]
mov dword [eax + ecx*4], 1
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10016bec
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x10016cc8
mov dword [ebp - 0x38], 0x15eb
cmp dword [ebp - 0x38], 0x162e
jle 0x10016ca0
mov edx, ebx
mov dword [ebp - 0x18], ebx
mov eax, ebx
mov dword [ebp - 0x30], ebx
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x2c], ebx
add ecx, edi
add eax, edx
shl eax, cl
lea ecx, [ebp - 0x214]
cdq
push edx
push eax
call fcn.10001351
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10016c50
mov eax, dword [eax]
push eax
call fcn.10049280
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x214]
call fcn.100017dc
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
inc ecx
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x2c], ecx
cmp ecx, 0xf97
jl 0x10016c32
inc edi
cmp edi, 0x6c74
jl 0x10016c2d
inc eax
mov dword [ebp - 0x30], eax
cmp eax, 0x41ab
jl 0x10016c2b
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x60b0
jl 0x10016c26
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
push 0x1436
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
cmp dword [ebp - 0x38], 0x1420
jge 0x10016cc1
push str.qrsmvtw_ibbw_twhqwzyu_mrq_wbkqu_ozw_afphz
call fcn.10049280
pop ecx
mov dword [ebp - 4], 0x14
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], esi
jg 0x10016d32
mov edi, dword [ebp - 0x184]
cmp dword [ebp - 0x24], ebx
jne 0x10016ce5
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0xf8]
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov edx, 0x693009c
mov eax, dword [ebp + eax*4 - 0xf8]
add eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x28]
cmp eax, 0x7631615e
setg cl
xor eax, eax
neg ecx
cmp ecx, 0x61fb
setne al
xor ecx, ecx
sub edx, eax
sub edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0xf8]
cmp eax, edx
sete cl
mov dword [edi + 4], ecx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jle 0x10016cd6
lea ecx, [ebp - 0x184]
mov byte [ebp - 4], 0x13
call fcn.100016a4
push dword [ebp - 0x11c]
cmp dword [ebp - 0x118], 8
lea eax, [ebp - 0x12c]
push ebx
cmovae eax, dword [ebp - 0x12c]
lea ecx, [ebp - 0x1e8]
push eax
call fcn.1001737f
cmp eax, 0xffffffff
je 0x10016d87
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0x1b4]
push ecx
push 1
push eax
lea ecx, [ebp - 0x1e8]
call fcn.1001708b
jmp 0x10016d41
mov dword [ebp - 0x28], 0x90a624cd
xor edx, edx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x3c], 0x7a1245c8
mov dword [ebp - 0x2c], 0xfffffff7
mov dword [ebp - 0x2c], 0xc383c67e
mov dword [ebp - 0x3c], 0xaa32f3f6
mov dword [ebp - 0x3c], 7
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x38], 1
mov dword [ebp - 0x30], 0x839e071a
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
setle dl
xor ebx, ebx
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
inc dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
mov eax, dword [ebp - 0x2c]
setne bl
xor ecx, ecx
cmp eax, 0x1dbcabeb
mov eax, dword [ebp - 0x38]
setg cl
xor edx, edx
cmp ebx, ecx
setl dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x34]
setle bl
xor ecx, ecx
cmp ebx, eax
setge cl
xor esi, esi
cmp ecx, dword [ebp - 0x18]
jge 0x10016e33
cmp dword [ebp - 0x30], esi
jne 0x10016e33
mov eax, esi
jmp 0x10016e36
xor eax, eax
inc eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], esi
je 0x10016e48
cmp dword [ebp - 0x18], esi
je 0x10016e48
xor eax, eax
inc eax
jmp 0x10016e4a
mov eax, esi
mov ecx, dword [ebp - 0xa0]
lea edx, [ebp - 0x1d0]
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x1e8]
push eax
call fcn.10017422
pop ecx
push esi
push 1
lea ecx, [ebp - 0x1b4]
call fcn.1000baf7
push esi
push 1
lea ecx, [ebp - 0x12c]
call fcn.1000baf7
push esi
push 1
lea ecx, [ebp - 0x1e8]
call fcn.1000baf7
push esi
push 1
lea ecx, [ebp - 0x1d0]
call fcn.1000baf7
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xa0]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret