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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x512ce0
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x2900
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x24], 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 0x4a3089
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x17
jge 0x4a30c7
cmp dword [ebp - 0x1c], 0
jge 0x4a309d
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
je 0x4a30b3
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x220]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a3080
mov eax, 1
test eax, eax
je 0x4a3101
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x224], eax
mov eax, dword [ebp - 0x224]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a30f3
jmp 0x4a3101
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x224]
mov dword [ebp - 0x1c], edx
jmp 0x4a30c7
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x228], 0xffffffff
mov dword [ebp - 0x22c], 0
jmp 0x4a3136
mov ecx, dword [ebp - 0x22c]
add ecx, 1
mov dword [ebp - 0x22c], ecx
cmp dword [ebp - 0x22c], 4
jge 0x4a3168
mov eax, dword [ebp - 0x22c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4a315d
mov edx, dword [ebp - 0x228]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4a3127
mov dword [ebp - 4], 0xfffffffe
jmp 0x4a3188
mov dword [ebp - 0x230], 0
jmp 0x4a31a3
mov edx, dword [ebp - 0x230]
add edx, 1
mov dword [ebp - 0x230], edx
cmp dword [ebp - 0x230], 0x12
jge 0x4a31f0
mov eax, dword [ebp - 0x230]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a31d2
mov eax, dword [ebp - 0x230]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a31e2
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x230]
mov dword [ebp - 0x1c], edx
jmp 0x4a31ee
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x230]
mov dword [ebp - 0x1c], eax
jmp 0x4a3194
mov dword [ebp - 0x234], 0
jmp 0x4a320b
mov ecx, dword [ebp - 0x234]
add ecx, 1
mov dword [ebp - 0x234], ecx
cmp dword [ebp - 0x234], 0x1b
jge 0x4a3222
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x234]
mov dword [ebp - 0x1c], edx
jmp 0x4a31fc
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a3234
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 0x4a324c
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x238], 0
jmp 0x4a3267
mov edx, dword [ebp - 0x238]
add edx, 1
mov dword [ebp - 0x238], edx
cmp dword [ebp - 0x238], 0x16
jge 0x4a32b4
mov eax, dword [ebp - 0x238]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a3296
mov eax, dword [ebp - 0x238]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a32a6
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x238]
mov dword [ebp - 0x1c], edx
jmp 0x4a32b2
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x238]
mov dword [ebp - 0x1c], eax
jmp 0x4a3258
mov ecx, 1
test ecx, ecx
je 0x4a32ee
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0x23c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a32e0
jmp 0x4a32ee
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x23c]
mov dword [ebp - 0x1c], edx
jmp 0x4a32b4
mov eax, dword [ebp - 0x1c]
add eax, 7
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x240], 0
jmp 0x4a3312
mov ecx, dword [ebp - 0x240]
add ecx, 1
mov dword [ebp - 0x240], ecx
cmp dword [ebp - 0x240], 0xa
jge 0x4a3329
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x240]
mov dword [ebp - 0x1c], edx
jmp 0x4a3303
cmp dword [ebp - 0x1c], 0
jge 0x4a3337
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 0x4a334f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x244], 0
jmp 0x4a336a
mov edx, dword [ebp - 0x244]
add edx, 1
mov dword [ebp - 0x244], edx
cmp dword [ebp - 0x244], 3
jge 0x4a3381
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x244]
mov dword [ebp - 0x1c], eax
jmp 0x4a335b
cmp dword [ebp - 0x1c], 0
jge 0x4a338f
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 0x4a33a7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x248], 0
jmp 0x4a33c2
mov edx, dword [ebp - 0x248]
add edx, 1
mov dword [ebp - 0x248], edx
cmp dword [ebp - 0x248], 5
jge 0x4a340f
mov eax, dword [ebp - 0x248]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a33f1
mov eax, dword [ebp - 0x248]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a3401
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x248]
mov dword [ebp - 0x1c], edx
jmp 0x4a340d
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x248]
mov dword [ebp - 0x1c], eax
jmp 0x4a33b3
mov dword [ebp - 0x24c], 0
jmp 0x4a342a
mov ecx, dword [ebp - 0x24c]
add ecx, 1
mov dword [ebp - 0x24c], ecx
cmp dword [ebp - 0x24c], 0xb
jge 0x4a3477
mov eax, dword [ebp - 0x24c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a3459
mov eax, dword [ebp - 0x24c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a3469
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x24c]
mov dword [ebp - 0x1c], edx
jmp 0x4a3475
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x24c]
mov dword [ebp - 0x1c], eax
jmp 0x4a341b
mov dword [ebp - 0x250], 0
jmp 0x4a3492
mov ecx, dword [ebp - 0x250]
add ecx, 1
mov dword [ebp - 0x250], ecx
cmp dword [ebp - 0x250], 0xd
jge 0x4a34a9
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x250]
mov dword [ebp - 0x1c], edx
jmp 0x4a3483
cmp dword [ebp - 0x1c], 0
jge 0x4a34b7
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 0x4a34cf
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x254], 0
jmp 0x4a34ea
mov edx, dword [ebp - 0x254]
add edx, 1
mov dword [ebp - 0x254], edx
cmp dword [ebp - 0x254], 3
jge 0x4a3537
cmp dword [ebp - 0x1c], 0
jge 0x4a3501
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 0x4a3517
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x258], 0xfa
lea edx, [ebp - 0x258]
push edx
lea eax, [ebp - 0x450]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4a34db
mov dword [ebp - 4], 1
mov dword [ebp - 0x454], 0xffffffff
mov dword [ebp - 0x458], 0
jmp 0x4a3563
mov ecx, dword [ebp - 0x458]
add ecx, 1
mov dword [ebp - 0x458], ecx
cmp dword [ebp - 0x458], 9
jge 0x4a3595
mov eax, dword [ebp - 0x458]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4a358a
mov edx, dword [ebp - 0x454]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4a3554
mov dword [ebp - 4], 0xfffffffe
jmp 0x4a35b5
mov dword [ebp - 0x45c], 0
jmp 0x4a35d0
mov edx, dword [ebp - 0x45c]
add edx, 1
mov dword [ebp - 0x45c], edx
cmp dword [ebp - 0x45c], 4
jge 0x4a361d
cmp dword [ebp - 0x1c], 0
jge 0x4a35e7
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 0x4a35fd
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x460], 0xfa
lea edx, [ebp - 0x460]
push edx
lea eax, [ebp - 0x658]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4a35c1
mov dword [ebp - 0x65c], 0
jmp 0x4a3638
mov ecx, dword [ebp - 0x65c]
add ecx, 1
mov dword [ebp - 0x65c], ecx
cmp dword [ebp - 0x65c], 2
jge 0x4a3685
mov eax, dword [ebp - 0x65c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a3667
mov eax, dword [ebp - 0x65c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a3677
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x65c]
mov dword [ebp - 0x1c], edx
jmp 0x4a3683
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x65c]
mov dword [ebp - 0x1c], eax
jmp 0x4a3629
mov dword [ebp - 0x660], 0
jmp 0x4a36a0
mov ecx, dword [ebp - 0x660]
add ecx, 1
mov dword [ebp - 0x660], ecx
cmp dword [ebp - 0x660], 2
jge 0x4a36ed
mov eax, dword [ebp - 0x660]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a36cf
mov eax, dword [ebp - 0x660]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a36df
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x660]
mov dword [ebp - 0x1c], edx
jmp 0x4a36eb
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x660]
mov dword [ebp - 0x1c], eax
jmp 0x4a3691
mov dword [ebp - 0x664], 0
jmp 0x4a3708
mov ecx, dword [ebp - 0x664]
add ecx, 1
mov dword [ebp - 0x664], ecx
cmp dword [ebp - 0x664], 6
jge 0x4a3755
cmp dword [ebp - 0x1c], 0
jge 0x4a371f
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 0x4a3735
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x668], 0xfa
lea edx, [ebp - 0x668]
push edx
lea eax, [ebp - 0x860]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4a36f9
mov ecx, 1
test ecx, ecx
je 0x4a378f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x864], eax
mov eax, dword [ebp - 0x864]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a3781
jmp 0x4a378f
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x864]
mov dword [ebp - 0x1c], edx
jmp 0x4a3755
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x868], 0
jmp 0x4a37b3
mov ecx, dword [ebp - 0x868]
add ecx, 1
mov dword [ebp - 0x868], ecx
cmp dword [ebp - 0x868], 0xb
jge 0x4a3800
cmp dword [ebp - 0x1c], 0
jge 0x4a37ca
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 0x4a37e0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x86c], 0xfa
lea edx, [ebp - 0x86c]
push edx
lea eax, [ebp - 0xa68]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4a37a4
mov dword [ebp - 0xa6c], 0
jmp 0x4a381b
mov ecx, dword [ebp - 0xa6c]
add ecx, 1
mov dword [ebp - 0xa6c], ecx
cmp dword [ebp - 0xa6c], 4
jge 0x4a3868
mov eax, dword [ebp - 0xa6c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a384a
mov eax, dword [ebp - 0xa6c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a385a
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa6c]
mov dword [ebp - 0x1c], edx
jmp 0x4a3866
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa6c]
mov dword [ebp - 0x1c], eax
jmp 0x4a380c
mov dword [ebp - 4], 2
mov dword [ebp - 0xa70], 0xffffffff
mov dword [ebp - 0xa74], 0
jmp 0x4a3894
mov ecx, dword [ebp - 0xa74]
add ecx, 1
mov dword [ebp - 0xa74], ecx
cmp dword [ebp - 0xa74], 6
jge 0x4a38c6
mov eax, dword [ebp - 0xa74]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4a38bb
mov edx, dword [ebp - 0xa70]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4a3885
mov dword [ebp - 4], 0xfffffffe
jmp 0x4a38e6
mov dword [ebp - 0xa78], 0
jmp 0x4a3901
mov edx, dword [ebp - 0xa78]
add edx, 1
mov dword [ebp - 0xa78], edx
cmp dword [ebp - 0xa78], 7
jge 0x4a394e
mov eax, dword [ebp - 0xa78]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a3930
mov eax, dword [ebp - 0xa78]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a3940
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa78]
mov dword [ebp - 0x1c], edx
jmp 0x4a394c
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa78]
mov dword [ebp - 0x1c], eax
jmp 0x4a38f2
mov dword [ebp - 0xa7c], 0
jmp 0x4a3969
mov ecx, dword [ebp - 0xa7c]
add ecx, 1
mov dword [ebp - 0xa7c], ecx
cmp dword [ebp - 0xa7c], 8
jge 0x4a39b6
mov eax, dword [ebp - 0xa7c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a3998
mov eax, dword [ebp - 0xa7c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a39a8
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa7c]
mov dword [ebp - 0x1c], edx
jmp 0x4a39b4
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa7c]
mov dword [ebp - 0x1c], eax
jmp 0x4a395a
mov dword [ebp - 0xa80], 0
jmp 0x4a39d1
mov ecx, dword [ebp - 0xa80]
add ecx, 1
mov dword [ebp - 0xa80], ecx
cmp dword [ebp - 0xa80], 5
jge 0x4a39e8
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa80]
mov dword [ebp - 0x1c], edx
jmp 0x4a39c2
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a39fa
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 0x4a3a12
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 3
mov dword [ebp - 0xa84], 0xffffffff
mov dword [ebp - 0xa88], 0
jmp 0x4a3a3e
mov edx, dword [ebp - 0xa88]
add edx, 1
mov dword [ebp - 0xa88], edx
cmp dword [ebp - 0xa88], 6
jge 0x4a3a70
mov eax, dword [ebp - 0xa88]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4a3a65
mov edx, dword [ebp - 0xa84]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4a3a2f
mov dword [ebp - 4], 0xfffffffe
jmp 0x4a3a90
mov dword [ebp - 0xa8c], 0
jmp 0x4a3aab
mov edx, dword [ebp - 0xa8c]
add edx, 1
mov dword [ebp - 0xa8c], edx
cmp dword [ebp - 0xa8c], 2
jge 0x4a3af8
mov eax, dword [ebp - 0xa8c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a3ada
mov eax, dword [ebp - 0xa8c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a3aea
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa8c]
mov dword [ebp - 0x1c], edx
jmp 0x4a3af6
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa8c]
mov dword [ebp - 0x1c], eax
jmp 0x4a3a9c
mov dword [ebp - 0xa90], 0
jmp 0x4a3b13
mov ecx, dword [ebp - 0xa90]
add ecx, 1
mov dword [ebp - 0xa90], ecx
cmp dword [ebp - 0xa90], 3
jge 0x4a3b2a
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa90]
mov dword [ebp - 0x1c], edx
jmp 0x4a3b04
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a3b3c
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 0x4a3b54
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa94], 0
jmp 0x4a3b6f
mov edx, dword [ebp - 0xa94]
add edx, 1
mov dword [ebp - 0xa94], edx
cmp dword [ebp - 0xa94], 8
jge 0x4a3b86
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xa94]
mov dword [ebp - 0x1c], eax
jmp 0x4a3b60
cmp dword [ebp - 0x1c], 0
jge 0x4a3b94
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 0x4a3bac
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa98], 0
jmp 0x4a3bc7
mov edx, dword [ebp - 0xa98]
add edx, 1
mov dword [ebp - 0xa98], edx
cmp dword [ebp - 0xa98], 3
jge 0x4a3c14
cmp dword [ebp - 0x1c], 0
jge 0x4a3bde
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 0x4a3bf4
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa9c], 0xfa
lea edx, [ebp - 0xa9c]
push edx
lea eax, [ebp - 0xc98]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4a3bb8
mov dword [ebp - 0xc9c], 0
jmp 0x4a3c2f
mov ecx, dword [ebp - 0xc9c]
add ecx, 1
mov dword [ebp - 0xc9c], ecx
cmp dword [ebp - 0xc9c], 3
jge 0x4a3c70
cmp dword [ebp - 0x1c], 0
jge 0x4a3c46
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 0x4a3c5c
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xe98]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a3c20
mov dword [ebp - 0xe9c], 0
jmp 0x4a3c8b
mov eax, dword [ebp - 0xe9c]
add eax, 1
mov dword [ebp - 0xe9c], eax
cmp dword [ebp - 0xe9c], 8
jge 0x4a3ca2
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0xe9c]
mov dword [ebp - 0x1c], ecx
jmp 0x4a3c7c
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a3cb4
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 0x4a3ccc
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xea0], 0
jmp 0x4a3ce7
mov edx, dword [ebp - 0xea0]
add edx, 1
mov dword [ebp - 0xea0], edx
cmp dword [ebp - 0xea0], 3
jge 0x4a3cfe
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xea0]
mov dword [ebp - 0x1c], eax
jmp 0x4a3cd8
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a3d10
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 0x4a3d28
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xea4], 0
jmp 0x4a3d43
mov edx, dword [ebp - 0xea4]
add edx, 1
mov dword [ebp - 0xea4], edx
cmp dword [ebp - 0xea4], 8
jge 0x4a3d84
cmp dword [ebp - 0x1c], 0
jge 0x4a3d5a
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 0x4a3d70
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x10a0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a3d34
mov dword [ebp - 0x10a4], 0
jmp 0x4a3d9f
mov eax, dword [ebp - 0x10a4]
add eax, 1
mov dword [ebp - 0x10a4], eax
cmp dword [ebp - 0x10a4], 8
jge 0x4a3db6
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x10a4]
mov dword [ebp - 0x1c], ecx
jmp 0x4a3d90
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a3dc8
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 0x4a3de0
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10a8], 0
jmp 0x4a3dfb
mov edx, dword [ebp - 0x10a8]
add edx, 1
mov dword [ebp - 0x10a8], edx
cmp dword [ebp - 0x10a8], 0
jge 0x4a3e48
cmp dword [ebp - 0x1c], 0
jge 0x4a3e12
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 0x4a3e28
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x10ac], 0xfa
lea edx, [ebp - 0x10ac]
push edx
lea eax, [ebp - 0x12a8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4a3dec
mov ecx, 1
test ecx, ecx
je 0x4a3e82
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x12ac], eax
mov eax, dword [ebp - 0x12ac]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a3e74
jmp 0x4a3e82
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x12ac]
mov dword [ebp - 0x1c], edx
jmp 0x4a3e48
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12b0], 0
jmp 0x4a3ea6
mov ecx, dword [ebp - 0x12b0]
add ecx, 1
mov dword [ebp - 0x12b0], ecx
cmp dword [ebp - 0x12b0], 4
jge 0x4a3ebd
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x12b0]
mov dword [ebp - 0x1c], edx
jmp 0x4a3e97
cmp dword [ebp - 0x1c], 0
jge 0x4a3ecb
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 0x4a3ee3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12b4], 0
jmp 0x4a3efe
mov edx, dword [ebp - 0x12b4]
add edx, 1
mov dword [ebp - 0x12b4], edx
cmp dword [ebp - 0x12b4], 3
jge 0x4a3f4b
cmp dword [ebp - 0x1c], 0
jge 0x4a3f15
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 0x4a3f2b
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x12b8], 0xfa
lea edx, [ebp - 0x12b8]
push edx
lea eax, [ebp - 0x14b0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4a3eef
mov dword [ebp - 0x14b4], 0
jmp 0x4a3f66
mov ecx, dword [ebp - 0x14b4]
add ecx, 1
mov dword [ebp - 0x14b4], ecx
cmp dword [ebp - 0x14b4], 6
jge 0x4a3f7d
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x14b4]
mov dword [ebp - 0x1c], edx
jmp 0x4a3f57
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a3f8f
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 0x4a3fa7
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4a3fe1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x14b8], eax
mov eax, dword [ebp - 0x14b8]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a3fd3
jmp 0x4a3fe1
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x14b8]
mov dword [ebp - 0x1c], edx
jmp 0x4a3fa7
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14bc], 0
jmp 0x4a4005
mov ecx, dword [ebp - 0x14bc]
add ecx, 1
mov dword [ebp - 0x14bc], ecx
cmp dword [ebp - 0x14bc], 7
jge 0x4a401c
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x14bc]
mov dword [ebp - 0x1c], edx
jmp 0x4a3ff6
cmp dword [ebp - 0x1c], 0
jge 0x4a402a
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 0x4a4042
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14c0], 0
jmp 0x4a405d
mov edx, dword [ebp - 0x14c0]
add edx, 1
mov dword [ebp - 0x14c0], edx
cmp dword [ebp - 0x14c0], 2
jge 0x4a409e
cmp dword [ebp - 0x1c], 0
jge 0x4a4074
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 0x4a408a
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x16b8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a404e
mov dword [ebp - 0x16bc], 0
jmp 0x4a40b9
mov eax, dword [ebp - 0x16bc]
add eax, 1
mov dword [ebp - 0x16bc], eax
cmp dword [ebp - 0x16bc], 5
jge 0x4a40d0
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x16bc]
mov dword [ebp - 0x1c], ecx
jmp 0x4a40aa
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a40e2
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 0x4a40fa
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16c0], 0
jmp 0x4a4115
mov edx, dword [ebp - 0x16c0]
add edx, 1
mov dword [ebp - 0x16c0], edx
cmp dword [ebp - 0x16c0], 4
jge 0x4a4162
cmp dword [ebp - 0x1c], 0
jge 0x4a412c
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 0x4a4142
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x16c4], 0xfa
lea edx, [ebp - 0x16c4]
push edx
lea eax, [ebp - 0x18c0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4a4106
mov dword [ebp - 0x18c4], 0
jmp 0x4a417d
mov ecx, dword [ebp - 0x18c4]
add ecx, 1
mov dword [ebp - 0x18c4], ecx
cmp dword [ebp - 0x18c4], 4
jge 0x4a41ca
cmp dword [ebp - 0x1c], 0
jge 0x4a4194
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 0x4a41aa
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18c8], 0xfa
lea edx, [ebp - 0x18c8]
push edx
lea eax, [ebp - 0x1ac0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4a416e
mov dword [ebp - 0x1ac4], 0
jmp 0x4a41e5
mov ecx, dword [ebp - 0x1ac4]
add ecx, 1
mov dword [ebp - 0x1ac4], ecx
cmp dword [ebp - 0x1ac4], 2
jge 0x4a4232
cmp dword [ebp - 0x1c], 0
jge 0x4a41fc
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 0x4a4212
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1ac8], 0xfa
lea edx, [ebp - 0x1ac8]
push edx
lea eax, [ebp - 0x1cc0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4a41d6
mov dword [ebp - 0x1cc4], 0
jmp 0x4a424d
mov ecx, dword [ebp - 0x1cc4]
add ecx, 1
mov dword [ebp - 0x1cc4], ecx
cmp dword [ebp - 0x1cc4], 5
jge 0x4a4264
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1cc4]
mov dword [ebp - 0x1c], edx
jmp 0x4a423e
cmp dword [ebp - 0x1c], 0
jge 0x4a4272
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 0x4a428a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1cc8], 0
jmp 0x4a42a5
mov edx, dword [ebp - 0x1cc8]
add edx, 1
mov dword [ebp - 0x1cc8], edx
cmp dword [ebp - 0x1cc8], 4
jge 0x4a42bc
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1cc8]
mov dword [ebp - 0x1c], eax
jmp 0x4a4296
cmp dword [ebp - 0x1c], 0
jge 0x4a42ca
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 0x4a42e2