Function at 0x462270
Capabilities:
Check os version
Get common file path
Get session user name

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x511738
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x4570
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x48], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
jmp 0x4622c9
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x2d
jge 0x4622da
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
jmp 0x4622c0
cmp dword [ebp - 0x1c], 0
jge 0x4622e8
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x462300
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x28], 0
jmp 0x462320
mov edx, dword [ebp - 0x28]
add edx, 1
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x28], 0xd
jge 0x462349
mov eax, dword [ebp - 0x28]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x46233e
mov edx, dword [ebp - 0x24]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x462317
mov dword [ebp - 4], 0xfffffffe
jmp 0x462369
mov dword [ebp - 0x2c], 0
jmp 0x46237b
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 0x11
jge 0x46238c
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
jmp 0x462372
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x46239e
mov ecx, dword [ebp - 0x1c]
imul ecx, ecx, 0xfffffffb
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x4623b6
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x30], 0
jmp 0x4623c8
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x30], 9
jge 0x4623d9
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x30]
mov dword [ebp - 0x1c], eax
jmp 0x4623bf
cmp dword [ebp - 0x1c], 0
jge 0x4623e7
mov ecx, dword [ebp - 0x1c]
neg ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4623ff
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x34], 0
jmp 0x462411
mov edx, dword [ebp - 0x34]
add edx, 1
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x34], 5
jge 0x462422
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x34]
mov dword [ebp - 0x1c], eax
jmp 0x462408
cmp dword [ebp - 0x1c], 0
jge 0x462430
mov ecx, dword [ebp - 0x1c]
neg ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x462448
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x462479
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x46246e
jmp 0x462479
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x38]
mov dword [ebp - 0x1c], edx
jmp 0x462448
mov eax, dword [ebp - 0x1c]
add eax, 0x12
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x3c], 0
jmp 0x462494
mov ecx, dword [ebp - 0x3c]
add ecx, 1
mov dword [ebp - 0x3c], ecx
cmp dword [ebp - 0x3c], 0x13
jge 0x4624d2
mov eax, dword [ebp - 0x3c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4624ba
mov eax, dword [ebp - 0x3c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4624c7
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], edx
jmp 0x4624d0
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], eax
jmp 0x46248b
mov dword [ebp - 0x40], 0
jmp 0x4624e4
mov ecx, dword [ebp - 0x40]
add ecx, 1
mov dword [ebp - 0x40], ecx
cmp dword [ebp - 0x40], 0x1d
jge 0x462528
cmp dword [ebp - 0x1c], 0
jge 0x4624f8
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x46250e
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x44], 0xfa
lea edx, [ebp - 0x44]
push edx
lea eax, [ebp - 0x240]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4624db
mov dword [ebp - 0x244], 0
jmp 0x462543
mov ecx, dword [ebp - 0x244]
add ecx, 1
mov dword [ebp - 0x244], ecx
cmp dword [ebp - 0x244], 0xf
jge 0x462590
cmp dword [ebp - 0x1c], 0
jge 0x46255a
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x462570
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x248], 0xfa
lea edx, [ebp - 0x248]
push edx
lea eax, [ebp - 0x440]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x462534
mov dword [ebp - 0x444], 0
jmp 0x4625ab
mov ecx, dword [ebp - 0x444]
add ecx, 1
mov dword [ebp - 0x444], ecx
cmp dword [ebp - 0x444], 4
jge 0x4625c2
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x444]
mov dword [ebp - 0x1c], edx
jmp 0x46259c
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4625d4
mov eax, dword [ebp - 0x1c]
imul eax, eax, 0xfffffffb
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x4625ec
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x448], 0xffffffff
mov dword [ebp - 0x44c], 0
jmp 0x462618
mov edx, dword [ebp - 0x44c]
add edx, 1
mov dword [ebp - 0x44c], edx
cmp dword [ebp - 0x44c], 3
jge 0x46264a
mov eax, dword [ebp - 0x44c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x46263f
mov edx, dword [ebp - 0x448]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x462609
mov dword [ebp - 4], 0xfffffffe
jmp 0x46266a
mov dword [ebp - 0x450], 0
jmp 0x462685
mov edx, dword [ebp - 0x450]
add edx, 1
mov dword [ebp - 0x450], edx
cmp dword [ebp - 0x450], 0xc
jge 0x4626d2
cmp dword [ebp - 0x1c], 0
jge 0x46269c
mov eax, dword [ebp - 0x1c]
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4626b2
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x454], 0xfa
lea edx, [ebp - 0x454]
push edx
lea eax, [ebp - 0x650]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x462676
mov dword [ebp - 0x654], 0
jmp 0x4626ed
mov ecx, dword [ebp - 0x654]
add ecx, 1
mov dword [ebp - 0x654], ecx
cmp dword [ebp - 0x654], 0xd
jge 0x46273a
mov eax, dword [ebp - 0x654]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x46271c
mov eax, dword [ebp - 0x654]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x46272c
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x654]
mov dword [ebp - 0x1c], edx
jmp 0x462738
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x654]
mov dword [ebp - 0x1c], eax
jmp 0x4626de
mov dword [ebp - 4], 2
mov dword [ebp - 0x658], 0xffffffff
mov dword [ebp - 0x65c], 0
jmp 0x462766
mov ecx, dword [ebp - 0x65c]
add ecx, 1
mov dword [ebp - 0x65c], ecx
cmp dword [ebp - 0x65c], 5
jge 0x462798
mov eax, dword [ebp - 0x65c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x46278d
mov edx, dword [ebp - 0x658]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x462757
mov dword [ebp - 4], 0xfffffffe
jmp 0x4627b8
mov dword [ebp - 4], 3
mov dword [ebp - 0x660], 0xffffffff
mov dword [ebp - 0x664], 0
jmp 0x4627e4
mov edx, dword [ebp - 0x664]
add edx, 1
mov dword [ebp - 0x664], edx
cmp dword [ebp - 0x664], 0x10
jge 0x462816
mov eax, dword [ebp - 0x664]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x46280b
mov edx, dword [ebp - 0x660]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4627d5
mov dword [ebp - 4], 0xfffffffe
jmp 0x462836
mov dword [ebp - 0x668], 0
jmp 0x462851
mov edx, dword [ebp - 0x668]
add edx, 1
mov dword [ebp - 0x668], edx
cmp dword [ebp - 0x668], 8
jge 0x46289e
mov eax, dword [ebp - 0x668]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x462880
mov eax, dword [ebp - 0x668]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x462890
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x668]
mov dword [ebp - 0x1c], edx
jmp 0x46289c
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x668]
mov dword [ebp - 0x1c], eax
jmp 0x462842
mov dword [ebp - 0x66c], 0
jmp 0x4628b9
mov ecx, dword [ebp - 0x66c]
add ecx, 1
mov dword [ebp - 0x66c], ecx
cmp dword [ebp - 0x66c], 8
jge 0x462906
cmp dword [ebp - 0x1c], 0
jge 0x4628d0
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4628e6
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x670], 0xfa
lea edx, [ebp - 0x670]
push edx
lea eax, [ebp - 0x868]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4628aa
mov dword [ebp - 0x86c], 0
jmp 0x462921
mov ecx, dword [ebp - 0x86c]
add ecx, 1
mov dword [ebp - 0x86c], ecx
cmp dword [ebp - 0x86c], 8
jge 0x462962
cmp dword [ebp - 0x1c], 0
jge 0x462938
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x46294e
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa68]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x462912
mov dword [ebp - 0xa6c], 0
jmp 0x46297d
mov eax, dword [ebp - 0xa6c]
add eax, 1
mov dword [ebp - 0xa6c], eax
cmp dword [ebp - 0xa6c], 0
jge 0x4629ca
cmp dword [ebp - 0x1c], 0
jge 0x462994
mov ecx, dword [ebp - 0x1c]
neg ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4629aa
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa70], 0xfa
lea edx, [ebp - 0xa70]
push edx
lea eax, [ebp - 0xc68]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x46296e
mov dword [ebp - 0xc6c], 0
jmp 0x4629e5
mov ecx, dword [ebp - 0xc6c]
add ecx, 1
mov dword [ebp - 0xc6c], ecx
cmp dword [ebp - 0xc6c], 2
jge 0x462a32
cmp dword [ebp - 0x1c], 0
jge 0x4629fc
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x462a12
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc70], 0xfa
lea edx, [ebp - 0xc70]
push edx
lea eax, [ebp - 0xe68]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4629d6
mov dword [ebp - 0xe6c], 0
jmp 0x462a4d
mov ecx, dword [ebp - 0xe6c]
add ecx, 1
mov dword [ebp - 0xe6c], ecx
cmp dword [ebp - 0xe6c], 5
jge 0x462a9a
mov eax, dword [ebp - 0xe6c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x462a7c
mov eax, dword [ebp - 0xe6c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x462a8c
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe6c]
mov dword [ebp - 0x1c], edx
jmp 0x462a98
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xe6c]
mov dword [ebp - 0x1c], eax
jmp 0x462a3e
mov ecx, 1
test ecx, ecx
je 0x462ad4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xe70], eax
mov eax, dword [ebp - 0xe70]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x462ac6
jmp 0x462ad4
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xe70]
mov dword [ebp - 0x1c], edx
jmp 0x462a9a
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe74], 0
jmp 0x462af5
mov ecx, dword [ebp - 0xe74]
add ecx, 1
mov dword [ebp - 0xe74], ecx
cmp dword [ebp - 0xe74], 3
jge 0x462b36
cmp dword [ebp - 0x1c], 0
jge 0x462b0c
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x462b22
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1070]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x462ae6
mov dword [ebp - 0x1074], 0
jmp 0x462b51
mov eax, dword [ebp - 0x1074]
add eax, 1
mov dword [ebp - 0x1074], eax
cmp dword [ebp - 0x1074], 0
jge 0x462b9e
mov eax, dword [ebp - 0x1074]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x462b80
mov eax, dword [ebp - 0x1074]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x462b90
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1074]
mov dword [ebp - 0x1c], edx
jmp 0x462b9c
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1074]
mov dword [ebp - 0x1c], eax
jmp 0x462b42
mov dword [ebp - 4], 4
mov dword [ebp - 0x1078], 0xffffffff
mov dword [ebp - 0x107c], 0
jmp 0x462bca
mov ecx, dword [ebp - 0x107c]
add ecx, 1
mov dword [ebp - 0x107c], ecx
cmp dword [ebp - 0x107c], 2
jge 0x462bfc
mov eax, dword [ebp - 0x107c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x462bf1
mov edx, dword [ebp - 0x1078]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x462bbb
mov dword [ebp - 4], 0xfffffffe
jmp 0x462c1c
mov dword [ebp - 0x1080], 0
jmp 0x462c37
mov edx, dword [ebp - 0x1080]
add edx, 1
mov dword [ebp - 0x1080], edx
cmp dword [ebp - 0x1080], 4
jge 0x462c84
cmp dword [ebp - 0x1c], 0
jge 0x462c4e
mov eax, dword [ebp - 0x1c]
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x462c64
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1084], 0xfa
lea edx, [ebp - 0x1084]
push edx
lea eax, [ebp - 0x1280]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x462c28
mov dword [ebp - 0x1284], 0
jmp 0x462c9f
mov ecx, dword [ebp - 0x1284]
add ecx, 1
mov dword [ebp - 0x1284], ecx
cmp dword [ebp - 0x1284], 7
jge 0x462cb6
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1284]
mov dword [ebp - 0x1c], edx
jmp 0x462c90
cmp dword [ebp - 0x1c], 0
jge 0x462cc4
mov eax, dword [ebp - 0x1c]
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x462cdc
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1288], 0
jmp 0x462cf7
mov edx, dword [ebp - 0x1288]
add edx, 1
mov dword [ebp - 0x1288], edx
cmp dword [ebp - 0x1288], 0
jge 0x462d38
cmp dword [ebp - 0x1c], 0
jge 0x462d0e
mov eax, dword [ebp - 0x1c]
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x462d24
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1480]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x462ce8
mov dword [ebp - 4], 5
mov dword [ebp - 0x1484], 0xffffffff
mov dword [ebp - 0x1488], 0
jmp 0x462d64
mov eax, dword [ebp - 0x1488]
add eax, 1
mov dword [ebp - 0x1488], eax
cmp dword [ebp - 0x1488], 2
jge 0x462d96
mov eax, dword [ebp - 0x1488]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x462d8b
mov edx, dword [ebp - 0x1484]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x462d55
mov dword [ebp - 4], 0xfffffffe
jmp 0x462db6
mov dword [ebp - 0x148c], 0
jmp 0x462dd1
mov edx, dword [ebp - 0x148c]
add edx, 1
mov dword [ebp - 0x148c], edx
cmp dword [ebp - 0x148c], 6
jge 0x462de8
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x148c]
mov dword [ebp - 0x1c], eax
jmp 0x462dc2
cmp dword [ebp - 0x1c], 0
jge 0x462df6
mov ecx, dword [ebp - 0x1c]
neg ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x462e0e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 6
mov dword [ebp - 0x1490], 0xffffffff
mov dword [ebp - 0x1494], 0
jmp 0x462e3a
mov edx, dword [ebp - 0x1494]
add edx, 1
mov dword [ebp - 0x1494], edx
cmp dword [ebp - 0x1494], 1
jge 0x462e6c
mov eax, dword [ebp - 0x1494]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x462e61
mov edx, dword [ebp - 0x1490]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x462e2b
mov dword [ebp - 4], 0xfffffffe
jmp 0x462e8c
mov dword [ebp - 4], 7
mov dword [ebp - 0x1498], 0xffffffff
mov dword [ebp - 0x149c], 0
jmp 0x462eb8
mov edx, dword [ebp - 0x149c]
add edx, 1
mov dword [ebp - 0x149c], edx
cmp dword [ebp - 0x149c], 8
jge 0x462eea
mov eax, dword [ebp - 0x149c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x462edf
mov edx, dword [ebp - 0x1498]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x462ea9
mov dword [ebp - 4], 0xfffffffe
jmp 0x462f0a
mov dword [ebp - 0x14a0], 0
jmp 0x462f25
mov edx, dword [ebp - 0x14a0]
add edx, 1
mov dword [ebp - 0x14a0], edx
cmp dword [ebp - 0x14a0], 5
jge 0x462f3c
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x14a0]
mov dword [ebp - 0x1c], eax
jmp 0x462f16
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x462f4e
mov ecx, dword [ebp - 0x1c]
imul ecx, ecx, 0xfffffffb
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x462f66
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14a4], 0
jmp 0x462f81
mov edx, dword [ebp - 0x14a4]
add edx, 1
mov dword [ebp - 0x14a4], edx
cmp dword [ebp - 0x14a4], 3
jge 0x462fc2
cmp dword [ebp - 0x1c], 0
jge 0x462f98
mov eax, dword [ebp - 0x1c]
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x462fae
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x16a0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x462f72
mov eax, 1
test eax, eax
je 0x462ffc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x16a4], eax
mov eax, dword [ebp - 0x16a4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x462fee
jmp 0x462ffc
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x16a4]
mov dword [ebp - 0x1c], edx
jmp 0x462fc2
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16a8], 0
jmp 0x463020
mov ecx, dword [ebp - 0x16a8]
add ecx, 1
mov dword [ebp - 0x16a8], ecx
cmp dword [ebp - 0x16a8], 2
jge 0x463037
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x16a8]
mov dword [ebp - 0x1c], edx
jmp 0x463011
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x463049
mov eax, dword [ebp - 0x1c]
imul eax, eax, 0xfffffffb
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x463061
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 8
mov dword [ebp - 0x16ac], 0xffffffff
mov dword [ebp - 0x16b0], 0
jmp 0x46308d
mov edx, dword [ebp - 0x16b0]
add edx, 1
mov dword [ebp - 0x16b0], edx
cmp dword [ebp - 0x16b0], 0
jge 0x4630bf
mov eax, dword [ebp - 0x16b0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4630b4
mov edx, dword [ebp - 0x16ac]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x46307e
mov dword [ebp - 4], 0xfffffffe
jmp 0x4630df
mov edx, 1
test edx, edx
je 0x463119
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x16b4], eax
mov eax, dword [ebp - 0x16b4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x46310b
jmp 0x463119
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x16b4]
mov dword [ebp - 0x1c], edx
jmp 0x4630df
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16b8], 0
jmp 0x46313d
mov ecx, dword [ebp - 0x16b8]
add ecx, 1
mov dword [ebp - 0x16b8], ecx
cmp dword [ebp - 0x16b8], 8
jge 0x46318a
cmp dword [ebp - 0x1c], 0
jge 0x463154
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x46316a
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x16bc], 0xfa
lea edx, [ebp - 0x16bc]
push edx
lea eax, [ebp - 0x18b8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x46312e
mov dword [ebp - 0x18bc], 0
jmp 0x4631a5
mov ecx, dword [ebp - 0x18bc]
add ecx, 1
mov dword [ebp - 0x18bc], ecx
cmp dword [ebp - 0x18bc], 8
jge 0x4631f2
cmp dword [ebp - 0x1c], 0
jge 0x4631bc
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4631d2
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18c0], 0xfa
lea edx, [ebp - 0x18c0]
push edx
lea eax, [ebp - 0x1ab8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x463196
mov ecx, 1
test ecx, ecx
je 0x46322c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1abc], eax
mov eax, dword [ebp - 0x1abc]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x46321e
jmp 0x46322c
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1abc]
mov dword [ebp - 0x1c], edx
jmp 0x4631f2
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ac0], 0
jmp 0x463250
mov ecx, dword [ebp - 0x1ac0]
add ecx, 1
mov dword [ebp - 0x1ac0], ecx
cmp dword [ebp - 0x1ac0], 2
jge 0x46329d
cmp dword [ebp - 0x1c], 0
jge 0x463267
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x46327d
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1ac4], 0xfa
lea edx, [ebp - 0x1ac4]
push edx
lea eax, [ebp - 0x1cc0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x463241
mov dword [ebp - 0x1cc4], 0
jmp 0x4632b8
mov ecx, dword [ebp - 0x1cc4]
add ecx, 1
mov dword [ebp - 0x1cc4], ecx
cmp dword [ebp - 0x1cc4], 0
jge 0x463305
cmp dword [ebp - 0x1c], 0
jge 0x4632cf
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4632e5
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1cc8], 0xfa
lea edx, [ebp - 0x1cc8]
push edx
lea eax, [ebp - 0x1ec0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4632a9
mov dword [ebp - 0x1ec4], 0
jmp 0x463320
mov ecx, dword [ebp - 0x1ec4]
add ecx, 1
mov dword [ebp - 0x1ec4], ecx
cmp dword [ebp - 0x1ec4], 1
jge 0x46336d
mov eax, dword [ebp - 0x1ec4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x46334f
mov eax, dword [ebp - 0x1ec4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x46335f
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1ec4]
mov dword [ebp - 0x1c], edx
jmp 0x46336b
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1ec4]
mov dword [ebp - 0x1c], eax
jmp 0x463311
mov dword [ebp - 0x1ec8], 0
jmp 0x463388
mov ecx, dword [ebp - 0x1ec8]
add ecx, 1
mov dword [ebp - 0x1ec8], ecx
cmp dword [ebp - 0x1ec8], 2
jge 0x46339f
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1ec8]
mov dword [ebp - 0x1c], edx
jmp 0x463379
cmp dword [ebp - 0x1c], 0
jge 0x4633ad
mov eax, dword [ebp - 0x1c]
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4633c5
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4633ff
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1ecc], eax
mov eax, dword [ebp - 0x1ecc]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4633f1
jmp 0x4633ff
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1ecc]
mov dword [ebp - 0x1c], edx
jmp 0x4633c5
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ed0], 0
jmp 0x463423
mov ecx, dword [ebp - 0x1ed0]
add ecx, 1
mov dword [ebp - 0x1ed0], ecx
cmp dword [ebp - 0x1ed0], 0
jge 0x463470
mov eax, dword [ebp - 0x1ed0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x463452
mov eax, dword [ebp - 0x1ed0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x463462
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1ed0]
mov dword [ebp - 0x1c], edx
jmp 0x46346e
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1ed0]
mov dword [ebp - 0x1c], eax
jmp 0x463414
mov ecx, 1
test ecx, ecx
je 0x4634aa
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1ed4], eax
mov eax, dword [ebp - 0x1ed4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x46349c
jmp 0x4634aa
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1ed4]
mov dword [ebp - 0x1c], edx
jmp 0x463470
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ed8], 0
jmp 0x4634ce
mov ecx, dword [ebp - 0x1ed8]
add ecx, 1
mov dword [ebp - 0x1ed8], ecx
cmp dword [ebp - 0x1ed8], 0
jge 0x46350f
cmp dword [ebp - 0x1c], 0
jge 0x4634e5
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x4634fb
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x20d0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4634bf
mov dword [ebp - 0x20d4], 0
jmp 0x46352a
mov eax, dword [ebp - 0x20d4]
add eax, 1
mov dword [ebp - 0x20d4], eax
cmp dword [ebp - 0x20d4], 3
jge 0x463577
cmp dword [ebp - 0x1c], 0
jge 0x463541
mov ecx, dword [ebp - 0x1c]
neg ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x463557
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20d8], 0xfa
lea edx, [ebp - 0x20d8]
push edx
lea eax, [ebp - 0x22d0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x46351b
mov dword [ebp - 0x22d4], 0
jmp 0x463592
mov ecx, dword [ebp - 0x22d4]
add ecx, 1
mov dword [ebp - 0x22d4], ecx
cmp dword [ebp - 0x22d4], 0
jge 0x4635a9
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x22d4]
mov dword [ebp - 0x1c], edx
jmp 0x463583
cmp dword [ebp - 0x1c], 0
jge 0x4635b7
mov eax, dword [ebp - 0x1c]
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4635cf
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x22d8], 0
jmp 0x4635ea
cmp dword [ebp - 0x22d8], 3
jge 0x463601
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x22d8]
mov dword [ebp - 0x1c], eax
jmp 0x4635db
cmp dword [ebp - 0x1c], 0
jge 0x46360f