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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x511c78
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x331c
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x34], 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 - 4], 0
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x24], 0
jmp 0x471397
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jge 0x4713c0
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4713b5
mov edx, dword [ebp - 0x20]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x47138e
mov dword [ebp - 4], 0xfffffffe
jmp 0x4713e0
mov dword [ebp - 0x28], 0
jmp 0x4713f2
mov edx, dword [ebp - 0x28]
add edx, 1
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x28], 0x19
jge 0x471403
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
jmp 0x4713e9
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x471415
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 0x47142d
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x47145e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x471453
jmp 0x47145e
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], edx
jmp 0x47142d
mov eax, dword [ebp - 0x1c]
add eax, 0x10
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x30], 0
jmp 0x471479
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 0x30], 7
jge 0x4714b7
cmp dword [ebp - 0x1c], 0
jge 0x47148d
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 0x4714a3
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x230]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x471470
mov dword [ebp - 0x234], 0
jmp 0x4714d2
mov eax, dword [ebp - 0x234]
add eax, 1
mov dword [ebp - 0x234], eax
cmp dword [ebp - 0x234], 7
jge 0x4714e9
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x234]
mov dword [ebp - 0x1c], ecx
jmp 0x4714c3
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4714fb
mov edx, dword [ebp - 0x1c]
imul edx, edx, 0xfffffffb
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x471513
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x238], 0
jmp 0x47152e
mov edx, dword [ebp - 0x238]
add edx, 1
mov dword [ebp - 0x238], edx
cmp dword [ebp - 0x238], 8
jge 0x47156f
cmp dword [ebp - 0x1c], 0
jge 0x471545
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 0x47155b
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x430]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x47151f
mov dword [ebp - 0x434], 0
jmp 0x47158a
mov eax, dword [ebp - 0x434]
add eax, 1
mov dword [ebp - 0x434], eax
cmp dword [ebp - 0x434], 0
jge 0x4715d7
cmp dword [ebp - 0x1c], 0
jge 0x4715a1
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 0x4715b7
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x438], 0xfa
lea edx, [ebp - 0x438]
push edx
lea eax, [ebp - 0x630]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x47157b
mov dword [ebp - 0x634], 0
jmp 0x4715f2
mov ecx, dword [ebp - 0x634]
add ecx, 1
mov dword [ebp - 0x634], ecx
cmp dword [ebp - 0x634], 7
jge 0x471633
cmp dword [ebp - 0x1c], 0
jge 0x471609
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 0x47161f
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x830]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4715e3
mov dword [ebp - 0x834], 0
jmp 0x47164e
mov eax, dword [ebp - 0x834]
add eax, 1
mov dword [ebp - 0x834], eax
cmp dword [ebp - 0x834], 2
jge 0x471665
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x834]
mov dword [ebp - 0x1c], ecx
jmp 0x47163f
cmp dword [ebp - 0x1c], 0
jge 0x471673
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 0x47168b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x838], 0
jmp 0x4716a6
mov edx, dword [ebp - 0x838]
add edx, 1
mov dword [ebp - 0x838], edx
cmp dword [ebp - 0x838], 8
jge 0x4716f3
cmp dword [ebp - 0x1c], 0
jge 0x4716bd
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 0x4716d3
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x83c], 0xfa
lea edx, [ebp - 0x83c]
push edx
lea eax, [ebp - 0xa38]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x471697
mov dword [ebp - 0xa3c], 0
jmp 0x47170e
mov ecx, dword [ebp - 0xa3c]
add ecx, 1
mov dword [ebp - 0xa3c], ecx
cmp dword [ebp - 0xa3c], 3
jge 0x471725
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xa3c]
mov dword [ebp - 0x1c], edx
jmp 0x4716ff
cmp dword [ebp - 0x1c], 0
jge 0x471733
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 0x47174b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa40], 0
jmp 0x471766
mov edx, dword [ebp - 0xa40]
add edx, 1
mov dword [ebp - 0xa40], edx
cmp dword [ebp - 0xa40], 6
jge 0x4717b3
mov eax, dword [ebp - 0xa40]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x471795
mov eax, dword [ebp - 0xa40]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4717a5
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa40]
mov dword [ebp - 0x1c], edx
jmp 0x4717b1
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa40]
mov dword [ebp - 0x1c], eax
jmp 0x471757
mov dword [ebp - 0xa44], 0
jmp 0x4717ce
mov ecx, dword [ebp - 0xa44]
add ecx, 1
mov dword [ebp - 0xa44], ecx
cmp dword [ebp - 0xa44], 2
jge 0x4717e5
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa44]
mov dword [ebp - 0x1c], edx
jmp 0x4717bf
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4717f7
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 0x47180f
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa48], 0
jmp 0x47182a
mov edx, dword [ebp - 0xa48]
add edx, 1
mov dword [ebp - 0xa48], edx
cmp dword [ebp - 0xa48], 2
jge 0x471877
mov eax, dword [ebp - 0xa48]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x471859
mov eax, dword [ebp - 0xa48]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x471869
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa48]
mov dword [ebp - 0x1c], edx
jmp 0x471875
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa48]
mov dword [ebp - 0x1c], eax
jmp 0x47181b
mov ecx, 1
test ecx, ecx
je 0x4718b1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa4c], eax
mov eax, dword [ebp - 0xa4c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4718a3
jmp 0x4718b1
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xa4c]
mov dword [ebp - 0x1c], edx
jmp 0x471877
mov eax, dword [ebp - 0x1c]
add eax, 7
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4718f4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa50], eax
mov eax, dword [ebp - 0xa50]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4718e6
jmp 0x4718f4
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xa50]
mov dword [ebp - 0x1c], edx
jmp 0x4718ba
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa54], 0
jmp 0x471918
mov ecx, dword [ebp - 0xa54]
add ecx, 1
mov dword [ebp - 0xa54], ecx
cmp dword [ebp - 0xa54], 4
jge 0x471965
mov eax, dword [ebp - 0xa54]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x471947
mov eax, dword [ebp - 0xa54]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x471957
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa54]
mov dword [ebp - 0x1c], edx
jmp 0x471963
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa54]
mov dword [ebp - 0x1c], eax
jmp 0x471909
mov dword [ebp - 0xa58], 0
jmp 0x471980
mov ecx, dword [ebp - 0xa58]
add ecx, 1
mov dword [ebp - 0xa58], ecx
cmp dword [ebp - 0xa58], 3
jge 0x471997
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xa58]
mov dword [ebp - 0x1c], edx
jmp 0x471971
cmp dword [ebp - 0x1c], 0
jge 0x4719a5
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 0x4719bd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa5c], 0
jmp 0x4719d8
mov edx, dword [ebp - 0xa5c]
add edx, 1
mov dword [ebp - 0xa5c], edx
cmp dword [ebp - 0xa5c], 3
jge 0x4719ef
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xa5c]
mov dword [ebp - 0x1c], eax
jmp 0x4719c9
cmp dword [ebp - 0x1c], 0
jge 0x4719fd
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 0x471a15
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa60], 0
jmp 0x471a30
mov edx, dword [ebp - 0xa60]
add edx, 1
mov dword [ebp - 0xa60], edx
cmp dword [ebp - 0xa60], 5
jge 0x471a71
cmp dword [ebp - 0x1c], 0
jge 0x471a47
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 0x471a5d
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc58]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x471a21
mov dword [ebp - 4], 1
mov dword [ebp - 0xc5c], 0xffffffff
mov dword [ebp - 0xc60], 0
jmp 0x471a9d
mov eax, dword [ebp - 0xc60]
add eax, 1
mov dword [ebp - 0xc60], eax
cmp dword [ebp - 0xc60], 2
jge 0x471acf
mov eax, dword [ebp - 0xc60]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x471ac4
mov edx, dword [ebp - 0xc5c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x471a8e
mov dword [ebp - 4], 0xfffffffe
jmp 0x471aef
mov dword [ebp - 0xc64], 0
jmp 0x471b0a
mov edx, dword [ebp - 0xc64]
add edx, 1
mov dword [ebp - 0xc64], edx
cmp dword [ebp - 0xc64], 8
jge 0x471b21
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xc64]
mov dword [ebp - 0x1c], eax
jmp 0x471afb
cmp dword [ebp - 0x1c], 0
jge 0x471b2f
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 0x471b47
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc68], 0
jmp 0x471b62
mov edx, dword [ebp - 0xc68]
add edx, 1
mov dword [ebp - 0xc68], edx
cmp dword [ebp - 0xc68], 8
jge 0x471ba3
cmp dword [ebp - 0x1c], 0
jge 0x471b79
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 0x471b8f
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xe60]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x471b53
mov dword [ebp - 0xe64], 0
jmp 0x471bbe
mov eax, dword [ebp - 0xe64]
add eax, 1
mov dword [ebp - 0xe64], eax
cmp dword [ebp - 0xe64], 3
jge 0x471c0b
mov eax, dword [ebp - 0xe64]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x471bed
mov eax, dword [ebp - 0xe64]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x471bfd
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe64]
mov dword [ebp - 0x1c], edx
jmp 0x471c09
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xe64]
mov dword [ebp - 0x1c], eax
jmp 0x471baf
mov dword [ebp - 0xe68], 0
jmp 0x471c26
mov ecx, dword [ebp - 0xe68]
add ecx, 1
mov dword [ebp - 0xe68], ecx
cmp dword [ebp - 0xe68], 2
jge 0x471c3d
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe68]
mov dword [ebp - 0x1c], edx
jmp 0x471c17
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x471c4f
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 0x471c67
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe6c], 0
jmp 0x471c82
mov edx, dword [ebp - 0xe6c]
add edx, 1
mov dword [ebp - 0xe6c], edx
cmp dword [ebp - 0xe6c], 0
jge 0x471ccf
cmp dword [ebp - 0x1c], 0
jge 0x471c99
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 0x471caf
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xe70], 0xfa
lea edx, [ebp - 0xe70]
push edx
lea eax, [ebp - 0x1068]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x471c73
mov ecx, 1
test ecx, ecx
je 0x471d09
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x106c], eax
mov eax, dword [ebp - 0x106c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x471cfb
jmp 0x471d09
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x106c]
mov dword [ebp - 0x1c], edx
jmp 0x471ccf
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0x1070], 0xffffffff
mov dword [ebp - 0x1074], 0
jmp 0x471d3e
mov ecx, dword [ebp - 0x1074]
add ecx, 1
mov dword [ebp - 0x1074], ecx
cmp dword [ebp - 0x1074], 2
jge 0x471d70
mov eax, dword [ebp - 0x1074]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x471d65
mov edx, dword [ebp - 0x1070]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x471d2f
mov dword [ebp - 4], 0xfffffffe
jmp 0x471d90
mov dword [ebp - 0x1078], 0
jmp 0x471dab
mov edx, dword [ebp - 0x1078]
add edx, 1
mov dword [ebp - 0x1078], edx
cmp dword [ebp - 0x1078], 7
jge 0x471dc2
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1078]
mov dword [ebp - 0x1c], eax
jmp 0x471d9c
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x471dd4
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 0x471dec
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 3
mov dword [ebp - 0x107c], 0xffffffff
mov dword [ebp - 0x1080], 0
jmp 0x471e18
mov edx, dword [ebp - 0x1080]
add edx, 1
mov dword [ebp - 0x1080], edx
cmp dword [ebp - 0x1080], 3
jge 0x471e4a
mov eax, dword [ebp - 0x1080]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x471e3f
mov edx, dword [ebp - 0x107c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x471e09
mov dword [ebp - 4], 0xfffffffe
jmp 0x471e6a
mov dword [ebp - 0x1084], 0
jmp 0x471e85
mov edx, dword [ebp - 0x1084]
add edx, 1
mov dword [ebp - 0x1084], edx
cmp dword [ebp - 0x1084], 0
jge 0x471ed2
mov eax, dword [ebp - 0x1084]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x471eb4
mov eax, dword [ebp - 0x1084]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x471ec4
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1084]
mov dword [ebp - 0x1c], edx
jmp 0x471ed0
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1084]
mov dword [ebp - 0x1c], eax
jmp 0x471e76
mov dword [ebp - 0x1088], 0
jmp 0x471eed
mov ecx, dword [ebp - 0x1088]
add ecx, 1
mov dword [ebp - 0x1088], ecx
cmp dword [ebp - 0x1088], 0
jge 0x471f04
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1088]
mov dword [ebp - 0x1c], edx
jmp 0x471ede
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x471f16
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 0x471f2e
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x108c], 0
jmp 0x471f49
mov edx, dword [ebp - 0x108c]
add edx, 1
mov dword [ebp - 0x108c], edx
cmp dword [ebp - 0x108c], 4
jge 0x471f96
cmp dword [ebp - 0x1c], 0
jge 0x471f60
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 0x471f76
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1090], 0xfa
lea edx, [ebp - 0x1090]
push edx
lea eax, [ebp - 0x1288]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x471f3a
mov dword [ebp - 0x128c], 0
jmp 0x471fb1
mov ecx, dword [ebp - 0x128c]
add ecx, 1
mov dword [ebp - 0x128c], ecx
cmp dword [ebp - 0x128c], 1
jge 0x471fc8
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x128c]
mov dword [ebp - 0x1c], edx
jmp 0x471fa2
cmp dword [ebp - 0x1c], 0
jge 0x471fd6
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 0x471fee
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1290], 0
jmp 0x472009
mov edx, dword [ebp - 0x1290]
add edx, 1
mov dword [ebp - 0x1290], edx
cmp dword [ebp - 0x1290], 4
jge 0x472020
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1290]
mov dword [ebp - 0x1c], eax
jmp 0x471ffa
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x472032
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 0x47204a
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1294], 0
jmp 0x472065
mov edx, dword [ebp - 0x1294]
add edx, 1
mov dword [ebp - 0x1294], edx
cmp dword [ebp - 0x1294], 2
jge 0x47207c
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1294]
mov dword [ebp - 0x1c], eax
jmp 0x472056
cmp dword [ebp - 0x1c], 0
jge 0x47208a
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 0x4720a2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1298], 0
jmp 0x4720bd
mov edx, dword [ebp - 0x1298]
add edx, 1
mov dword [ebp - 0x1298], edx
cmp dword [ebp - 0x1298], 4
jge 0x4720d4
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1298]
mov dword [ebp - 0x1c], eax
jmp 0x4720ae
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4720e6
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 0x4720fe
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x129c], 0
jmp 0x472119
mov edx, dword [ebp - 0x129c]
add edx, 1
mov dword [ebp - 0x129c], edx
cmp dword [ebp - 0x129c], 1
jge 0x472166
cmp dword [ebp - 0x1c], 0
jge 0x472130
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 0x472146
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x12a0], 0xfa
lea edx, [ebp - 0x12a0]
push edx
lea eax, [ebp - 0x1498]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x47210a
mov dword [ebp - 0x149c], 0
jmp 0x472181
mov ecx, dword [ebp - 0x149c]
add ecx, 1
mov dword [ebp - 0x149c], ecx
cmp dword [ebp - 0x149c], 3
jge 0x472198
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x149c]
mov dword [ebp - 0x1c], edx
jmp 0x472172
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4721aa
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 0x4721c2
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14a0], 0
jmp 0x4721dd
mov edx, dword [ebp - 0x14a0]
add edx, 1
mov dword [ebp - 0x14a0], edx
cmp dword [ebp - 0x14a0], 3
jge 0x4721f4
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x14a0]
mov dword [ebp - 0x1c], eax
jmp 0x4721ce
cmp dword [ebp - 0x1c], 0
jge 0x472202
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 0x47221a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14a4], 0
jmp 0x472235
mov edx, dword [ebp - 0x14a4]
add edx, 1
mov dword [ebp - 0x14a4], edx
cmp dword [ebp - 0x14a4], 4
jge 0x472282
cmp dword [ebp - 0x1c], 0
jge 0x47224c
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 0x472262
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14a8], 0xfa
lea edx, [ebp - 0x14a8]
push edx
lea eax, [ebp - 0x16a0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x472226
mov ecx, 1
test ecx, ecx
je 0x4722bc
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 0x4722ae
jmp 0x4722bc
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x16a4]
mov dword [ebp - 0x1c], edx
jmp 0x472282
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 4
mov dword [ebp - 0x16a8], 0xffffffff
mov dword [ebp - 0x16ac], 0
jmp 0x4722f1
mov ecx, dword [ebp - 0x16ac]
add ecx, 1
mov dword [ebp - 0x16ac], ecx
cmp dword [ebp - 0x16ac], 0
jge 0x472323
mov eax, dword [ebp - 0x16ac]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x472318
mov edx, dword [ebp - 0x16a8]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4722e2
mov dword [ebp - 4], 0xfffffffe
jmp 0x472343
mov dword [ebp - 0x16b0], 0
jmp 0x47235e
mov edx, dword [ebp - 0x16b0]
add edx, 1
mov dword [ebp - 0x16b0], edx
cmp dword [ebp - 0x16b0], 2
jge 0x4723ab
cmp dword [ebp - 0x1c], 0
jge 0x472375
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 0x47238b
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x16b4], 0xfa
lea edx, [ebp - 0x16b4]
push edx
lea eax, [ebp - 0x18b0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x47234f
mov dword [ebp - 0x18b4], 0
jmp 0x4723c6
mov ecx, dword [ebp - 0x18b4]
add ecx, 1
mov dword [ebp - 0x18b4], ecx
cmp dword [ebp - 0x18b4], 4
jge 0x472407
cmp dword [ebp - 0x1c], 0
jge 0x4723dd
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 0x4723f3
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1ab0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4723b7
mov eax, 1
test eax, eax
je 0x472441
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1ab4], eax
mov eax, dword [ebp - 0x1ab4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x472433
jmp 0x472441
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1ab4]
mov dword [ebp - 0x1c], edx
jmp 0x472407
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ab8], 0
jmp 0x472465
cmp dword [ebp - 0x1ab8], 4
jge 0x4724b2
cmp dword [ebp - 0x1c], 0
jge 0x47247c
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 0x472492
mov dword [ebp - 0x1cbc], 0
jmp 0x4724cd
cmp dword [ebp - 0x1cbc], 1
jge 0x4724e4