Function at 0x403450
Capabilities:
Check mutex on windows
Delete file
Extract resource via kernel32 functions
Get common file path
Get disk size
Get token privileges
Move file
Read .ini file
Read file via mapping

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x421865
mov eax, dword fs:[0]
push eax
sub esp, 0x7e0
mov eax, dword [0x42c00c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 0x10]
or edi, 0xffffffff
mov esi, dword [ebp + 8]
xorps xmm0, xmm0
mov dword [ebp - 0x550], 0
mov dword [ebp - 0x794], eax
xor eax, eax
mov dword [ebp - 0x79c], 0
mov dword [ebp - 0x790], edi
mov dword [ebp - 0x54c], edi
movups xmmword [ebp - 0x724], xmm0
mov dword [ebp - 0x600], 0
mov dword [ebp - 0x5fc], 7
mov word [ebp - 0x610], ax
mov dword [ebp - 4], eax
mov dword [ebp - 0x630], eax
mov dword [ebp - 0x62c], 7
mov word [ebp - 0x640], ax
mov dword [ebp - 0x618], eax
mov dword [ebp - 0x614], 7
mov word [ebp - 0x628], ax
mov dword [ebp - 0x5e4], eax
mov dword [ebp - 0x5e0], 7
mov word [ebp - 0x5f4], ax
mov dword [ebp - 0x660], eax
mov dword [ebp - 0x65c], 7
mov word [ebp - 0x670], ax
mov dword [ebp - 0x5b0], eax
mov dword [ebp - 0x5ac], 7
mov word [ebp - 0x5c0], ax
mov dword [ebp - 0x648], eax
mov dword [ebp - 0x644], 7
mov word [ebp - 0x658], ax
mov dword [ebp - 0x5c8], eax
mov dword [ebp - 0x5c4], 7
mov word [ebp - 0x5d8], ax
mov byte [ebp - 4], 7
mov word [ebp - 0x140], ax
mov word [ebp - 0x100], ax
mov word [ebp - 0x1c0], ax
lea eax, [ebp - 0x6dc]
push 0x103
push eax
movups xmmword [ebp - 0x6fc], xmm0
movups xmmword [ebp - 0x6ec], xmm0
movq qword [ebp - 0x6dc], xmm0
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
mov eax, dword [ebp + 0x14]
lea ecx, [ebp - 0x5a4]
mov edx, dword [ebp - 0x794]
xorps xmm0, xmm0
push str._silent
mov dword [ebp - 0x714], esi
mov dword [ebp - 0x710], eax
movq qword [ebp - 0x70c], xmm0
mov dword [ebp - 0x704], 0
movups xmmword [ebp - 0x734], xmm0
call fcn.00402230
add esp, 4
mov al, byte [eax + 8]
mov byte [ebp - 0x789], al
lea eax, [ebp - 0x2dc]
mov byte [ebp - 4], 8
push eax
mov dword [ebp - 0x2dc], 0x11c
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x405b2f
movzx eax, byte [ebp - 0x2d8]
shl ax, 8
movzx ecx, ax
movzx eax, byte [ebp - 0x2d4]
or ecx, eax
movzx eax, byte [ebp - 0x1c8]
shl ax, 8
shl ecx, 0x10
movzx eax, ax
or ecx, eax
movzx eax, byte [ebp - 0x1c6]
or ecx, eax
cmp ecx, 0x6000000
jb 0x4037ca
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea ecx, [ebp - 0x6c0]
mov dword [ebp - 0x6c0], 0
push ecx
push 8
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x405b57
mov edi, dword [ebp - 0x6c0]
mov dword [ebp - 0x788], edi
lea eax, [ebp - 0x550]
mov byte [ebp - 4], 9
push eax
push 0
push 0
push 0x19
push edi
mov dword [ebp - 0x550], 0
call dword [sym.imp.ADVAPI32.dll_GetTokenInformation]
mov eax, dword [ebp - 0x550]
xor ecx, ecx
shr eax, 3
mov edx, 8
inc eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00410221
mov esi, eax
add esp, 4
mov dword [ebp - 0x5f8], esi
lea eax, [ebp - 0x550]
mov byte [ebp - 4], 0xa
push eax
push dword [ebp - 0x550]
push esi
push 0x19
push dword [ebp - 0x6c0]
call dword [sym.imp.ADVAPI32.dll_GetTokenInformation]
test eax, eax
je 0x405b7f
mov eax, dword [esi]
push eax
mov dword [ebp - 0x6d0], eax
call dword [sym.imp.ADVAPI32.dll_IsValidSid]
test eax, eax
je 0x405ba7
push dword [ebp - 0x6d0]
call dword [sym.imp.ADVAPI32.dll_GetSidSubAuthorityCount]
movzx eax, byte [eax]
dec eax
push eax
push dword [ebp - 0x6d0]
call dword [sym.imp.ADVAPI32.dll_GetSidSubAuthority]
push esi
mov eax, dword [eax]
mov dword [ebp - 0x54c], eax
call fcn.0041022a
add esp, 4
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x54c], 0x3000
jae 0x4037c7
push 0x52f
lea eax, [ebp - 0x6fc]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
push 0
lea eax, [ebp - 0x6f8]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
cmp byte [ebp - 0x789], 0
jne 0x4037a0
mov ecx, 0x3ef
call fcn.004020a0
mov byte [ebp - 4], 7
or edi, 0xffffffff
jmp 0x40566b
or edi, 0xffffffff
mov dword [ebp - 4], 7
push 0
lea eax, [ebp - 0x6d0]
mov dword [ebp - 0x6d0], 0
push eax
push 0x44c
push 0x400000
call dword [sym.imp.USER32.dll_LoadStringW]
push dword [ebp - 0x6d0]
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [ebp - 0x79c], eax
test eax, eax
je 0x403879
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x403879
push 0x420
lea eax, [ebp - 0x6fc]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
push 0
lea eax, [ebp - 0x6c0]
mov dword [ebp - 0x6c0], 0
push eax
push 0x44d
push 0x400000
call dword [sym.imp.USER32.dll_LoadStringW]
mov ecx, dword [ebp - 0x6c0]
call fcn.004016c0
test al, al
jne 0x40566b
mov ecx, 0x44e
call fcn.00402060
mov ecx, eax
call fcn.004016c0
jmp 0x40566b
xorps xmm0, xmm0
lea ecx, [ebp - 0x38]
movups xmmword [ebp - 0x38], xmm0
movups xmmword [ebp - 0x28], xmm0
call fcn.00408370
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x580]
xor eax, eax
mov dword [ebp - 0x570], 0
push 0x40
mov dword [ebp - 0x56c], 7
mov word [ebp - 0x580], ax
mov dword [ebp - 0x550], 8
call fcn.00405ec0
xor edi, edi
nop word [eax + eax]
movzx esi, byte [ebp + edi - 0x38]
mov ecx, dword [ebp - 0x570]
mov eax, esi
shr eax, 4
movzx edx, word [eax*2 + 0x428dd0]
cmp ecx, dword [ebp - 0x56c]
jae 0x40391a
cmp dword [ebp - 0x56c], 8
lea eax, [ecx + 1]
mov dword [ebp - 0x570], eax
lea eax, [ebp - 0x580]
cmovae eax, dword [ebp - 0x580]
mov word [eax + ecx*2], dx
xor edx, edx
mov word [eax + ecx*2 + 2], dx
jmp 0x403934
push edx
mov byte [ebp - 0x54c], 0
push dword [ebp - 0x54c]
push ecx
lea ecx, [ebp - 0x580]
call fcn.00402f50
mov ecx, dword [ebp - 0x570]
and esi, 0xf
movzx edx, word [esi*2 + 0x428dd0]
mov esi, dword [ebp - 0x56c]
cmp ecx, esi
jae 0x403975
lea eax, [ecx + 1]
cmp esi, 8
mov dword [ebp - 0x570], eax
lea eax, [ebp - 0x580]
cmovae eax, dword [ebp - 0x580]
mov word [eax + ecx*2], dx
xor edx, edx
mov word [eax + ecx*2 + 2], dx
jmp 0x40398f
push edx
mov byte [ebp - 0x798], 0
push dword [ebp - 0x798]
push ecx
lea ecx, [ebp - 0x580]
call fcn.00402f50
inc edi
cmp edi, 0x20
jb 0x4038d0
mov dword [ebp - 4], 7
mov edx, dword [ebp - 0x62c]
mov dword [ebp - 0x550], 4
cmp edx, 8
jb 0x4039ea
mov ecx, dword [ebp - 0x640]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4039e0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405bcf
push edx
push ecx
call fcn.0041008e
add esp, 8
movups xmm1, xmmword [ebp - 0x580]
cmp dword [ebp - 0x56c], 8
lea ecx, [ebp - 0x640]
movq xmm0, qword [ebp - 0x570]
movd eax, xmm1
movups xmmword [ebp - 0x640], xmm1
cmovae ecx, eax
movq qword [ebp - 0x630], xmm0
push ecx
lea eax, [ebp - 0x6e8]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
call fcn.00407770
mov dword [ebp - 0x6d4], eax
mov dword [ebp - 0x5a4], edx
call fcn.00407770
mov dword [ebp - 0x54c], edx
mov dword [ebp - 0x59c], edx
mov dl, al
mov dword [ebp - 0x5a0], eax
and dl, 0x3f
mov ecx, dword [ebp - 0x5a2]
or dl, 0x80
and ecx, 0xfff
mov byte [ebp - 0x5a0], dl
or ecx, 0x4000
mov word [ebp - 0x5a2], cx
mov byte [ebp - 4], 0xd
sub esp, 8
mov eax, dword [ebp - 0x5a4]
mov ecx, dword [ebp - 0x5a0]
shr eax, 0x10
mov dword [ebp - 0x6c4], eax
mov eax, ecx
shr eax, 8
movzx esi, al
movzx eax, dl
shl eax, 8
or esi, eax
mov dword [ebp - 0x588], 0
mov eax, ecx
mov dword [ebp - 0x798], esi
shr eax, 0x10
movzx eax, al
shl ax, 8
movzx edi, ax
shr ecx, 0x18
or edi, ecx
mov dword [ebp - 0x584], 7
mov ecx, dword [ebp - 0x54c]
mov eax, ecx
shr eax, 8
movzx eax, al
shl edi, 0x10
or edi, eax
movzx eax, byte [ebp - 0x59c]
shl ax, 8
movzx eax, ax
or edi, eax
mov eax, ecx
shr eax, 0x10
movzx eax, al
shl ax, 8
movzx esi, ax
xor eax, eax
shr ecx, 0x18
or esi, ecx
mov word [ebp - 0x598], ax
lea ecx, [ebp - 0x598]
call fcn.0040c3d0
cmp dword [ebp - 0x584], 8
lea eax, [ebp - 0x598]
movzx ecx, word [ebp - 0x5a4]
cmovae eax, dword [ebp - 0x598]
push esi
push edi
push dword [ebp - 0x798]
mov dword [ebp - 0x550], 0x14
push dword [ebp - 0x6c4]
push ecx
push dword [ebp - 0x6d4]
push str._08lx__04x__04x__04x__08x_04x
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x1c
lea ecx, [ebp - 0x598]
push eax
call fcn.00402c40
mov edx, dword [ebp - 0x614]
cmp edx, 8
jb 0x403bb3
mov ecx, dword [ebp - 0x628]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x403ba9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405bd4
push edx
push ecx
call fcn.0041008e
add esp, 8
movups xmm1, xmmword [ebp - 0x598]
lea ecx, [ebp - 0x628]
movq xmm0, qword [ebp - 0x588]
movd eax, xmm1
mov byte [ebp - 4], 7
cmp dword [ebp - 0x584], 8
movups xmmword [ebp - 0x628], xmm1
cmovae ecx, eax
lea eax, [ebp - 0x6ec]
movq qword [ebp - 0x618], xmm0
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
mov esi, dword [ebp - 0x794]
lea ecx, [ebp - 0x5a4]
push str._cookie
mov edx, esi
call fcn.00402230
add esp, 4
cmp byte [ebp - 0x59c], 0
je 0x403c3d
mov eax, dword [ebp - 0x5a0]
cmp eax, 0x40
jae 0x403c3d
push eax
push dword [ebp - 0x5a4]
lea ecx, [ebp - 0x610]
call fcn.00402960
jmp 0x403d3e
push 0xa
push str.EDAT_ECOO
push 0x400000
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov edi, eax
test edi, edi
je 0x403d3e
push edi
push 0x400000
call dword [sym.imp.KERNEL32.dll_LoadResource]
push edi
push 0x400000
mov esi, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov edi, eax
test edi, edi
je 0x403d38
cmp edi, 0x40
jae 0x403d38
test esi, esi
je 0x403d38
push ecx
push edi
lea ecx, [ebp - 0x610]
call fcn.00402c40
cmp dword [ebp - 0x5fc], 8
lea ecx, [ebp - 0x610]
lea eax, [edi + esi]
cmovae ecx, dword [ebp - 0x610]
xor edx, edx
cmp esi, eax
cmova edi, edx
test edi, edi
je 0x403d38
cmp edi, 0x20
jb 0x403d22
lea eax, [esi - 1]
add eax, edi
cmp ecx, eax
ja 0x403cd5
lea eax, [ecx - 2]
lea eax, [eax + edi*2]
cmp eax, esi
jae 0x403d22
mov eax, edi
and eax, 0xffffffe0
nop word [eax + eax]
movq xmm1, qword [esi]
xorps xmm0, xmm0
punpcklbw xmm1, xmm0
add edx, 0x20
movups xmmword [ecx], xmm1
movq xmm1, qword [esi + 8]
punpcklbw xmm1, xmm0
movups xmmword [ecx + 0x10], xmm1
movq xmm1, qword [esi + 0x10]
punpcklbw xmm1, xmm0
movups xmmword [ecx + 0x20], xmm1
movq xmm1, qword [esi + 0x18]
add esi, 0x20
punpcklbw xmm1, xmm0
movups xmmword [ecx + 0x30], xmm1
add ecx, 0x40
cmp edx, eax
jne 0x403ce0
cmp edx, edi
je 0x403d38
movzx eax, byte [esi]
lea ecx, [ecx + 2]
inc edx
mov word [ecx - 2], ax
lea esi, [esi + 1]
cmp edx, edi
jne 0x403d26
mov esi, dword [ebp - 0x794]
cmp dword [ebp - 0x600], 0
je 0x403d69
cmp dword [ebp - 0x5fc], 8
lea eax, [ebp - 0x610]
cmovae eax, dword [ebp - 0x610]
push eax
lea eax, [ebp - 0x6e4]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
lea eax, [ebp - 0x1c0]
mov dword [ebp - 0x6c0], 0
push eax
lea eax, [ebp - 0x6c0]
xor ecx, ecx
push eax
lea edx, [ebp - 0x100]
call fcn.00402120
add esp, 8
cmp word [ebp - 0x100], 0
je 0x403daf
lea eax, [ebp - 0x100]
push eax
lea eax, [ebp - 0x6f4]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
mov edi, dword [ebp - 0x6c0]
lea eax, [ebp - 0x6e0]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
movups xmm0, xmmword [ebp - 0x6fc]
lea eax, [ebp - 0x550]
mov dword [ebp - 0x550], 0
push eax
push 0
movups xmmword [ebp - 0x75c], xmm0
lea eax, [ebp - 0x75c]
movups xmm0, xmmword [ebp - 0x6ec]
push eax
push 0x403110
movups xmmword [ebp - 0x74c], xmm0
push 0
movq xmm0, qword [ebp - 0x6dc]
movq qword [ebp - 0x73c], xmm0
push 0
mov dword [ebp - 0x738], str.microstub_start
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
je 0x403e2d
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x550], 0
je 0x403e3d
lock inc dword [0x42d60c]
lea eax, [ebp - 0x550]
mov dword [ebp - 0x550], 0
push eax
push 0
lea eax, [ebp - 0x75c]
push eax
push 0x403250
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
je 0x403e71
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x550], 0
je 0x403e81
lock inc dword [0x42d60c]
cmp byte [ebp - 0x789], 0
jne 0x403eab
push 0
push 0
lea eax, [ebp - 0x714]
push eax
push 0x4014a0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0xc0]
call fcn.00401f60
test al, al
jne 0x403ee2
push 3
lea eax, [ebp - 0x6fc]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x6f8]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
jmp 0x405665
push 4
push 0
lea eax, [ebp - 0xc0]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
lea eax, [ebp - 0xc0]
push eax
push 0x401f40
push 0xa
push 0x400000
call dword [sym.imp.KERNEL32.dll_EnumResourceNamesW]
push str._cust_ini
mov edx, esi
lea ecx, [ebp - 0x5a4]
call fcn.00402230
mov esi, 4
add esp, 4
cmp byte [ebp - 0x59c], 0
mov dword [ebp - 0x790], esi
mov dword [ebp - 0x550], esi
je 0x4046cc
push dword [ebp - 0x5a0]
xor eax, eax
mov dword [ebp - 0x570], 0
push dword [ebp - 0x5a4]
lea ecx, [ebp - 0x580]
mov dword [ebp - 0x56c], 7
mov word [ebp - 0x580], ax
call fcn.00402960
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x580]
cmp dword [ebp - 0x56c], 8
lea ecx, [ebp - 0x580]
mov edx, dword [ebp - 0x580]
mov esi, dword [ebp - 0x570]
cmovae eax, edx
cmovae ecx, edx
mov dword [ebp - 0x798], esi
lea eax, [eax + esi*2]
mov dword [ebp - 0x6c4], eax
lea eax, [ebp - 0x580]
cmovae eax, edx
lea edi, [eax + esi*2]
cmp ecx, edi
je 0x404010
nop dword [eax + eax]
cmp word [ecx], 0x22
je 0x403fcd
add ecx, 2
cmp ecx, edi
jne 0x403fc0
cmp ecx, edi
je 0x404010
lea eax, [ecx + 2]
mov esi, edi
sub esi, eax
xor edx, edx
inc esi
shr esi, 1
cmp eax, edi
cmova esi, edx
test esi, esi
je 0x404004
movzx edi, word [eax]
cmp edi, 0x22
je 0x403ff4
mov word [ecx], di
add ecx, 2
inc edx
add eax, 2
cmp edx, esi
jne 0x403fe6
mov esi, dword [ebp - 0x570]
jmp 0x40400a
mov esi, dword [ebp - 0x798]
mov edx, dword [ebp - 0x580]
cmp dword [ebp - 0x56c], 8
lea eax, [ebp - 0x580]
cmovae eax, edx
mov edx, ecx
sub edx, eax
sar edx, 1
cmp esi, edx
jb 0x405bd9
mov edi, dword [ebp - 0x6c4]
mov eax, esi
sub edi, ecx
sub eax, edx
sar edi, 1
cmp eax, edi
cmovb edi, eax
cmp dword [ebp - 0x56c], 8
lea eax, [ebp - 0x580]
cmovae eax, dword [ebp - 0x580]
sub esi, edi
mov dword [ebp - 0x570], esi
sub esi, edx
lea ecx, [eax + edx*2]
lea eax, [esi*2 + 2]
push eax
lea eax, [ecx + edi*2]
push eax
push ecx
call fcn.00411680
add esp, 0xc
lea eax, [ebp - 0x580]
cmp dword [ebp - 0x56c], 8
mov esi, 4
mov dword [ebp - 0x790], esi
cmovae eax, dword [ebp - 0x580]
push eax
push 0
push str.Enabled
push str.ProxySettings
mov dword [ebp - 0x550], esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
cmp eax, 1
jne 0x40461c
cmp dword [ebp - 0x56c], 8
lea eax, [ebp - 0x580]
mov ecx, esi
cmovae eax, dword [ebp - 0x580]
push eax
push 0
push str.ProxyType
push str.ProxySettings
mov dword [ebp - 0x790], ecx
mov dword [ebp - 0x550], ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
jne 0x40461c
cmp dword [ebp - 0x56c], 8
lea eax, [ebp - 0x580]
cmovae eax, dword [ebp - 0x580]
push eax
push pe_nt_image_headers32
lea eax, [ebp - 0x3c0]
push eax
push 0x426bac
push 0x427108
push str.ProxySettings
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push eax
lea eax, [ebp - 0x3c0]
push eax
lea ecx, [ebp - 0x5c0]
call fcn.00402960
mov ecx, dword [ebp - 0x5b0]
mov edx, dword [ebp - 0x5ac]
cmp ecx, edx
jae 0x404170
lea eax, [ecx + 1]
cmp edx, 8
mov dword [ebp - 0x5b0], eax
lea eax, [ebp - 0x5c0]
cmovae eax, dword [ebp - 0x5c0]
mov dword [eax + ecx*2], 0x3a
jmp 0x40418b
push 0x3a
mov byte [ebp - 0x54c], 0
push dword [ebp - 0x54c]
push ecx
lea ecx, [ebp - 0x5c0]
call fcn.00402f50
cmp dword [ebp - 0x56c], 8
lea eax, [ebp - 0x580]
cmovae eax, dword [ebp - 0x580]
push eax
push 0
push str.Port
push str.ProxySettings
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
movzx ecx, ax
lea esi, [ebp - 0x16]
nop dword [eax + eax]
mov eax, 0xcccccccd
sub esi, 2
mul ecx
shr edx, 3
lea eax, [edx + edx*4]
add eax, eax
sub ecx, eax
add ecx, 0x30
mov word [esi], cx
mov ecx, edx
test ecx, ecx
jne 0x4041c0
mov word [ebp - 0x598], cx
mov eax, 7
lea ecx, [ebp - 0x16]
mov dword [ebp - 0x588], edx
mov dword [ebp - 0x584], eax
cmp esi, ecx
je 0x40421e
mov eax, ecx
lea ecx, [ebp - 0x598]
sub eax, esi
sar eax, 1
push eax
push esi
call fcn.00402960
mov edx, dword [ebp - 0x588]
mov eax, dword [ebp - 0x584]
mov ecx, 0x64
mov dword [ebp - 0x790], ecx
mov dword [ebp - 0x550], ecx
cmp eax, 8
mov byte [ebp - 4], 0xf
mov esi, dword [ebp - 0x5b0]
lea ecx, [ebp - 0x598]
cmovae ecx, dword [ebp - 0x598]
mov eax, dword [ebp - 0x5ac]
sub eax, esi
mov dword [ebp - 0x54c], esi
cmp edx, eax
ja 0x404297
cmp dword [ebp - 0x5ac], 8
lea edi, [edx + esi]
lea eax, [edx + edx]
mov dword [ebp - 0x5b0], edi
push eax
mov eax, dword [ebp - 0x54c]
lea esi, [ebp - 0x5c0]
cmovae esi, dword [ebp - 0x5c0]
push ecx
lea eax, [esi + eax*2]
push eax
call fcn.00411680
add esp, 0xc
xor eax, eax
mov word [esi + edi*2], ax
jmp 0x4042b2
push edx
push ecx
mov byte [ebp - 0x54c], 0
lea ecx, [ebp - 0x5c0]
push dword [ebp - 0x54c]
push edx
call fcn.00402cd0
mov ecx, dword [ebp - 0x598]
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x584]
cmp eax, 8
jb 0x4042f6
lea edx, [eax*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4042ec
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405bde
push edx
push ecx
call fcn.0041008e
add esp, 8
cmp dword [ebp - 0x56c], 8
lea eax, [ebp - 0x580]
cmovae eax, dword [ebp - 0x580]
push eax
push pe_nt_image_headers32
lea eax, [ebp - 0x3c0]
push eax
push 0x426bac
push str.User
push str.ProxySettings
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push eax
lea eax, [ebp - 0x3c0]
push eax
lea ecx, [ebp - 0x658]
call fcn.00402960
cmp dword [ebp - 0x56c], 8
lea eax, [ebp - 0x580]
cmovae eax, dword [ebp - 0x580]
push eax
push pe_nt_image_headers32
lea eax, [ebp - 0x3c0]
push eax
push 0x426bac
push str.Password
push str.ProxySettings
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x4045a1
xorps xmm0, xmm0
mov dword [ebp - 0x59c], 0
lea edx, [ebp - 0x3c0]
movq qword [ebp - 0x5a4], xmm0
lea ecx, [ebp - 0x5a4]
call fcn.00407860
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x5a0]
mov eax, dword [ebp - 0x5a4]
sub ecx, eax
push ecx
push eax
lea ecx, [ebp - 0x598]
mov dword [ebp - 0x588], 0
mov dword [ebp - 0x584], 0xf
mov byte [ebp - 0x598], 0
call fcn.00406390
mov byte [ebp - 4], 0x11
lea edx, [ebp - 0x598]
cmp dword [ebp - 0x584], 0x10
lea edi, [ebp - 0x598]
mov eax, dword [ebp - 0x588]
lea ecx, [ebp - 0x5d8]
cmovae edx, dword [ebp - 0x598]
add eax, edx
mov dword [ebp - 0x20], 0
cmp dword [ebp - 0x584], 0x10
mov dword [ebp - 0x54c], eax
cmovae edi, dword [ebp - 0x598]
cmp dword [ebp - 0x5c4], 8
mov eax, dword [ebp - 0x5c8]
cmovae ecx, dword [ebp - 0x5d8]
mov esi, dword [ebp - 0x54c]
mov dword [ebp - 0x1c], 7
lea eax, [ecx + eax*2]
mov dword [ebp - 0x6c4], eax
lea ecx, [ebp - 0x30]
lea eax, [ebp - 0x5d8]
cmovae eax, dword [ebp - 0x5d8]
mov dword [ebp - 0x798], eax
xor eax, eax
mov word [ebp - 0x30], ax
mov eax, esi
sub eax, edi
push eax
call fcn.00405ec0
push dword [ebp - 0x5dc]
lea ecx, [ebp - 0x30]
push esi
push edi
call fcn.00405cd0
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x5d8]
mov ecx, dword [ebp - 0x798]
mov edx, dword [ebp - 0x6c4]
push dword [ebp - 0x20]
sub edx, ecx
sar edx, 1
cmp dword [ebp - 0x5c4], 8
cmovae eax, dword [ebp - 0x5d8]
sub ecx, eax
lea eax, [ebp - 0x30]
sar ecx, 1
cmp dword [ebp - 0x1c], 8
cmovae eax, dword [ebp - 0x30]
push eax
push edx
push ecx
lea ecx, [ebp - 0x5d8]
call fcn.00406130
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40450a
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x404500
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405be3
push edx
push ecx
call fcn.0041008e
add esp, 8
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x584]
cmp edx, 0x10
jb 0x404548
mov ecx, dword [ebp - 0x598]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40453e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405be8
push edx
push ecx
call fcn.0041008e
add esp, 8
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x5a4]
mov dword [ebp - 0x588], 0
mov dword [ebp - 0x584], 0xf
mov byte [ebp - 0x598], 0
test ecx, ecx
je 0x4045a1
mov edx, dword [ebp - 0x59c]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x404597
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405bed
push edx
push ecx
call fcn.0041008e
add esp, 8
cmp dword [ebp - 0x5ac], 8
lea eax, [ebp - 0x5c0]
cmovae eax, dword [ebp - 0x5c0]
cmp dword [ebp - 0x644], 8
mov dword [ebp - 0x734], eax
lea eax, [ebp - 0x658]
cmovae eax, dword [ebp - 0x658]
cmp dword [ebp - 0x5c4], 8
mov dword [ebp - 0x72c], eax
lea eax, [ebp - 0x5d8]
cmovae eax, dword [ebp - 0x5d8]
cmp dword [ebp - 0x56c], 8
mov dword [ebp - 0x728], eax
lea eax, [ebp - 0x580]
cmovae eax, dword [ebp - 0x580]
push eax
push 0
push str.AuthorizationType
push str.ProxySettings
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 0x730], eax
cmp dword [ebp - 0x56c], 8
lea eax, [ebp - 0x580]
cmovae eax, dword [ebp - 0x580]
push eax
push 0x40
lea eax, [ebp - 0x448]
push eax
push 0x426bac
push str.avcfg:__settings_Common_VersionSwitch
push str.Properties
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x404682
lea ecx, [ebp - 0x448]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x404660
sub ecx, edx
lea eax, [ebp - 0x448]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x670]
call fcn.00402960
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x56c]
cmp edx, 8
jb 0x4046c6
mov ecx, dword [ebp - 0x580]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4046bc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405bf2
push edx
push ecx
call fcn.0041008e
add esp, 8
mov edi, dword [ebp - 0x6c0]
lea eax, [ebp - 0x2dc]
mov dword [ebp - 0x2dc], 0x11c
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x405bf7
movzx eax, byte [ebp - 0x2d8]
shl ax, 8
movzx ecx, ax
movzx eax, byte [ebp - 0x2d4]
or ecx, eax
movzx eax, byte [ebp - 0x1c8]
shl ax, 8
shl ecx, 0x10
movzx eax, ax
or ecx, eax
movzx eax, byte [ebp - 0x1c6]
or ecx, eax
push 0
cmp ecx, 0x6010000
jb 0x404828
lea eax, [ebp - 0x700]
mov dword [ebp - 0x700], 0
push eax
push 0x7d1
push 0x400000
call dword [sym.imp.USER32.dll_LoadStringW]
mov eax, dword [ebp - 0x700]
mov dword [ebp - 0x54c], eax
mov dword [ebp - 0x6c0], 0
mov eax, dword fs:[0xc0]
mov dword [ebp - 0x6c0], eax
cmp dword [ebp - 0x6c0], 0
mov ecx, 0x8fc
mov eax, 0x898
mov dword [ebp - 0x6cc], 0
cmovne eax, ecx
lea ecx, [ebp - 0x6cc]
push 0
push ecx
add eax, edi
push eax
push 0x400000
call dword [sym.imp.USER32.dll_LoadStringW]
mov edx, dword [ebp - 0x6cc]
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4047b0
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x5f4]
call fcn.00402960
mov dword [ebp - 0x6cc], 0
mov eax, dword fs:[0xc0]
mov dword [ebp - 0x6cc], eax
cmp dword [ebp - 0x6cc], 0
mov ecx, 0xce4
mov eax, 0xc80
mov dword [ebp - 0x6c8], 0
cmovne eax, ecx
lea ecx, [ebp - 0x6c8]
push 0
push ecx
add eax, edi
push eax
push 0x400000
call dword [sym.imp.USER32.dll_LoadStringW]
mov edx, dword [ebp - 0x6c8]
mov dword [ebp - 0x798], edx
jmp 0x4048d2
lea eax, [ebp - 0x6d4]
mov dword [ebp - 0x6d4], 0
push eax
push 0x7d2
push 0x400000
call dword [sym.imp.USER32.dll_LoadStringW]
mov eax, dword [ebp - 0x6d4]
lea ecx, [ebp - 0x6c8]
push 0
mov dword [ebp - 0x54c], eax
lea eax, [edi + 0x834]
push ecx
push eax
push 0x400000
mov dword [ebp - 0x6c8], 0
call dword [sym.imp.USER32.dll_LoadStringW]
mov edx, dword [ebp - 0x6c8]
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x404885
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x5f4]
call fcn.00402960
push 0
lea ecx, [ebp - 0x6c4]
mov dword [ebp - 0x6c4], 0
push ecx
lea eax, [edi + 0xc80]
push eax
push 0x400000
call dword [sym.imp.USER32.dll_LoadStringW]
mov eax, dword [ebp - 0x6c4]
mov dword [ebp - 0x798], eax
cmp dword [ebp - 0x5e0], 8
lea ecx, [ebp - 0x5f4]
mov eax, dword [ebp - 0x5e4]
cmovae ecx, dword [ebp - 0x5f4]
mov dword [ebp - 0x788], ecx
cmp eax, 0xf
jb 0x404b3e
add eax, 0xfffffff2
mov edi, ecx
lea eax, [ecx + eax*2]
mov dword [ebp - 0x5f8], eax
nop dword [eax]
mov ecx, eax
mov edx, 0
sub ecx, edi
sar ecx, 1
je 0x404934
cmp word [edi], 0x7b
je 0x404932
cmp ecx, 1
je 0x404934
add edi, 2
dec ecx
cmp word [edi], 0x7b
jne 0x404923
mov edx, edi
mov edi, edx
test edi, edi
je 0x404b3e
movzx ecx, word [edi]
mov esi, 0x7b
mov edx, 0xf
mov eax, str.versionSwitch
cmp ecx, esi
jb 0x404980
mov dword [ebp - 0x6c0], edi
sub dword [ebp - 0x6c0], eax
cmp cx, si
ja 0x404980
cmp edx, 1
je 0x40498b
mov ecx, dword [ebp - 0x6c0]
add eax, 2
dec edx
movzx ecx, word [eax + ecx]
movzx esi, word [eax]
cmp cx, si
jae 0x404963
mov eax, dword [ebp - 0x5f8]
add edi, 2
jmp 0x404910
sub edi, dword [ebp - 0x788]
sar edi, 1
cmp edi, 0xffffffff
je 0x404b3e
mov ecx, dword [ebp - 0x660]
test ecx, ecx
jne 0x4049e9
push 6
mov dword [ebp - 0x588], ecx
xor eax, eax
push str.stable
lea ecx, [ebp - 0x598]
mov dword [ebp - 0x584], 7
mov word [ebp - 0x598], ax
call fcn.00402960
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x598]
mov eax, dword [ebp - 0x790]
or eax, 1
jmp 0x404a72
cmp dword [ebp - 0x65c], 8
lea eax, [ebp - 0x670]
cmovae eax, dword [ebp - 0x670]
mov dword [ebp - 0x788], eax
cmp ecx, 8
jae 0x404a1b
movups xmm0, xmmword [eax]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], 7
movups xmmword [ebp - 0x30], xmm0
jmp 0x404a5f
mov esi, ecx
mov eax, 0x7ffffffe
or esi, 7
cmp esi, eax
cmova esi, eax
lea eax, [esi + 1]
push eax
call fcn.00402ee0
mov ecx, dword [ebp - 0x660]
mov dword [ebp - 0x30], eax
lea ecx, [ecx*2 + 2]
push ecx
push dword [ebp - 0x788]
push eax
call fcn.004130f0
mov eax, dword [ebp - 0x660]
add esp, 0xc
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 0x14
lea ecx, [ebp - 0x30]
mov eax, dword [ebp - 0x790]
or eax, 2
cmp dword [ecx + 0x14], 8
mov dword [ebp - 0x550], eax
mov dword [ebp - 0x790], eax
mov eax, dword [ecx + 0x10]
jb 0x404a89
mov ecx, dword [ecx]
push eax
push ecx
push 0xf
push edi
lea ecx, [ebp - 0x5f4]
call fcn.00406130
mov dword [ebp - 4], 0x13
mov eax, dword [ebp - 0x790]
test al, 2
je 0x404af3
mov edx, dword [ebp - 0x1c]
and eax, 0xfffffffd
mov dword [ebp - 0x790], eax
cmp edx, 8
jb 0x404af3
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x404ae3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405c1f
push edx
push ecx
call fcn.0041008e
mov eax, dword [ebp - 0x790]
add esp, 8
mov dword [ebp - 4], 7
test al, 1
je 0x404b3e
mov edx, dword [ebp - 0x584]
cmp edx, 8
jb 0x404b3e
mov ecx, dword [ebp - 0x598]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x404b34
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405c24
push edx
push ecx
call fcn.0041008e
add esp, 8
push dword [ebp - 0x798]
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x548]
push str._s_s
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
lea eax, [ebp - 0x548]
push 0
push 0x80
push 2
push 0
push 1
push 3
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
jne 0x404bab
push 2
lea eax, [ebp - 0x6fc]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x6f8]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
jmp 0x40566b
push 4
push 0
lea eax, [ebp - 0x548]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
push 4
push 0
lea eax, [ebp - 0xc0]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
push 0
push 0
lea eax, [ebp - 0x678]
push eax
lea eax, [ebp - 0xc0]
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
test eax, eax
je 0x404c5b
cmp dword [ebp - 0x674], 0
ja 0x404c5b
jb 0x404c00
cmp dword [ebp - 0x678], 0x6400000
jae 0x404c5b
push 0x70
lea eax, [ebp - 0x6fc]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
push 0
lea eax, [ebp - 0x6f8]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
cmp byte [ebp - 0x789], 0
jne 0x40566b
mov ecx, 0x3e9
call fcn.00402060
mov ecx, 0x3ed
mov esi, eax
call fcn.00402060
push 0x409
push 0x10
push esi
push eax
push dword [ebp - 0x70c]
call dword [sym.imp.USER32.dll_MessageBoxExW]
jmp 0x40566b
cmp dword [ebp - 0x5e0], 8
lea eax, [ebp - 0x734]
mov ecx, dword [ebp - 0x54c]
lea edx, [ebp - 0x5f4]
cmovae edx, dword [ebp - 0x5f4]
push eax
lea eax, [ebp - 0x704]
push eax
lea eax, [ebp - 0x708]
push eax
push edi
call fcn.00401be0
add esp, 0x10
test al, al
jne 0x404cde
push 0x8ca
lea eax, [ebp - 0x6fc]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x6f8]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
cmp byte [ebp - 0x789], 0
jne 0x40566b
mov ecx, 0x3e9
call fcn.00402060
mov ecx, 0x3ee
jmp 0x404c3a
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
push 0
push 3
push 0
push 1
push 1
lea eax, [ebp - 0x548]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
mov dword [ebp - 0x790], edi
cmp edi, 0xffffffff
jne 0x404d33
push 0x6e
lea eax, [ebp - 0x6fc]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x6f8]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
jmp 0x40566b
xor edx, edx
mov ecx, edi
call fcn.00407300
test al, al
jne 0x404d7b
mov edx, 1
mov ecx, edi
call fcn.00407300
test al, al
jne 0x404d7b
push 0x6fe
lea eax, [ebp - 0x6fc]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x6f8]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
jmp 0x40566b
xor esi, esi
push esi
push esi
push esi
push 0x1000002
push esi
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov edi, eax
test edi, edi
jne 0x404d9d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x404df3
push 0
push 0
push 0
push 4
push edi
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [ebp - 0x788], eax
test eax, eax
jne 0x404dc0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x404dec
push 0
push 0
lea edx, [ebp - 0x140]
mov ecx, eax
call fcn.00402120
add esp, 8
test al, al
jne 0x404de0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push dword [ebp - 0x788]
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call dword [sym.imp.KERNEL32.dll_SetLastError]
test esi, esi
jne 0x404e12
lea eax, [ebp - 0x140]
push eax
lea eax, [ebp - 0x6f0]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
movups xmm0, xmmword [ebp - 0x6fc]
lea eax, [ebp - 0x54c]
mov dword [ebp - 0x54c], 0
push eax
push 0
movups xmmword [ebp - 0x784], xmm0
lea eax, [ebp - 0x784]
movups xmm0, xmmword [ebp - 0x6ec]
push eax
push 0x403110
movups xmmword [ebp - 0x774], xmm0
push 0
movq xmm0, qword [ebp - 0x6dc]
movq qword [ebp - 0x764], xmm0
push 0
mov dword [ebp - 0x760], str.microstub_download
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
je 0x404e7c
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x54c], 0
je 0x404e8c
lock inc dword [0x42d60c]
lea eax, [ebp - 0x54c]
mov dword [ebp - 0x54c], 0
push eax
push 0
lea eax, [ebp - 0x784]
push eax
push 0x403250
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
je 0x404ec0
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x54c], 0
je 0x404ed0
lock inc dword [0x42d60c]
push 1
xor eax, eax
mov dword [ebp - 0x588], 0
push 0x427214
lea ecx, [ebp - 0x598]
mov dword [ebp - 0x584], 7
mov word [ebp - 0x598], ax
call fcn.00402960
lea eax, [ebp - 0x548]
mov byte [ebp - 4], 0x15
push eax
lea ecx, [ebp - 0x598]
call fcn.00402e50
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x30], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
movq qword [ebp - 0x20], xmm0
mov word [eax], cx
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
cmp ecx, edx
jae 0x404f60
lea eax, [ecx + 1]
cmp edx, 8
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x30]
cmovae eax, dword [ebp - 0x30]
mov dword [eax + ecx*2], 0x22
jmp 0x404f78
push 0x22
mov byte [ebp - 0x788], 0
push dword [ebp - 0x788]
push ecx
lea ecx, [ebp - 0x30]
call fcn.00402f50
movups xmm0, xmmword [ebp - 0x30]
movups xmmword [ebp - 0x568], xmm0
movq xmm0, qword [ebp - 0x20]
movq qword [ebp - 0x558], xmm0
mov byte [ebp - 4], 0x19
mov edx, dword [ebp - 0x584]
cmp edx, 8
jb 0x404fd4
mov ecx, dword [ebp - 0x598]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x404fca
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405c29
push edx
push ecx
call fcn.0041008e
add esp, 8
mov esi, dword [ebp - 0x794]
xor eax, eax
mov ecx, esi
mov dword [ebp - 0x588], 0
mov dword [ebp - 0x584], 7
mov word [ebp - 0x598], ax
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405000
sub ecx, edx
sar ecx, 1
je 0x4050de
mov ecx, dword [ebp - 0x558]
mov edx, dword [ebp - 0x554]
cmp ecx, edx
jae 0x405047
lea eax, [ecx + 1]
cmp edx, 8
mov dword [ebp - 0x558], eax
lea eax, [ebp - 0x568]
cmovae eax, dword [ebp - 0x568]
mov dword [eax + ecx*2], 0x20
jmp 0x405062
push 0x20
mov byte [ebp - 0x788], 0
push dword [ebp - 0x788]
push ecx
lea ecx, [ebp - 0x568]
call fcn.00402f50
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405067
mov eax, dword [ebp - 0x554]
sub ecx, edx
mov edx, dword [ebp - 0x558]
sub eax, edx
sar ecx, 1
cmp ecx, eax
ja 0x4050c3
cmp dword [ebp - 0x554], 8
lea esi, [ebp - 0x568]
lea eax, [ecx + ecx]
cmovae esi, dword [ebp - 0x568]
lea edi, [ecx + edx]
push eax
push dword [ebp - 0x794]
mov dword [ebp - 0x558], edi
lea eax, [esi + edx*2]
push eax
call fcn.00411680
add esp, 0xc
xor eax, eax
mov word [esi + edi*2], ax
jmp 0x4050de
push ecx
push esi
mov byte [ebp - 0x788], 0
push dword [ebp - 0x788]
push ecx
lea ecx, [ebp - 0x568]
call fcn.00402cd0
cmp dword [ebp - 0x6e4], 0
je 0x4051de
mov edx, dword [ebp - 0x554]
mov eax, edx
mov ecx, dword [ebp - 0x558]
sub eax, ecx
cmp eax, 9
jb 0x405134
cmp edx, 8
lea esi, [ebp - 0x568]
push 0x12
cmovae esi, dword [ebp - 0x568]
lea edi, [ecx + 9]
push 0x427218
mov dword [ebp - 0x558], edi
lea eax, [esi + ecx*2]
push eax
call fcn.00411680
add esp, 0xc
xor eax, eax
mov word [esi + edi*2], ax
jmp 0x405155
push 9
push 0x427218
mov byte [ebp - 0x788], 0
lea ecx, [ebp - 0x568]
push dword [ebp - 0x788]
push 9
call fcn.00402cd0
mov edx, dword [ebp - 0x6e4]
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405160
mov eax, dword [ebp - 0x554]
sub ecx, esi
mov esi, dword [ebp - 0x558]
sub eax, esi
sar ecx, 1
mov dword [ebp - 0x788], esi
cmp ecx, eax
ja 0x4051c3
cmp dword [ebp - 0x554], 8
lea edi, [ecx + esi]
lea eax, [ecx + ecx]
mov dword [ebp - 0x558], edi
push eax
mov eax, dword [ebp - 0x788]
lea esi, [ebp - 0x568]
cmovae esi, dword [ebp - 0x568]
push edx
lea eax, [esi + eax*2]
push eax
call fcn.00411680
add esp, 0xc
xor eax, eax
mov word [esi + edi*2], ax
jmp 0x4051de
push ecx
push edx
mov byte [ebp - 0x788], 0
push dword [ebp - 0x788]
push ecx
lea ecx, [ebp - 0x568]
call fcn.00402cd0
mov edx, dword [ebp - 0x554]
mov eax, edx
mov ecx, dword [ebp - 0x558]
sub eax, ecx
cmp eax, 0xe
jb 0x405227
cmp edx, 8
lea esi, [ebp - 0x568]
push 0x1c
cmovae esi, dword [ebp - 0x568]
lea edi, [ecx + 0xe]
push str.__ga_clientid:
mov dword [ebp - 0x558], edi
lea eax, [esi + ecx*2]
push eax
call fcn.00411680
add esp, 0xc
xor eax, eax
mov word [esi + edi*2], ax
jmp 0x405248
push 0xe
push str.__ga_clientid:
mov byte [ebp - 0x788], 0
lea ecx, [ebp - 0x568]
push dword [ebp - 0x788]
push 0xe
call fcn.00402cd0
mov edx, dword [ebp - 0x6ec]
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405253
mov eax, dword [ebp - 0x554]
sub ecx, esi
mov esi, dword [ebp - 0x558]
sub eax, esi
sar ecx, 1
mov dword [ebp - 0x788], esi
cmp ecx, eax
ja 0x4052b6
cmp dword [ebp - 0x554], 8
lea edi, [esi + ecx]
lea eax, [ecx + ecx]
mov dword [ebp - 0x558], edi
push eax
mov eax, dword [ebp - 0x788]
lea esi, [ebp - 0x568]
cmovae esi, dword [ebp - 0x568]
push edx
lea eax, [esi + eax*2]
push eax
call fcn.00411680
add esp, 0xc
xor eax, eax
mov word [esi + edi*2], ax
jmp 0x4052d1
push ecx
push edx
mov byte [ebp - 0x788], 0
push dword [ebp - 0x788]
push ecx
lea ecx, [ebp - 0x568]
call fcn.00402cd0
mov edx, dword [ebp - 0x554]
mov eax, edx
mov ecx, dword [ebp - 0x558]
sub eax, ecx
cmp eax, 0xb
jb 0x40531a
cmp edx, 8
lea esi, [ebp - 0x568]
push 0x16
cmovae esi, dword [ebp - 0x568]
lea edi, [ecx + 0xb]
push str.__edat_dir:
mov dword [ebp - 0x558], edi
lea eax, [esi + ecx*2]
push eax
call fcn.00411680
add esp, 0xc
xor eax, eax
mov word [esi + edi*2], ax
jmp 0x40533b
push 0xb
push str.__edat_dir:
mov byte [ebp - 0x788], 0
lea ecx, [ebp - 0x568]
push dword [ebp - 0x788]
push 0xb
call fcn.00402cd0
lea ecx, [ebp - 0xc0]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405344
mov eax, dword [ebp - 0x554]
sub ecx, edx
mov edx, dword [ebp - 0x558]
sub eax, edx
sar ecx, 1
cmp ecx, eax
ja 0x4053a1
cmp dword [ebp - 0x554], 8
lea eax, [ecx + ecx]
push eax
lea esi, [ebp - 0x568]
cmovae esi, dword [ebp - 0x568]
lea eax, [ebp - 0xc0]
push eax
lea edi, [edx + ecx]
mov dword [ebp - 0x558], edi
lea eax, [esi + edx*2]
push eax
call fcn.00411680
add esp, 0xc
xor eax, eax
mov word [esi + edi*2], ax
jmp 0x4053c2
push ecx
lea eax, [ebp - 0xc0]
mov byte [ebp - 0x788], 0
push eax
push dword [ebp - 0x788]
push ecx
lea ecx, [ebp - 0x568]
call fcn.00402cd0
cmp word [ebp - 0x1c0], 0
je 0x4054c1
mov edx, dword [ebp - 0x554]
mov eax, edx
mov ecx, dword [ebp - 0x558]
sub eax, ecx
cmp eax, 0xe
jb 0x405419
cmp edx, 8
lea esi, [ebp - 0x568]
push 0x1c
cmovae esi, dword [ebp - 0x568]
lea edi, [ecx + 0xe]
push str.__sub_edition:
mov dword [ebp - 0x558], edi
lea eax, [esi + ecx*2]
push eax
call fcn.00411680
add esp, 0xc
xor eax, eax
mov word [esi + edi*2], ax
jmp 0x40543a
push 0xe
push str.__sub_edition:
mov byte [ebp - 0x788], 0
lea ecx, [ebp - 0x568]
push dword [ebp - 0x788]
push 0xe
call fcn.00402cd0
lea ecx, [ebp - 0x1c0]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405443
mov eax, dword [ebp - 0x554]
sub ecx, edx
mov edx, dword [ebp - 0x558]
sub eax, edx
sar ecx, 1
cmp ecx, eax
ja 0x4054a0
cmp dword [ebp - 0x554], 8
lea eax, [ecx + ecx]
push eax
lea esi, [ebp - 0x568]
cmovae esi, dword [ebp - 0x568]
lea eax, [ebp - 0x1c0]
push eax
lea edi, [edx + ecx]
mov dword [ebp - 0x558], edi
lea eax, [esi + edx*2]
push eax
call fcn.00411680
add esp, 0xc
xor eax, eax
mov word [esi + edi*2], ax
jmp 0x4054c1
push ecx
lea eax, [ebp - 0x1c0]
mov byte [ebp - 0x788], 0
push eax
push dword [ebp - 0x788]
push ecx
lea ecx, [ebp - 0x568]
call fcn.00402cd0
push 0x40
lea eax, [ebp - 0x6b8]
mov dword [ebp - 0x6bc], 0x44
push 0
push eax
call fcn.00411430
add esp, 0xc
lea ecx, [ebp - 0x724]
cmp dword [ebp - 0x554], 8
lea eax, [ebp - 0x568]
cmovae eax, dword [ebp - 0x568]
push ecx
lea ecx, [ebp - 0x6bc]
push ecx
lea ecx, [ebp - 0xc0]
push ecx
push 0
push 0x404
push 0
push 0
push 0
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0x40555b
push 0x23f
lea eax, [ebp - 0x6fc]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x6f8]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
lea ecx, [ebp - 0x568]
mov byte [ebp - 4], 7
call fcn.004030b0
jmp 0x405665
push dword [ebp - 0x71c]
call dword [sym.imp.USER32.dll_AllowSetForegroundWindow]
push dword [ebp - 0x720]
call dword [sym.imp.KERNEL32.dll_ResumeThread]
cmp eax, 0xffffffff
jne 0x4055b2
push 0x236
lea eax, [ebp - 0x6fc]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x6f8]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
lea ecx, [ebp - 0x568]
mov byte [ebp - 4], 7
call fcn.004030b0
jmp 0x405665
mov eax, dword [ebp - 0x70c]
test eax, eax
je 0x4055cc
push 0
push 0
push 0x8000
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
push 0xffffffffffffffff
push dword [ebp - 0x724]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea eax, [ebp - 0x5dc]
push eax
push dword [ebp - 0x724]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
je 0x405604
push dword [ebp - 0x5dc]
lea eax, [ebp - 0x6dc]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x554]
cmp edx, 8
jb 0x405648
mov ecx, dword [ebp - 0x568]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40563e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405c2e
push edx
push ecx
call fcn.0041008e
add esp, 8
xor eax, eax
mov dword [ebp - 0x558], 0
mov dword [ebp - 0x554], 7
mov word [ebp - 0x568], ax
mov edi, dword [ebp - 0x790]
lea eax, [ebp - 0x54c]
mov dword [ebp - 0x54c], 0
push eax
push 0
lea eax, [ebp - 0x6fc]
push eax
push 0x403110
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
je 0x40569f
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x54c], 0
je 0x4056af
lock inc dword [0x42d60c]
lea eax, [ebp - 0x54c]
mov dword [ebp - 0x54c], 0
push eax
push 0
lea eax, [ebp - 0x6fc]
push eax
push 0x403250
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
je 0x4056e3
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x54c], 0
je 0x4056f3
lock inc dword [0x42d60c]
cmp edi, 0xffffffff
je 0x4056ff
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x720]
test eax, eax
je 0x405710
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x724]
test eax, eax
je 0x405721
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.00406580
cmp eax, 0x6010000
jb case.0x405748.4
mov eax, dword [ebp - 0x6e0]
dec eax
cmp eax, 0x12
ja case.0x405748.4
movzx eax, byte [eax + 0x405c64]
jmp dword [eax*4 + 0x405c5c]
cmp dword [ebp - 0x6fc], 0
jne 0x40577c
mov eax, dword [ebp - 0x6dc]
test eax, eax
je case.0x405748.4
cmp eax, 0xa003
je case.0x405748.4
cmp eax, 0xa104
je case.0x405748.4
push 0x208
lea eax, [ebp - 0x3c8]
push 0
push eax
call fcn.00411430
add esp, 0xc
lea eax, [ebp - 0x3c8]
push eax
push 0
push 0
push 0
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jne case.0x405748.4
push 0x2f
call fcn.00401d10
push eax
call fcn.004111d5
add esp, 8
mov esi, eax
push 0x5c
call fcn.00401d10
push eax
call fcn.004111d5
mov edi, eax
lea eax, [ebp - 0x3c8]
push 0x426d10
cmp edi, esi
push 0x104
push eax
cmovb edi, esi
call fcn.004141b8
push edi
lea eax, [ebp - 0x3c8]
push 0x104
push eax
call fcn.004141b8
add esp, 0x20
push 0
call fcn.00401d10
push eax
lea eax, [ebp - 0x3c8]
push eax
call dword [sym.imp.KERNEL32.dll_CreateHardLinkW]
mov esi, dword [ebp - 0x79c]
test esi, esi
je 0x405829
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor esi, esi
nop dword [eax + eax]
cmp dword [0x42d60c], 0
je 0x40584a
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
inc esi
cmp esi, 0x4b0
jb 0x405830
cmp dword [ebp - 0x6dc], 0x103
mov esi, dword [ebp - 0x6fc]
cmovne esi, dword [ebp - 0x6dc]
mov edx, dword [ebp - 0x5c4]
cmp edx, 8
jb 0x4058a1
mov ecx, dword [ebp - 0x5d8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405897
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405c33
push edx
push ecx
call fcn.0041008e
add esp, 8
mov edx, dword [ebp - 0x644]
xor eax, eax
mov dword [ebp - 0x5c8], 0
mov dword [ebp - 0x5c4], 7
mov word [ebp - 0x5d8], ax
cmp edx, 8
jb 0x4058fe
mov ecx, dword [ebp - 0x658]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4058f4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405c38
push edx
push ecx
call fcn.0041008e
add esp, 8
mov edx, dword [ebp - 0x5ac]
xor eax, eax
mov dword [ebp - 0x648], 0
mov dword [ebp - 0x644], 7
mov word [ebp - 0x658], ax
cmp edx, 8
jb 0x40595b
mov ecx, dword [ebp - 0x5c0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405951
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405c3d
push edx
push ecx
call fcn.0041008e
add esp, 8
xor eax, eax
mov dword [ebp - 0x5b0], 0
mov word [ebp - 0x5c0], ax
mov eax, dword [ebp - 0x65c]
mov dword [ebp - 0x5ac], 7
cmp eax, 8
jb 0x4059b8
mov ecx, dword [ebp - 0x670]
lea edx, [eax*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4059ae
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405c42
push edx
push ecx
call fcn.0041008e
add esp, 8
mov edx, dword [ebp - 0x5e0]
cmp edx, 8
jb 0x4059f8
mov ecx, dword [ebp - 0x5f4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4059ee
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405c47
push edx
push ecx
call fcn.0041008e
add esp, 8
mov edx, dword [ebp - 0x614]
xor eax, eax
mov dword [ebp - 0x5e4], 0
mov dword [ebp - 0x5e0], 7
mov word [ebp - 0x5f4], ax
cmp edx, 8
jb 0x405a55
mov ecx, dword [ebp - 0x628]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405a4b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405c4c
push edx
push ecx
call fcn.0041008e
add esp, 8
mov edx, dword [ebp - 0x62c]
xor eax, eax
mov dword [ebp - 0x618], 0
mov dword [ebp - 0x614], 7
mov word [ebp - 0x628], ax
cmp edx, 8
jb 0x405ab2
mov ecx, dword [ebp - 0x640]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405aa8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405c51
push edx
push ecx
call fcn.0041008e
add esp, 8
mov edx, dword [ebp - 0x5fc]
xor eax, eax
mov dword [ebp - 0x630], 0
mov dword [ebp - 0x62c], 7
mov word [ebp - 0x640], ax
cmp edx, 8
jb 0x405b0f
mov ecx, dword [ebp - 0x610]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x405b05
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x405c56
push edx
push ecx
call fcn.0041008e
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0040fb5d
mov esp, ebp
pop ebp
ret 0x10
push str.Unable_to_determine_the_operating_system_version_
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x7dc]
call fcn.004064d0
push 0x42a688
lea eax, [ebp - 0x7dc]
push eax
call fcn.0041158a
push str.Unable_to_open_process_token_
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x7cc]
call fcn.004064d0
push 0x42a688
lea eax, [ebp - 0x7cc]
push eax
call fcn.0041158a
push str.Unable_to_retrieve_process_mandatory_label_
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x7bc]
call fcn.004064d0
push 0x42a688
lea eax, [ebp - 0x7bc]
push eax
call fcn.0041158a
push str.Unable_to_verify_mandatory_label_
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x7ac]
call fcn.004064d0
push 0x42a688
lea eax, [ebp - 0x7ac]
push eax
call fcn.0041158a
call fcn.004138b0
call fcn.004138b0
call fcn.00405f60
call fcn.004138b0
call fcn.004138b0
call fcn.004138b0
call fcn.004138b0
call fcn.004138b0
push str.Unable_to_determine_the_operating_system_version_
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x7ec]
call fcn.004064d0
push 0x42a688
lea eax, [ebp - 0x7ec]
push eax
call fcn.0041158a
call fcn.004138b0
call fcn.004138b0
call fcn.004138b0
call fcn.004138b0
call fcn.004138b0
call fcn.004138b0
call fcn.004138b0
call fcn.004138b0
call fcn.004138b0
call fcn.004138b0
call fcn.004138b0
call fcn.004138b0
nop
dec edi
push edi
inc eax
add byte [ecx], dl
pop eax
inc eax
add byte [eax], al
add byte [eax], al
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add byte [ecx], al
add dword [eax], eax
add byte [ecx], al
add dword [eax], eax
int3