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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x512928
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x294c
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x64], 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 0x498cc9
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x2f
jge 0x498d07
mov eax, dword [ebp - 0x20]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x498cef
mov eax, dword [ebp - 0x20]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x498cfc
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x498d05
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x498cc0
mov dword [ebp - 4], 0
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x28], 0
jmp 0x498d27
mov ecx, dword [ebp - 0x28]
add ecx, 1
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], 0x31
jge 0x498d50
mov eax, dword [ebp - 0x28]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x498d45
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 0x498d1e
mov dword [ebp - 4], 0xfffffffe
jmp 0x498d70
mov dword [ebp - 0x2c], 0
jmp 0x498d82
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 0x14
jge 0x498dc0
mov eax, dword [ebp - 0x2c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x498da8
mov eax, dword [ebp - 0x2c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x498db5
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], edx
jmp 0x498dbe
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
jmp 0x498d79
mov ecx, 1
test ecx, ecx
je 0x498df1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x498de6
jmp 0x498df1
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x1c], edx
jmp 0x498dc0
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x34], 0
jmp 0x498e09
mov ecx, dword [ebp - 0x34]
add ecx, 1
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x34], 0x12
jge 0x498e1a
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x34]
mov dword [ebp - 0x1c], edx
jmp 0x498e00
cmp dword [ebp - 0x1c], 0
jge 0x498e28
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 0x498e40
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x3c], 0
jmp 0x498e60
mov edx, dword [ebp - 0x3c]
add edx, 1
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x3c], 2
jge 0x498e89
mov eax, dword [ebp - 0x3c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x498e7e
mov edx, dword [ebp - 0x38]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x498e57
mov dword [ebp - 4], 0xfffffffe
jmp 0x498ea9
mov dword [ebp - 0x40], 0
jmp 0x498ebb
mov edx, dword [ebp - 0x40]
add edx, 1
mov dword [ebp - 0x40], edx
cmp dword [ebp - 0x40], 0xb
jge 0x498ecc
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x40]
mov dword [ebp - 0x1c], eax
jmp 0x498eb2
cmp dword [ebp - 0x1c], 0
jge 0x498eda
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 0x498ef2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x498f23
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x498f18
jmp 0x498f23
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x44]
mov dword [ebp - 0x1c], edx
jmp 0x498ef2
mov eax, dword [ebp - 0x1c]
add eax, 7
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0x4c], 0
jmp 0x498f4c
mov ecx, dword [ebp - 0x4c]
add ecx, 1
mov dword [ebp - 0x4c], ecx
cmp dword [ebp - 0x4c], 7
jge 0x498f75
mov eax, dword [ebp - 0x4c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x498f6a
mov edx, dword [ebp - 0x48]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x498f43
mov dword [ebp - 4], 0xfffffffe
jmp 0x498f95
mov dword [ebp - 0x50], 0
jmp 0x498fa7
mov edx, dword [ebp - 0x50]
add edx, 1
mov dword [ebp - 0x50], edx
cmp dword [ebp - 0x50], 0xb
jge 0x498fb8
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x50]
mov dword [ebp - 0x1c], eax
jmp 0x498f9e
cmp dword [ebp - 0x1c], 0
jge 0x498fc6
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 0x498fde
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x49900f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x499004
jmp 0x49900f
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x54]
mov dword [ebp - 0x1c], edx
jmp 0x498fde
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x58], 0
jmp 0x499027
mov ecx, dword [ebp - 0x58]
add ecx, 1
mov dword [ebp - 0x58], ecx
cmp dword [ebp - 0x58], 6
jge 0x499038
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x58]
mov dword [ebp - 0x1c], edx
jmp 0x49901e
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x49904a
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 0x499062
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x5c], 0
jmp 0x499074
mov edx, dword [ebp - 0x5c]
add edx, 1
mov dword [ebp - 0x5c], edx
cmp dword [ebp - 0x5c], 5
jge 0x4990b8
cmp dword [ebp - 0x1c], 0
jge 0x499088
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 0x49909e
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x60], 0xfa
lea edx, [ebp - 0x60]
push edx
lea eax, [ebp - 0x260]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x49906b
mov ecx, 1
test ecx, ecx
je 0x4990f2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x264]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4990e4
jmp 0x4990f2
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x264]
mov dword [ebp - 0x1c], edx
jmp 0x4990b8
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 3
mov dword [ebp - 0x268], 0xffffffff
mov dword [ebp - 0x26c], 0
jmp 0x499127
mov ecx, dword [ebp - 0x26c]
add ecx, 1
mov dword [ebp - 0x26c], ecx
cmp dword [ebp - 0x26c], 3
jge 0x499159
mov eax, dword [ebp - 0x26c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x49914e
mov edx, dword [ebp - 0x268]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x499118
mov dword [ebp - 4], 0xfffffffe
jmp 0x499179
mov dword [ebp - 0x270], 0
jmp 0x499194
mov edx, dword [ebp - 0x270]
add edx, 1
mov dword [ebp - 0x270], edx
cmp dword [ebp - 0x270], 0xc
jge 0x4991ab
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x270]
mov dword [ebp - 0x1c], eax
jmp 0x499185
cmp dword [ebp - 0x1c], 0
jge 0x4991b9
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 0x4991d1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x274], 0
jmp 0x4991ec
mov edx, dword [ebp - 0x274]
add edx, 1
mov dword [ebp - 0x274], edx
cmp dword [ebp - 0x274], 8
jge 0x499239
mov eax, dword [ebp - 0x274]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x49921b
mov eax, dword [ebp - 0x274]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x49922b
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x274]
mov dword [ebp - 0x1c], edx
jmp 0x499237
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x274]
mov dword [ebp - 0x1c], eax
jmp 0x4991dd
mov dword [ebp - 4], 4
mov dword [ebp - 0x278], 0xffffffff
mov dword [ebp - 0x27c], 0
jmp 0x499265
mov ecx, dword [ebp - 0x27c]
add ecx, 1
mov dword [ebp - 0x27c], ecx
cmp dword [ebp - 0x27c], 0xd
jge 0x499297
mov eax, dword [ebp - 0x27c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x49928c
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 0x499256
mov dword [ebp - 4], 0xfffffffe
jmp 0x4992b7
mov dword [ebp - 0x280], 0
jmp 0x4992d2
mov edx, dword [ebp - 0x280]
add edx, 1
mov dword [ebp - 0x280], edx
cmp dword [ebp - 0x280], 0xa
jge 0x4992e9
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x280]
mov dword [ebp - 0x1c], eax
jmp 0x4992c3
cmp dword [ebp - 0x1c], 0
jge 0x4992f7
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 0x49930f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x284], 0
jmp 0x49932a
mov edx, dword [ebp - 0x284]
add edx, 1
mov dword [ebp - 0x284], edx
cmp dword [ebp - 0x284], 6
jge 0x499341
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x284]
mov dword [ebp - 0x1c], eax
jmp 0x49931b
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x499353
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 0x49936b
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x288], 0
jmp 0x499386
mov edx, dword [ebp - 0x288]
add edx, 1
mov dword [ebp - 0x288], edx
cmp dword [ebp - 0x288], 5
jge 0x4993c7
cmp dword [ebp - 0x1c], 0
jge 0x49939d
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 0x4993b3
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x480]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x499377
mov eax, 1
test eax, eax
je 0x499401
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x484], eax
mov eax, dword [ebp - 0x484]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4993f3
jmp 0x499401
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x484]
mov dword [ebp - 0x1c], edx
jmp 0x4993c7
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x488], 0
jmp 0x499425
mov ecx, dword [ebp - 0x488]
add ecx, 1
mov dword [ebp - 0x488], ecx
cmp dword [ebp - 0x488], 1
jge 0x499472
mov eax, dword [ebp - 0x488]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x499454
mov eax, dword [ebp - 0x488]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x499464
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x488]
mov dword [ebp - 0x1c], edx
jmp 0x499470
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x488]
mov dword [ebp - 0x1c], eax
jmp 0x499416
mov dword [ebp - 0x48c], 0
jmp 0x49948d
mov ecx, dword [ebp - 0x48c]
add ecx, 1
mov dword [ebp - 0x48c], ecx
cmp dword [ebp - 0x48c], 4
jge 0x4994a4
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x48c]
mov dword [ebp - 0x1c], edx
jmp 0x49947e
cmp dword [ebp - 0x1c], 0
jge 0x4994b2
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 0x4994ca
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x499504
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x490], eax
mov eax, dword [ebp - 0x490]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4994f6
jmp 0x499504
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x490]
mov dword [ebp - 0x1c], edx
jmp 0x4994ca
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x499547
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x494], eax
mov eax, dword [ebp - 0x494]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x499539
jmp 0x499547
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x494]
mov dword [ebp - 0x1c], edx
jmp 0x49950d
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x498], 0
jmp 0x49956b
mov ecx, dword [ebp - 0x498]
add ecx, 1
mov dword [ebp - 0x498], ecx
cmp dword [ebp - 0x498], 4
jge 0x499582
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x498]
mov dword [ebp - 0x1c], edx
jmp 0x49955c
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x499594
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 0x4995ac
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 5
mov dword [ebp - 0x49c], 0xffffffff
mov dword [ebp - 0x4a0], 0
jmp 0x4995d8
mov edx, dword [ebp - 0x4a0]
add edx, 1
mov dword [ebp - 0x4a0], edx
cmp dword [ebp - 0x4a0], 2
jge 0x49960a
mov eax, dword [ebp - 0x4a0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4995ff
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 0x4995c9
mov dword [ebp - 4], 0xfffffffe
jmp 0x49962a
mov dword [ebp - 0x4a4], 0
jmp 0x499645
mov edx, dword [ebp - 0x4a4]
add edx, 1
mov dword [ebp - 0x4a4], edx
cmp dword [ebp - 0x4a4], 2
jge 0x499692
mov eax, dword [ebp - 0x4a4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x499674
mov eax, dword [ebp - 0x4a4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x499684
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x4a4]
mov dword [ebp - 0x1c], edx
jmp 0x499690
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x4a4]
mov dword [ebp - 0x1c], eax
jmp 0x499636
mov dword [ebp - 0x4a8], 0
jmp 0x4996ad
mov ecx, dword [ebp - 0x4a8]
add ecx, 1
mov dword [ebp - 0x4a8], ecx
cmp dword [ebp - 0x4a8], 3
jge 0x4996ee
cmp dword [ebp - 0x1c], 0
jge 0x4996c4
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 0x4996da
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x6a0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x49969e
mov dword [ebp - 4], 6
mov dword [ebp - 0x6a4], 0xffffffff
mov dword [ebp - 0x6a8], 0
jmp 0x49971a
mov eax, dword [ebp - 0x6a8]
add eax, 1
mov dword [ebp - 0x6a8], eax
cmp dword [ebp - 0x6a8], 1
jge 0x49974c
mov eax, dword [ebp - 0x6a8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x499741
mov edx, dword [ebp - 0x6a4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x49970b
mov dword [ebp - 4], 0xfffffffe
jmp 0x49976c
mov dword [ebp - 0x6ac], 0
jmp 0x499787
mov edx, dword [ebp - 0x6ac]
add edx, 1
mov dword [ebp - 0x6ac], edx
cmp dword [ebp - 0x6ac], 4
jge 0x4997c8
cmp dword [ebp - 0x1c], 0
jge 0x49979e
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 0x4997b4
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x8a8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x499778
mov dword [ebp - 4], 7
mov dword [ebp - 0x8ac], 0xffffffff
mov dword [ebp - 0x8b0], 0
jmp 0x4997f4
mov eax, dword [ebp - 0x8b0]
add eax, 1
mov dword [ebp - 0x8b0], eax
cmp dword [ebp - 0x8b0], 1
jge 0x499826
mov eax, dword [ebp - 0x8b0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x49981b
mov edx, dword [ebp - 0x8ac]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4997e5
mov dword [ebp - 4], 0xfffffffe
jmp 0x499846
mov dword [ebp - 0x8b4], 0
jmp 0x499861
mov edx, dword [ebp - 0x8b4]
add edx, 1
mov dword [ebp - 0x8b4], edx
cmp dword [ebp - 0x8b4], 3
jge 0x4998ae
mov eax, dword [ebp - 0x8b4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x499890
mov eax, dword [ebp - 0x8b4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4998a0
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x8b4]
mov dword [ebp - 0x1c], edx
jmp 0x4998ac
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x8b4]
mov dword [ebp - 0x1c], eax
jmp 0x499852
mov dword [ebp - 0x8b8], 0
jmp 0x4998c9
mov ecx, dword [ebp - 0x8b8]
add ecx, 1
mov dword [ebp - 0x8b8], ecx
cmp dword [ebp - 0x8b8], 4
jge 0x4998e0
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x8b8]
mov dword [ebp - 0x1c], edx
jmp 0x4998ba
cmp dword [ebp - 0x1c], 0
jge 0x4998ee
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 0x499906
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x8bc], 0
jmp 0x499921
mov edx, dword [ebp - 0x8bc]
add edx, 1
mov dword [ebp - 0x8bc], edx
cmp dword [ebp - 0x8bc], 4
jge 0x49996e
mov eax, dword [ebp - 0x8bc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x499950
mov eax, dword [ebp - 0x8bc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x499960
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x8bc]
mov dword [ebp - 0x1c], edx
jmp 0x49996c
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x8bc]
mov dword [ebp - 0x1c], eax
jmp 0x499912
mov dword [ebp - 0x8c0], 0
jmp 0x499989
mov ecx, dword [ebp - 0x8c0]
add ecx, 1
mov dword [ebp - 0x8c0], ecx
cmp dword [ebp - 0x8c0], 4
jge 0x4999a0
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x8c0]
mov dword [ebp - 0x1c], edx
jmp 0x49997a
cmp dword [ebp - 0x1c], 0
jge 0x4999ae
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 0x4999c6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x499a00
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x8c4], eax
mov eax, dword [ebp - 0x8c4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4999f2
jmp 0x499a00
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x8c4]
mov dword [ebp - 0x1c], edx
jmp 0x4999c6
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x8c8], 0
jmp 0x499a21
mov ecx, dword [ebp - 0x8c8]
add ecx, 1
mov dword [ebp - 0x8c8], ecx
cmp dword [ebp - 0x8c8], 1
jge 0x499a6e
mov eax, dword [ebp - 0x8c8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x499a50
mov eax, dword [ebp - 0x8c8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x499a60
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x8c8]
mov dword [ebp - 0x1c], edx
jmp 0x499a6c
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x8c8]
mov dword [ebp - 0x1c], eax
jmp 0x499a12
mov dword [ebp - 0x8cc], 0
jmp 0x499a89
mov ecx, dword [ebp - 0x8cc]
add ecx, 1
mov dword [ebp - 0x8cc], ecx
cmp dword [ebp - 0x8cc], 1
jge 0x499ad6
cmp dword [ebp - 0x1c], 0
jge 0x499aa0
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 0x499ab6
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x8d0], 0xfa
lea edx, [ebp - 0x8d0]
push edx
lea eax, [ebp - 0xac8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x499a7a
mov dword [ebp - 0xacc], 0
jmp 0x499af1
mov ecx, dword [ebp - 0xacc]
add ecx, 1
mov dword [ebp - 0xacc], ecx
cmp dword [ebp - 0xacc], 1
jge 0x499b08
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xacc]
mov dword [ebp - 0x1c], edx
jmp 0x499ae2
cmp dword [ebp - 0x1c], 0
jge 0x499b16
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 0x499b2e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 8
mov dword [ebp - 0xad0], 0xffffffff
mov dword [ebp - 0xad4], 0
jmp 0x499b5a
mov edx, dword [ebp - 0xad4]
add edx, 1
mov dword [ebp - 0xad4], edx
cmp dword [ebp - 0xad4], 3
jge 0x499b8c
mov eax, dword [ebp - 0xad4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x499b81
mov edx, dword [ebp - 0xad0]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x499b4b
mov dword [ebp - 4], 0xfffffffe
jmp 0x499bac
mov dword [ebp - 0xad8], 0
jmp 0x499bc7
mov edx, dword [ebp - 0xad8]
add edx, 1
mov dword [ebp - 0xad8], edx
cmp dword [ebp - 0xad8], 3
jge 0x499bde
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xad8]
mov dword [ebp - 0x1c], eax
jmp 0x499bb8
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x499bf0
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 0x499c08
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xadc], 0
jmp 0x499c23
mov edx, dword [ebp - 0xadc]
add edx, 1
mov dword [ebp - 0xadc], edx
cmp dword [ebp - 0xadc], 0
jge 0x499c70
mov eax, dword [ebp - 0xadc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x499c52
mov eax, dword [ebp - 0xadc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x499c62
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xadc]
mov dword [ebp - 0x1c], edx
jmp 0x499c6e
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xadc]
mov dword [ebp - 0x1c], eax
jmp 0x499c14
mov dword [ebp - 0xae0], 0
jmp 0x499c8b
mov ecx, dword [ebp - 0xae0]
add ecx, 1
mov dword [ebp - 0xae0], ecx
cmp dword [ebp - 0xae0], 3
jge 0x499cd8
cmp dword [ebp - 0x1c], 0
jge 0x499ca2
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 0x499cb8
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xae4], 0xfa
lea edx, [ebp - 0xae4]
push edx
lea eax, [ebp - 0xce0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x499c7c
mov dword [ebp - 4], 9
mov dword [ebp - 0xce4], 0xffffffff
mov dword [ebp - 0xce8], 0
jmp 0x499d04
mov ecx, dword [ebp - 0xce8]
add ecx, 1
mov dword [ebp - 0xce8], ecx
cmp dword [ebp - 0xce8], 2
jge 0x499d36
mov eax, dword [ebp - 0xce8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x499d2b
mov edx, dword [ebp - 0xce4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x499cf5
mov dword [ebp - 4], 0xfffffffe
jmp 0x499d56
mov dword [ebp - 0xcec], 0
jmp 0x499d71
mov edx, dword [ebp - 0xcec]
add edx, 1
mov dword [ebp - 0xcec], edx
cmp dword [ebp - 0xcec], 0
jge 0x499d88
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xcec]
mov dword [ebp - 0x1c], eax
jmp 0x499d62
cmp dword [ebp - 0x1c], 0
jge 0x499d96
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 0x499dae
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x499de8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xcf0], eax
mov eax, dword [ebp - 0xcf0]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x499dda
jmp 0x499de8
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xcf0]
mov dword [ebp - 0x1c], edx
jmp 0x499dae
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xcf4], 0
jmp 0x499e0c
cmp dword [ebp - 0xcf4], 0
jge 0x499e59
cmp dword [ebp - 0x1c], 0
jge 0x499e23
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 0x499e39
mov dword [ebp - 0xef4], 0
jmp 0x499e74
cmp dword [ebp - 0xef4], 1
jge 0x499ec1