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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x511e60
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x12c4
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x58], 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 eax, 1
test eax, eax
je 0x477b98
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x477b8d
jmp 0x477b98
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x477b67
mov eax, dword [ebp - 0x1c]
add eax, 0x34
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x28], 0
jmp 0x477bc1
mov ecx, dword [ebp - 0x28]
add ecx, 1
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], 0x36
jge 0x477bea
mov eax, dword [ebp - 0x28]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x477bdf
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 0x477bb8
mov dword [ebp - 4], 0xfffffffe
jmp 0x477c0a
mov edx, 1
test edx, edx
je 0x477c3b
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 0x477c30
jmp 0x477c3b
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], edx
jmp 0x477c0a
mov eax, dword [ebp - 0x1c]
add eax, 0xe
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x30], 0
jmp 0x477c56
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 0x30], 0x10
jge 0x477c94
mov eax, dword [ebp - 0x30]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x477c7c
mov eax, dword [ebp - 0x30]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x477c89
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x30]
mov dword [ebp - 0x1c], edx
jmp 0x477c92
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x30]
mov dword [ebp - 0x1c], eax
jmp 0x477c4d
mov ecx, 1
test ecx, ecx
je 0x477cc5
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x477cba
jmp 0x477cc5
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x34]
mov dword [ebp - 0x1c], edx
jmp 0x477c94
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x477cff
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 0x477cf4
jmp 0x477cff
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x38]
mov dword [ebp - 0x1c], edx
jmp 0x477cce
mov eax, dword [ebp - 0x1c]
add eax, 0xa
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x40], 0
jmp 0x477d28
mov ecx, dword [ebp - 0x40]
add ecx, 1
mov dword [ebp - 0x40], ecx
cmp dword [ebp - 0x40], 6
jge 0x477d51
mov eax, dword [ebp - 0x40]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x477d46
mov edx, dword [ebp - 0x3c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x477d1f
mov dword [ebp - 4], 0xfffffffe
jmp 0x477d71
mov dword [ebp - 0x44], 0
jmp 0x477d83
mov edx, dword [ebp - 0x44]
add edx, 1
mov dword [ebp - 0x44], edx
cmp dword [ebp - 0x44], 8
jge 0x477d94
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x44]
mov dword [ebp - 0x1c], eax
jmp 0x477d7a
cmp dword [ebp - 0x1c], 0
jge 0x477da2
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 0x477dba
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x48], 0
jmp 0x477dcc
mov edx, dword [ebp - 0x48]
add edx, 1
mov dword [ebp - 0x48], edx
cmp dword [ebp - 0x48], 0xc
jge 0x477ddd
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x48]
mov dword [ebp - 0x1c], eax
jmp 0x477dc3
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x477def
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 0x477e07
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x4c], 0
jmp 0x477e19
mov edx, dword [ebp - 0x4c]
add edx, 1
mov dword [ebp - 0x4c], edx
cmp dword [ebp - 0x4c], 0
jge 0x477e57
mov eax, dword [ebp - 0x4c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x477e3f
mov eax, dword [ebp - 0x4c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x477e4c
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x4c]
mov dword [ebp - 0x1c], edx
jmp 0x477e55
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x4c]
mov dword [ebp - 0x1c], eax
jmp 0x477e10
mov dword [ebp - 0x50], 0
jmp 0x477e69
mov ecx, dword [ebp - 0x50]
add ecx, 1
mov dword [ebp - 0x50], ecx
cmp dword [ebp - 0x50], 5
jge 0x477ead
cmp dword [ebp - 0x1c], 0
jge 0x477e7d
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 0x477e93
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x54], 0xfa
lea edx, [ebp - 0x54]
push edx
lea eax, [ebp - 0x250]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x477e60
mov dword [ebp - 0x254], 0
jmp 0x477ec8
mov ecx, dword [ebp - 0x254]
add ecx, 1
mov dword [ebp - 0x254], ecx
cmp dword [ebp - 0x254], 0
jge 0x477f15
mov eax, dword [ebp - 0x254]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x477ef7
mov eax, dword [ebp - 0x254]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x477f07
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x254]
mov dword [ebp - 0x1c], edx
jmp 0x477f13
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x254]
mov dword [ebp - 0x1c], eax
jmp 0x477eb9
mov dword [ebp - 0x258], 0
jmp 0x477f30
mov ecx, dword [ebp - 0x258]
add ecx, 1
mov dword [ebp - 0x258], ecx
cmp dword [ebp - 0x258], 2
jge 0x477f7d
mov eax, dword [ebp - 0x258]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x477f5f
mov eax, dword [ebp - 0x258]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x477f6f
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x258]
mov dword [ebp - 0x1c], edx
jmp 0x477f7b
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x258]
mov dword [ebp - 0x1c], eax
jmp 0x477f21
mov dword [ebp - 0x25c], 0
jmp 0x477f98
mov ecx, dword [ebp - 0x25c]
add ecx, 1
mov dword [ebp - 0x25c], ecx
cmp dword [ebp - 0x25c], 4
jge 0x477fe5
mov eax, dword [ebp - 0x25c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x477fc7
mov eax, dword [ebp - 0x25c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x477fd7
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x25c]
mov dword [ebp - 0x1c], edx
jmp 0x477fe3
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x25c]
mov dword [ebp - 0x1c], eax
jmp 0x477f89
mov dword [ebp - 4], 2
mov dword [ebp - 0x260], 0xffffffff
mov dword [ebp - 0x264], 0
jmp 0x478011
mov ecx, dword [ebp - 0x264]
add ecx, 1
mov dword [ebp - 0x264], ecx
cmp dword [ebp - 0x264], 0
jge 0x478043
mov eax, dword [ebp - 0x264]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x478038
mov edx, dword [ebp - 0x260]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x478002
mov dword [ebp - 4], 0xfffffffe
jmp 0x478063
mov dword [ebp - 0x268], 0
jmp 0x47807e
mov edx, dword [ebp - 0x268]
add edx, 1
mov dword [ebp - 0x268], edx
cmp dword [ebp - 0x268], 1
jge 0x4780cb
mov eax, dword [ebp - 0x268]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4780ad
mov eax, dword [ebp - 0x268]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4780bd
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x268]
mov dword [ebp - 0x1c], edx
jmp 0x4780c9
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x268]
mov dword [ebp - 0x1c], eax
jmp 0x47806f
mov ecx, 1
test ecx, ecx
je 0x478105
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x26c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4780f7
jmp 0x478105
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x26c]
mov dword [ebp - 0x1c], edx
jmp 0x4780cb
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x270], 0
jmp 0x478129
mov ecx, dword [ebp - 0x270]
add ecx, 1
mov dword [ebp - 0x270], ecx
cmp dword [ebp - 0x270], 0
jge 0x478140
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x270]
mov dword [ebp - 0x1c], edx
jmp 0x47811a
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x478152
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 0x47816a
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x274], 0
jmp 0x478185
mov edx, dword [ebp - 0x274]
add edx, 1
mov dword [ebp - 0x274], edx
cmp dword [ebp - 0x274], 4
jge 0x47819c
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x274]
mov dword [ebp - 0x1c], eax
jmp 0x478176
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4781ae
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 0x4781c6
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 3
mov dword [ebp - 0x278], 0xffffffff
mov dword [ebp - 0x27c], 0
jmp 0x4781f2
mov edx, dword [ebp - 0x27c]
add edx, 1
mov dword [ebp - 0x27c], edx
cmp dword [ebp - 0x27c], 4
jge 0x478224
mov eax, dword [ebp - 0x27c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x478219
mov edx, dword [ebp - 0x278]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4781e3
mov dword [ebp - 4], 0xfffffffe
jmp 0x478244
mov dword [ebp - 0x280], 0
jmp 0x47825f
mov edx, dword [ebp - 0x280]
add edx, 1
mov dword [ebp - 0x280], edx
cmp dword [ebp - 0x280], 2
jge 0x478276
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x280]
mov dword [ebp - 0x1c], eax
jmp 0x478250
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x478288
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 0x4782a0
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 4
mov dword [ebp - 0x284], 0xffffffff
mov dword [ebp - 0x288], 0
jmp 0x4782cc
mov edx, dword [ebp - 0x288]
add edx, 1
mov dword [ebp - 0x288], edx
cmp dword [ebp - 0x288], 1
jge 0x4782fe
mov eax, dword [ebp - 0x288]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4782f3
mov edx, dword [ebp - 0x284]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4782bd
mov dword [ebp - 4], 0xfffffffe
jmp 0x47831e
mov dword [ebp - 0x28c], 0
jmp 0x478339
mov edx, dword [ebp - 0x28c]
add edx, 1
mov dword [ebp - 0x28c], edx
cmp dword [ebp - 0x28c], 4
jge 0x478350
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x28c]
mov dword [ebp - 0x1c], eax
jmp 0x47832a
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x478362
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 0x47837a
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x290], 0
jmp 0x478395
mov edx, dword [ebp - 0x290]
add edx, 1
mov dword [ebp - 0x290], edx
cmp dword [ebp - 0x290], 2
jge 0x4783ac
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x290]
mov dword [ebp - 0x1c], eax
jmp 0x478386
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4783be
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 0x4783d6
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x294], 0
jmp 0x4783f1
mov edx, dword [ebp - 0x294]
add edx, 1
mov dword [ebp - 0x294], edx
cmp dword [ebp - 0x294], 0
jge 0x47843e
mov eax, dword [ebp - 0x294]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x478420
mov eax, dword [ebp - 0x294]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x478430
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x294]
mov dword [ebp - 0x1c], edx
jmp 0x47843c
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x294]
mov dword [ebp - 0x1c], eax
jmp 0x4783e2
mov dword [ebp - 0x298], 0
jmp 0x478459
mov ecx, dword [ebp - 0x298]
add ecx, 1
mov dword [ebp - 0x298], ecx
cmp dword [ebp - 0x298], 3
jge 0x4784a6
cmp dword [ebp - 0x1c], 0
jge 0x478470
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 0x478486
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x29c], 0xfa
lea edx, [ebp - 0x29c]
push edx
lea eax, [ebp - 0x498]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x47844a
mov dword [ebp - 4], 5
mov dword [ebp - 0x49c], 0xffffffff
mov dword [ebp - 0x4a0], 0
jmp 0x4784d2
mov ecx, dword [ebp - 0x4a0]
add ecx, 1
mov dword [ebp - 0x4a0], ecx
cmp dword [ebp - 0x4a0], 3
jge 0x478504
mov eax, dword [ebp - 0x4a0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4784f9
mov edx, dword [ebp - 0x49c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4784c3
mov dword [ebp - 4], 0xfffffffe
jmp 0x478524
mov dword [ebp - 0x4a4], 0
jmp 0x47853f
mov edx, dword [ebp - 0x4a4]
add edx, 1
mov dword [ebp - 0x4a4], edx
cmp dword [ebp - 0x4a4], 4
jge 0x478556
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x4a4]
mov dword [ebp - 0x1c], eax
jmp 0x478530
cmp dword [ebp - 0x1c], 0
jge 0x478564
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 0x47857c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x4a8], 0
jmp 0x478597
mov edx, dword [ebp - 0x4a8]
add edx, 1
mov dword [ebp - 0x4a8], edx
cmp dword [ebp - 0x4a8], 0
jge 0x4785e4
cmp dword [ebp - 0x1c], 0
jge 0x4785ae
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 0x4785c4
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x4ac], 0xfa
lea edx, [ebp - 0x4ac]
push edx
lea eax, [ebp - 0x6a8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x478588
mov dword [ebp - 0x6ac], 0
jmp 0x4785ff
mov ecx, dword [ebp - 0x6ac]
add ecx, 1
mov dword [ebp - 0x6ac], ecx
cmp dword [ebp - 0x6ac], 3
jge 0x47864c
mov eax, dword [ebp - 0x6ac]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x47862e
mov eax, dword [ebp - 0x6ac]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x47863e
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x6ac]
mov dword [ebp - 0x1c], edx
jmp 0x47864a
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x6ac]
mov dword [ebp - 0x1c], eax
jmp 0x4785f0
mov dword [ebp - 0x6b0], 0
jmp 0x478667
mov ecx, dword [ebp - 0x6b0]
add ecx, 1
mov dword [ebp - 0x6b0], ecx
cmp dword [ebp - 0x6b0], 3
jge 0x4786b4
cmp dword [ebp - 0x1c], 0
jge 0x47867e
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 0x478694
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x6b4], 0xfa
lea edx, [ebp - 0x6b4]
push edx
lea eax, [ebp - 0x8b0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x478658
mov dword [ebp - 0x8b4], 0
jmp 0x4786cf
mov ecx, dword [ebp - 0x8b4]
add ecx, 1
mov dword [ebp - 0x8b4], ecx
cmp dword [ebp - 0x8b4], 2
jge 0x47871c
cmp dword [ebp - 0x1c], 0
jge 0x4786e6
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 0x4786fc
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x8b8], 0xfa
lea edx, [ebp - 0x8b8]
push edx
lea eax, [ebp - 0xab0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4786c0
mov dword [ebp - 4], 6
mov dword [ebp - 0xab4], 0xffffffff
mov dword [ebp - 0xab8], 0
jmp 0x478748
mov ecx, dword [ebp - 0xab8]
add ecx, 1
mov dword [ebp - 0xab8], ecx
cmp dword [ebp - 0xab8], 3
jge 0x47877a
mov eax, dword [ebp - 0xab8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x47876f
mov edx, dword [ebp - 0xab4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x478739
mov dword [ebp - 4], 0xfffffffe
jmp 0x47879a
mov dword [ebp - 0xabc], 0
jmp 0x4787b5
mov edx, dword [ebp - 0xabc]
add edx, 1
mov dword [ebp - 0xabc], edx
cmp dword [ebp - 0xabc], 2
jge 0x4787cc
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xabc]
mov dword [ebp - 0x1c], eax
jmp 0x4787a6
cmp dword [ebp - 0x1c], 0
jge 0x4787da
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 0x4787f2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xac0], 0
jmp 0x47880d
mov edx, dword [ebp - 0xac0]
add edx, 1
mov dword [ebp - 0xac0], edx
cmp dword [ebp - 0xac0], 2
jge 0x478824
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xac0]
mov dword [ebp - 0x1c], eax
jmp 0x4787fe
cmp dword [ebp - 0x1c], 0
jge 0x478832
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 0x47884a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xac4], 0
jmp 0x478865
mov edx, dword [ebp - 0xac4]
add edx, 1
mov dword [ebp - 0xac4], edx
cmp dword [ebp - 0xac4], 3
jge 0x4788b2
mov eax, dword [ebp - 0xac4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x478894
mov eax, dword [ebp - 0xac4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4788a4
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xac4]
mov dword [ebp - 0x1c], edx
jmp 0x4788b0
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xac4]
mov dword [ebp - 0x1c], eax
jmp 0x478856
mov dword [ebp - 0xac8], 0
jmp 0x4788cd
mov ecx, dword [ebp - 0xac8]
add ecx, 1
mov dword [ebp - 0xac8], ecx
cmp dword [ebp - 0xac8], 2
jge 0x47890e
cmp dword [ebp - 0x1c], 0
jge 0x4788e4
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 0x4788fa
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xcc0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4788be
mov dword [ebp - 0xcc4], 0
jmp 0x478929
mov eax, dword [ebp - 0xcc4]
add eax, 1
mov dword [ebp - 0xcc4], eax
cmp dword [ebp - 0xcc4], 3
jge 0x478976
mov eax, dword [ebp - 0xcc4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x478958
mov eax, dword [ebp - 0xcc4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x478968
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xcc4]
mov dword [ebp - 0x1c], edx
jmp 0x478974
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xcc4]
mov dword [ebp - 0x1c], eax
jmp 0x47891a
mov dword [ebp - 0xcc8], 0
jmp 0x478991
mov ecx, dword [ebp - 0xcc8]
add ecx, 1
mov dword [ebp - 0xcc8], ecx
cmp dword [ebp - 0xcc8], 1
jge 0x4789de
cmp dword [ebp - 0x1c], 0
jge 0x4789a8
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 0x4789be
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xccc], 0xfa
lea edx, [ebp - 0xccc]
push edx
lea eax, [ebp - 0xec8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x478982
mov dword [ebp - 0xecc], 0
jmp 0x4789f9
mov ecx, dword [ebp - 0xecc]
add ecx, 1
mov dword [ebp - 0xecc], ecx
cmp dword [ebp - 0xecc], 0
jge 0x478a46
mov eax, dword [ebp - 0xecc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x478a28
mov eax, dword [ebp - 0xecc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x478a38
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xecc]
mov dword [ebp - 0x1c], edx
jmp 0x478a44
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xecc]
mov dword [ebp - 0x1c], eax
jmp 0x4789ea
mov dword [ebp - 0xed0], 0
jmp 0x478a61
mov ecx, dword [ebp - 0xed0]
add ecx, 1
mov dword [ebp - 0xed0], ecx
cmp dword [ebp - 0xed0], 4
jge 0x478a78
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xed0]
mov dword [ebp - 0x1c], edx
jmp 0x478a52
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x478a8a
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 0x478aa2
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xed4], 0
jmp 0x478abd
mov edx, dword [ebp - 0xed4]
add edx, 1
mov dword [ebp - 0xed4], edx
cmp dword [ebp - 0xed4], 2
jge 0x478b0a
cmp dword [ebp - 0x1c], 0
jge 0x478ad4
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 0x478aea
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xed8], 0xfa
lea edx, [ebp - 0xed8]
push edx
lea eax, [ebp - 0x10d0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x478aae
mov dword [ebp - 4], 7
mov dword [ebp - 0x10d4], 0xffffffff
mov dword [ebp - 0x10d8], 0
jmp 0x478b36
mov ecx, dword [ebp - 0x10d8]
add ecx, 1
mov dword [ebp - 0x10d8], ecx
cmp dword [ebp - 0x10d8], 4
jge 0x478b68
mov eax, dword [ebp - 0x10d8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x478b5d
mov edx, dword [ebp - 0x10d4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x478b27
mov dword [ebp - 4], 0xfffffffe
jmp 0x478b88
mov dword [ebp - 0x10dc], 0
jmp 0x478ba3
mov edx, dword [ebp - 0x10dc]
add edx, 1
mov dword [ebp - 0x10dc], edx
cmp dword [ebp - 0x10dc], 2
jge 0x478bba
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x10dc]
mov dword [ebp - 0x1c], eax
jmp 0x478b94
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x478bcc
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 0x478be4
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10e0], 0
jmp 0x478bff
mov edx, dword [ebp - 0x10e0]
add edx, 1
mov dword [ebp - 0x10e0], edx
cmp dword [ebp - 0x10e0], 3
jge 0x478c40
cmp dword [ebp - 0x1c], 0
jge 0x478c16
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 0x478c2c
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x12d8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x478bf0
mov dword [ebp - 0x12dc], 0
jmp 0x478c5b
mov eax, dword [ebp - 0x12dc]
add eax, 1
mov dword [ebp - 0x12dc], eax
cmp dword [ebp - 0x12dc], 4
jge 0x478ca8
mov eax, dword [ebp - 0x12dc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x478c8a
mov eax, dword [ebp - 0x12dc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x478c9a
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x12dc]
mov dword [ebp - 0x1c], edx
jmp 0x478ca6
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x12dc]
mov dword [ebp - 0x1c], eax
jmp 0x478c4c
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x58]
xor ecx, ebp
call fcn.004079a5
mov esp, ebp
pop ebp
ret