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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x5133f0
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x2ec0
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x28], 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 0x4b9a59
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x14
jge 0x4b9a9d
cmp dword [ebp - 0x1c], 0
jge 0x4b9a6d
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 0x4b9a83
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x24], 0xfa
lea edx, [ebp - 0x24]
push edx
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4b9a50
mov dword [ebp - 0x224], 0
jmp 0x4b9ab8
mov ecx, dword [ebp - 0x224]
add ecx, 1
mov dword [ebp - 0x224], ecx
cmp dword [ebp - 0x224], 0xc
jge 0x4b9acf
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x224]
mov dword [ebp - 0x1c], edx
jmp 0x4b9aa9
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4b9ae1
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 0x4b9af9
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x228], 0
jmp 0x4b9b14
mov edx, dword [ebp - 0x228]
add edx, 1
mov dword [ebp - 0x228], edx
cmp dword [ebp - 0x228], 8
jge 0x4b9b61
cmp dword [ebp - 0x1c], 0
jge 0x4b9b2b
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 0x4b9b41
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x22c], 0xfa
lea edx, [ebp - 0x22c]
push edx
lea eax, [ebp - 0x428]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4b9b05
mov dword [ebp - 0x42c], 0
jmp 0x4b9b7c
mov ecx, dword [ebp - 0x42c]
add ecx, 1
mov dword [ebp - 0x42c], ecx
cmp dword [ebp - 0x42c], 1
jge 0x4b9b93
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x42c]
mov dword [ebp - 0x1c], edx
jmp 0x4b9b6d
cmp dword [ebp - 0x1c], 0
jge 0x4b9ba1
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 0x4b9bb9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x430], 0xffffffff
mov dword [ebp - 0x434], 0
jmp 0x4b9be5
mov edx, dword [ebp - 0x434]
add edx, 1
mov dword [ebp - 0x434], edx
cmp dword [ebp - 0x434], 2
jge 0x4b9c17
mov eax, dword [ebp - 0x434]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4b9c0c
mov edx, dword [ebp - 0x430]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4b9bd6
mov dword [ebp - 4], 0xfffffffe
jmp 0x4b9c37
mov dword [ebp - 4], 1
mov dword [ebp - 0x438], 0xffffffff
mov dword [ebp - 0x43c], 0
jmp 0x4b9c63
mov edx, dword [ebp - 0x43c]
add edx, 1
mov dword [ebp - 0x43c], edx
cmp dword [ebp - 0x43c], 0x10
jge 0x4b9c95
mov eax, dword [ebp - 0x43c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4b9c8a
mov edx, dword [ebp - 0x438]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4b9c54
mov dword [ebp - 4], 0xfffffffe
jmp 0x4b9cb5
mov dword [ebp - 0x440], 0
jmp 0x4b9cd0
mov edx, dword [ebp - 0x440]
add edx, 1
mov dword [ebp - 0x440], edx
cmp dword [ebp - 0x440], 0xf
jge 0x4b9ce7
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x440]
mov dword [ebp - 0x1c], eax
jmp 0x4b9cc1
cmp dword [ebp - 0x1c], 0
jge 0x4b9cf5
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 0x4b9d0d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x444], 0
jmp 0x4b9d28
mov edx, dword [ebp - 0x444]
add edx, 1
mov dword [ebp - 0x444], edx
cmp dword [ebp - 0x444], 0
jge 0x4b9d75
cmp dword [ebp - 0x1c], 0
jge 0x4b9d3f
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 0x4b9d55
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x448], 0xfa
lea edx, [ebp - 0x448]
push edx
lea eax, [ebp - 0x640]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4b9d19
mov dword [ebp - 0x644], 0
jmp 0x4b9d90
mov ecx, dword [ebp - 0x644]
add ecx, 1
mov dword [ebp - 0x644], ecx
cmp dword [ebp - 0x644], 9
jge 0x4b9dd1
cmp dword [ebp - 0x1c], 0
jge 0x4b9da7
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 0x4b9dbd
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x840]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4b9d81
mov dword [ebp - 0x844], 0
jmp 0x4b9dec
mov eax, dword [ebp - 0x844]
add eax, 1
mov dword [ebp - 0x844], eax
cmp dword [ebp - 0x844], 0xc
jge 0x4b9e03
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x844]
mov dword [ebp - 0x1c], ecx
jmp 0x4b9ddd
cmp dword [ebp - 0x1c], 0
jge 0x4b9e11
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 0x4b9e29
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x848], 0
jmp 0x4b9e44
mov edx, dword [ebp - 0x848]
add edx, 1
mov dword [ebp - 0x848], edx
cmp dword [ebp - 0x848], 1
jge 0x4b9e91
cmp dword [ebp - 0x1c], 0
jge 0x4b9e5b
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 0x4b9e71
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x84c], 0xfa
lea edx, [ebp - 0x84c]
push edx
lea eax, [ebp - 0xa48]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4b9e35
mov dword [ebp - 0xa4c], 0
jmp 0x4b9eac
mov ecx, dword [ebp - 0xa4c]
add ecx, 1
mov dword [ebp - 0xa4c], ecx
cmp dword [ebp - 0xa4c], 6
jge 0x4b9ef9
cmp dword [ebp - 0x1c], 0
jge 0x4b9ec3
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 0x4b9ed9
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa50], 0xfa
lea edx, [ebp - 0xa50]
push edx
lea eax, [ebp - 0xc48]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4b9e9d
mov dword [ebp - 0xc4c], 0
jmp 0x4b9f14
mov ecx, dword [ebp - 0xc4c]
add ecx, 1
mov dword [ebp - 0xc4c], ecx
cmp dword [ebp - 0xc4c], 4
jge 0x4b9f2b
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xc4c]
mov dword [ebp - 0x1c], edx
jmp 0x4b9f05
cmp dword [ebp - 0x1c], 0
jge 0x4b9f39
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 0x4b9f51
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc50], 0
jmp 0x4b9f6c
mov edx, dword [ebp - 0xc50]
add edx, 1
mov dword [ebp - 0xc50], edx
cmp dword [ebp - 0xc50], 0xd
jge 0x4b9fb9
cmp dword [ebp - 0x1c], 0
jge 0x4b9f83
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 0x4b9f99
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc54], 0xfa
lea edx, [ebp - 0xc54]
push edx
lea eax, [ebp - 0xe50]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4b9f5d
mov dword [ebp - 0xe54], 0
jmp 0x4b9fd4
mov ecx, dword [ebp - 0xe54]
add ecx, 1
mov dword [ebp - 0xe54], ecx
cmp dword [ebp - 0xe54], 2
jge 0x4b9feb
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xe54]
mov dword [ebp - 0x1c], edx
jmp 0x4b9fc5
cmp dword [ebp - 0x1c], 0
jge 0x4b9ff9
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 0x4ba011
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe58], 0
jmp 0x4ba02c
mov edx, dword [ebp - 0xe58]
add edx, 1
mov dword [ebp - 0xe58], edx
cmp dword [ebp - 0xe58], 1
jge 0x4ba043
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xe58]
mov dword [ebp - 0x1c], eax
jmp 0x4ba01d
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4ba055
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 0x4ba06d
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe5c], 0
jmp 0x4ba088
mov edx, dword [ebp - 0xe5c]
add edx, 1
mov dword [ebp - 0xe5c], edx
cmp dword [ebp - 0xe5c], 3
jge 0x4ba0c9
cmp dword [ebp - 0x1c], 0
jge 0x4ba09f
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 0x4ba0b5
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1058]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4ba079
mov dword [ebp - 0x105c], 0
jmp 0x4ba0e4
mov eax, dword [ebp - 0x105c]
add eax, 1
mov dword [ebp - 0x105c], eax
cmp dword [ebp - 0x105c], 3
jge 0x4ba0fb
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x105c]
mov dword [ebp - 0x1c], ecx
jmp 0x4ba0d5
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4ba10d
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 0x4ba125
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1060], 0
jmp 0x4ba140
mov edx, dword [ebp - 0x1060]
add edx, 1
mov dword [ebp - 0x1060], edx
cmp dword [ebp - 0x1060], 1
jge 0x4ba18d
mov eax, dword [ebp - 0x1060]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4ba16f
mov eax, dword [ebp - 0x1060]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4ba17f
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1060]
mov dword [ebp - 0x1c], edx
jmp 0x4ba18b
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1060]
mov dword [ebp - 0x1c], eax
jmp 0x4ba131
mov ecx, 1
test ecx, ecx
je 0x4ba1c7
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1064], eax
mov eax, dword [ebp - 0x1064]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4ba1b9
jmp 0x4ba1c7
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1064]
mov dword [ebp - 0x1c], edx
jmp 0x4ba18d
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0x1068], 0xffffffff
mov dword [ebp - 0x106c], 0
jmp 0x4ba1f9
mov ecx, dword [ebp - 0x106c]
add ecx, 1
mov dword [ebp - 0x106c], ecx
cmp dword [ebp - 0x106c], 0
jge 0x4ba22b
mov eax, dword [ebp - 0x106c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4ba220
mov edx, dword [ebp - 0x1068]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4ba1ea
mov dword [ebp - 4], 0xfffffffe
jmp 0x4ba24b
mov dword [ebp - 0x1070], 0
jmp 0x4ba266
mov edx, dword [ebp - 0x1070]
add edx, 1
mov dword [ebp - 0x1070], edx
cmp dword [ebp - 0x1070], 3
jge 0x4ba27d
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1070]
mov dword [ebp - 0x1c], eax
jmp 0x4ba257
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4ba28f
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 0x4ba2a7
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1074], 0
jmp 0x4ba2c2
mov edx, dword [ebp - 0x1074]
add edx, 1
mov dword [ebp - 0x1074], edx
cmp dword [ebp - 0x1074], 3
jge 0x4ba303
cmp dword [ebp - 0x1c], 0
jge 0x4ba2d9
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 0x4ba2ef
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1270]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4ba2b3
mov dword [ebp - 0x1274], 0
jmp 0x4ba31e
mov eax, dword [ebp - 0x1274]
add eax, 1
mov dword [ebp - 0x1274], eax
cmp dword [ebp - 0x1274], 4
jge 0x4ba335
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x1274]
mov dword [ebp - 0x1c], ecx
jmp 0x4ba30f
cmp dword [ebp - 0x1c], 0
jge 0x4ba343
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 0x4ba35b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1278], 0
jmp 0x4ba376
mov edx, dword [ebp - 0x1278]
add edx, 1
mov dword [ebp - 0x1278], edx
cmp dword [ebp - 0x1278], 0
jge 0x4ba3c3
cmp dword [ebp - 0x1c], 0
jge 0x4ba38d
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 0x4ba3a3
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x127c], 0xfa
lea edx, [ebp - 0x127c]
push edx
lea eax, [ebp - 0x1478]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4ba367
mov dword [ebp - 0x147c], 0
jmp 0x4ba3de
mov ecx, dword [ebp - 0x147c]
add ecx, 1
mov dword [ebp - 0x147c], ecx
cmp dword [ebp - 0x147c], 0
jge 0x4ba42b
mov eax, dword [ebp - 0x147c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4ba40d
mov eax, dword [ebp - 0x147c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4ba41d
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x147c]
mov dword [ebp - 0x1c], edx
jmp 0x4ba429
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x147c]
mov dword [ebp - 0x1c], eax
jmp 0x4ba3cf
mov dword [ebp - 0x1480], 0
jmp 0x4ba446
mov ecx, dword [ebp - 0x1480]
add ecx, 1
mov dword [ebp - 0x1480], ecx
cmp dword [ebp - 0x1480], 3
jge 0x4ba493
cmp dword [ebp - 0x1c], 0
jge 0x4ba45d
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 0x4ba473
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1484], 0xfa
lea edx, [ebp - 0x1484]
push edx
lea eax, [ebp - 0x1680]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4ba437
mov dword [ebp - 4], 3
mov dword [ebp - 0x1684], 0xffffffff
mov dword [ebp - 0x1688], 0
jmp 0x4ba4bf
mov ecx, dword [ebp - 0x1688]
add ecx, 1
mov dword [ebp - 0x1688], ecx
cmp dword [ebp - 0x1688], 2
jge 0x4ba4f1
mov eax, dword [ebp - 0x1688]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4ba4e6
mov edx, dword [ebp - 0x1684]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4ba4b0
mov dword [ebp - 4], 0xfffffffe
jmp 0x4ba511
mov dword [ebp - 0x168c], 0
jmp 0x4ba52c
mov edx, dword [ebp - 0x168c]
add edx, 1
mov dword [ebp - 0x168c], edx
cmp dword [ebp - 0x168c], 3
jge 0x4ba56d
cmp dword [ebp - 0x1c], 0
jge 0x4ba543
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 0x4ba559
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1888]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4ba51d
mov eax, 1
test eax, eax
je 0x4ba5a7
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x188c], eax
mov eax, dword [ebp - 0x188c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4ba599
jmp 0x4ba5a7
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x188c]
mov dword [ebp - 0x1c], edx
jmp 0x4ba56d
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1890], 0
jmp 0x4ba5cb
mov ecx, dword [ebp - 0x1890]
add ecx, 1
mov dword [ebp - 0x1890], ecx
cmp dword [ebp - 0x1890], 4
jge 0x4ba5e2
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1890]
mov dword [ebp - 0x1c], edx
jmp 0x4ba5bc
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4ba5f4
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 0x4ba60c
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1894], 0
jmp 0x4ba627
mov edx, dword [ebp - 0x1894]
add edx, 1
mov dword [ebp - 0x1894], edx
cmp dword [ebp - 0x1894], 0
jge 0x4ba63e
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1894]
mov dword [ebp - 0x1c], eax
jmp 0x4ba618
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4ba650
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 0x4ba668
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1898], 0
jmp 0x4ba683
mov edx, dword [ebp - 0x1898]
add edx, 1
mov dword [ebp - 0x1898], edx
cmp dword [ebp - 0x1898], 4
jge 0x4ba6c4
cmp dword [ebp - 0x1c], 0
jge 0x4ba69a
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 0x4ba6b0
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1a90]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4ba674
mov dword [ebp - 0x1a94], 0
jmp 0x4ba6df
mov eax, dword [ebp - 0x1a94]
add eax, 1
mov dword [ebp - 0x1a94], eax
cmp dword [ebp - 0x1a94], 3
jge 0x4ba72c
cmp dword [ebp - 0x1c], 0
jge 0x4ba6f6
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 0x4ba70c
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1a98], 0xfa
lea edx, [ebp - 0x1a98]
push edx
lea eax, [ebp - 0x1c90]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4ba6d0
mov dword [ebp - 0x1c94], 0
jmp 0x4ba747
mov ecx, dword [ebp - 0x1c94]
add ecx, 1
mov dword [ebp - 0x1c94], ecx
cmp dword [ebp - 0x1c94], 2
jge 0x4ba794
cmp dword [ebp - 0x1c], 0
jge 0x4ba75e
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 0x4ba774
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1c98], 0xfa
lea edx, [ebp - 0x1c98]
push edx
lea eax, [ebp - 0x1e90]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4ba738
mov dword [ebp - 0x1e94], 0
jmp 0x4ba7af
mov ecx, dword [ebp - 0x1e94]
add ecx, 1
mov dword [ebp - 0x1e94], ecx
cmp dword [ebp - 0x1e94], 4
jge 0x4ba7fc
mov eax, dword [ebp - 0x1e94]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4ba7de
mov eax, dword [ebp - 0x1e94]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4ba7ee
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1e94]
mov dword [ebp - 0x1c], edx
jmp 0x4ba7fa
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1e94]
mov dword [ebp - 0x1c], eax
jmp 0x4ba7a0
mov dword [ebp - 0x1e98], 0
jmp 0x4ba817
mov ecx, dword [ebp - 0x1e98]
add ecx, 1
mov dword [ebp - 0x1e98], ecx
cmp dword [ebp - 0x1e98], 0
jge 0x4ba82e
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1e98]
mov dword [ebp - 0x1c], edx
jmp 0x4ba808
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4ba840
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 0x4ba858
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1e9c], 0
jmp 0x4ba873
mov edx, dword [ebp - 0x1e9c]
add edx, 1
mov dword [ebp - 0x1e9c], edx
cmp dword [ebp - 0x1e9c], 2
jge 0x4ba88a
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1e9c]
mov dword [ebp - 0x1c], eax
jmp 0x4ba864
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4ba89c
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 0x4ba8b4
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ea0], 0
jmp 0x4ba8cf
mov edx, dword [ebp - 0x1ea0]
add edx, 1
mov dword [ebp - 0x1ea0], edx
cmp dword [ebp - 0x1ea0], 3
jge 0x4ba8e6
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1ea0]
mov dword [ebp - 0x1c], eax
jmp 0x4ba8c0
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4ba8f8
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 0x4ba910
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4ba94a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1ea4], eax
mov eax, dword [ebp - 0x1ea4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4ba93c
jmp 0x4ba94a
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1ea4]
mov dword [ebp - 0x1c], edx
jmp 0x4ba910
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ea8], 0
jmp 0x4ba96e
mov ecx, dword [ebp - 0x1ea8]
add ecx, 1
mov dword [ebp - 0x1ea8], ecx
cmp dword [ebp - 0x1ea8], 4
jge 0x4ba985
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1ea8]
mov dword [ebp - 0x1c], edx
jmp 0x4ba95f
cmp dword [ebp - 0x1c], 0
jge 0x4ba993
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 0x4ba9ab
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1eac], 0
jmp 0x4ba9c6
mov edx, dword [ebp - 0x1eac]
add edx, 1
mov dword [ebp - 0x1eac], edx
cmp dword [ebp - 0x1eac], 4
jge 0x4baa07
cmp dword [ebp - 0x1c], 0
jge 0x4ba9dd
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 0x4ba9f3
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x20a8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4ba9b7
mov dword [ebp - 0x20ac], 0
jmp 0x4baa22
mov eax, dword [ebp - 0x20ac]
add eax, 1
mov dword [ebp - 0x20ac], eax
cmp dword [ebp - 0x20ac], 2
jge 0x4baa63
cmp dword [ebp - 0x1c], 0
jge 0x4baa39
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 0x4baa4f
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x22a8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4baa13
mov eax, 1
test eax, eax
je 0x4baa9d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x22ac], eax
mov eax, dword [ebp - 0x22ac]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4baa8f
jmp 0x4baa9d
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x22ac]
mov dword [ebp - 0x1c], edx
jmp 0x4baa63
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x22b0], 0
jmp 0x4baabe
mov ecx, dword [ebp - 0x22b0]
add ecx, 1
mov dword [ebp - 0x22b0], ecx
cmp dword [ebp - 0x22b0], 4
jge 0x4bab0b
cmp dword [ebp - 0x1c], 0
jge 0x4baad5
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 0x4baaeb
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x22b4], 0xfa
lea edx, [ebp - 0x22b4]
push edx
lea eax, [ebp - 0x24b0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4baaaf
mov dword [ebp - 0x24b4], 0
jmp 0x4bab26
mov ecx, dword [ebp - 0x24b4]
add ecx, 1
mov dword [ebp - 0x24b4], ecx
cmp dword [ebp - 0x24b4], 2
jge 0x4bab3d
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x24b4]
mov dword [ebp - 0x1c], edx
jmp 0x4bab17
cmp dword [ebp - 0x1c], 0
jge 0x4bab4b
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 0x4bab63
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24b8], 0
jmp 0x4bab7e
cmp dword [ebp - 0x24b8], 0
jge 0x4bab95
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x24b8]
mov dword [ebp - 0x1c], eax
jmp 0x4bab6f
cmp dword [ebp - 0x1c], 0
jge 0x4baba3