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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x512ba0
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x1ebc
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x34], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
jmp 0x49fd89
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xf
jge 0x49fd9a
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
jmp 0x49fd80
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x49fdac
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 0x49fdc4
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0
jmp 0x49fdd6
mov edx, dword [ebp - 0x24]
add edx, 1
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 4
jge 0x49fde7
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
jmp 0x49fdcd
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x49fdf9
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 0x49fe11
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], 0
jmp 0x49fe23
mov edx, dword [ebp - 0x28]
add edx, 1
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x28], 0x15
jge 0x49fe34
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
jmp 0x49fe1a
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x49fe46
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 0x49fe5e
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], 0
jmp 0x49fe70
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 0x3a
jge 0x49fe81
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
jmp 0x49fe67
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x49fe93
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 0x49feab
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x30], 0
jmp 0x49febd
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x30], 3
jge 0x49fefb
cmp dword [ebp - 0x1c], 0
jge 0x49fed1
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 0x49fee7
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x230]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x49feb4
mov dword [ebp - 0x234], 0
jmp 0x49ff16
mov eax, dword [ebp - 0x234]
add eax, 1
mov dword [ebp - 0x234], eax
cmp dword [ebp - 0x234], 0x20
jge 0x49ff57
cmp dword [ebp - 0x1c], 0
jge 0x49ff2d
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 0x49ff43
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x430]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x49ff07
mov dword [ebp - 4], 0
mov dword [ebp - 0x434], 0xffffffff
mov dword [ebp - 0x438], 0
jmp 0x49ff83
mov eax, dword [ebp - 0x438]
add eax, 1
mov dword [ebp - 0x438], eax
cmp dword [ebp - 0x438], 0x10
jge 0x49ffb5
mov eax, dword [ebp - 0x438]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x49ffaa
mov edx, dword [ebp - 0x434]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x49ff74
mov dword [ebp - 4], 0xfffffffe
jmp 0x49ffd5
mov dword [ebp - 0x43c], 0
jmp 0x49fff0
mov edx, dword [ebp - 0x43c]
add edx, 1
mov dword [ebp - 0x43c], edx
cmp dword [ebp - 0x43c], 0x1f
jge 0x4a0031
cmp dword [ebp - 0x1c], 0
jge 0x4a0007
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 0x4a001d
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x638]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x49ffe1
mov dword [ebp - 4], 1
mov dword [ebp - 0x63c], 0xffffffff
mov dword [ebp - 0x640], 0
jmp 0x4a005d
mov eax, dword [ebp - 0x640]
add eax, 1
mov dword [ebp - 0x640], eax
cmp dword [ebp - 0x640], 0x12
jge 0x4a008f
mov eax, dword [ebp - 0x640]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4a0084
mov edx, dword [ebp - 0x63c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4a004e
mov dword [ebp - 4], 0xfffffffe
jmp 0x4a00af
mov edx, 1
test edx, edx
je 0x4a00e9
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x644], eax
mov eax, dword [ebp - 0x644]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a00db
jmp 0x4a00e9
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x644]
mov dword [ebp - 0x1c], edx
jmp 0x4a00af
mov eax, dword [ebp - 0x1c]
add eax, 0xd
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4a012c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x648], eax
mov eax, dword [ebp - 0x648]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a011e
jmp 0x4a012c
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x648]
mov dword [ebp - 0x1c], edx
jmp 0x4a00f2
mov eax, dword [ebp - 0x1c]
add eax, 0xd
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4a016f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x64c], eax
mov eax, dword [ebp - 0x64c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a0161
jmp 0x4a016f
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x64c]
mov dword [ebp - 0x1c], edx
jmp 0x4a0135
mov eax, dword [ebp - 0x1c]
add eax, 0x1c
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x650], 0
jmp 0x4a0193
mov ecx, dword [ebp - 0x650]
add ecx, 1
mov dword [ebp - 0x650], ecx
cmp dword [ebp - 0x650], 0xc
jge 0x4a01d4
cmp dword [ebp - 0x1c], 0
jge 0x4a01aa
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 0x4a01c0
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x848]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a0184
mov dword [ebp - 0x84c], 0
jmp 0x4a01ef
mov eax, dword [ebp - 0x84c]
add eax, 1
mov dword [ebp - 0x84c], eax
cmp dword [ebp - 0x84c], 0xa
jge 0x4a0230
cmp dword [ebp - 0x1c], 0
jge 0x4a0206
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 0x4a021c
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa48]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a01e0
mov dword [ebp - 0xa4c], 0
jmp 0x4a024b
mov eax, dword [ebp - 0xa4c]
add eax, 1
mov dword [ebp - 0xa4c], eax
cmp dword [ebp - 0xa4c], 4
jge 0x4a0298
cmp dword [ebp - 0x1c], 0
jge 0x4a0262
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 0x4a0278
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 0x4a023c
mov dword [ebp - 0xc4c], 0
jmp 0x4a02b3
mov ecx, dword [ebp - 0xc4c]
add ecx, 1
mov dword [ebp - 0xc4c], ecx
cmp dword [ebp - 0xc4c], 1
jge 0x4a02ca
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xc4c]
mov dword [ebp - 0x1c], edx
jmp 0x4a02a4
cmp dword [ebp - 0x1c], 0
jge 0x4a02d8
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 0x4a02f0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc50], 0
jmp 0x4a030b
mov edx, dword [ebp - 0xc50]
add edx, 1
mov dword [ebp - 0xc50], edx
cmp dword [ebp - 0xc50], 2
jge 0x4a0358
cmp dword [ebp - 0x1c], 0
jge 0x4a0322
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 0x4a0338
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 0x4a02fc
mov ecx, 1
test ecx, ecx
je 0x4a0392
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xe54], eax
mov eax, dword [ebp - 0xe54]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a0384
jmp 0x4a0392
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xe54]
mov dword [ebp - 0x1c], edx
jmp 0x4a0358
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe58], 0
jmp 0x4a03b6
mov ecx, dword [ebp - 0xe58]
add ecx, 1
mov dword [ebp - 0xe58], ecx
cmp dword [ebp - 0xe58], 6
jge 0x4a03cd
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe58]
mov dword [ebp - 0x1c], edx
jmp 0x4a03a7
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a03df
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 0x4a03f7
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe5c], 0
jmp 0x4a0412
mov edx, dword [ebp - 0xe5c]
add edx, 1
mov dword [ebp - 0xe5c], edx
cmp dword [ebp - 0xe5c], 1
jge 0x4a0453
cmp dword [ebp - 0x1c], 0
jge 0x4a0429
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 0x4a043f
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1058]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a0403
mov dword [ebp - 0x105c], 0
jmp 0x4a046e
mov eax, dword [ebp - 0x105c]
add eax, 1
mov dword [ebp - 0x105c], eax
cmp dword [ebp - 0x105c], 0xf
jge 0x4a04bb
mov eax, dword [ebp - 0x105c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a049d
mov eax, dword [ebp - 0x105c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a04ad
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x105c]
mov dword [ebp - 0x1c], edx
jmp 0x4a04b9
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x105c]
mov dword [ebp - 0x1c], eax
jmp 0x4a045f
mov dword [ebp - 0x1060], 0
jmp 0x4a04d6
mov ecx, dword [ebp - 0x1060]
add ecx, 1
mov dword [ebp - 0x1060], ecx
cmp dword [ebp - 0x1060], 0xc
jge 0x4a0523
cmp dword [ebp - 0x1c], 0
jge 0x4a04ed
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 0x4a0503
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1064], 0xfa
lea edx, [ebp - 0x1064]
push edx
lea eax, [ebp - 0x1260]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4a04c7
mov ecx, 1
test ecx, ecx
je 0x4a055d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1264], eax
mov eax, dword [ebp - 0x1264]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a054f
jmp 0x4a055d
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1264]
mov dword [ebp - 0x1c], edx
jmp 0x4a0523
mov eax, dword [ebp - 0x1c]
add eax, 0xb
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4a05a0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1268], eax
mov eax, dword [ebp - 0x1268]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a0592
jmp 0x4a05a0
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1268]
mov dword [ebp - 0x1c], edx
jmp 0x4a0566
mov eax, dword [ebp - 0x1c]
add eax, 7
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x126c], 0
jmp 0x4a05c4
mov ecx, dword [ebp - 0x126c]
add ecx, 1
mov dword [ebp - 0x126c], ecx
cmp dword [ebp - 0x126c], 7
jge 0x4a0611
cmp dword [ebp - 0x1c], 0
jge 0x4a05db
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 0x4a05f1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1270], 0xfa
lea edx, [ebp - 0x1270]
push edx
lea eax, [ebp - 0x1468]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4a05b5
mov ecx, 1
test ecx, ecx
je 0x4a064b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x146c], eax
mov eax, dword [ebp - 0x146c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a063d
jmp 0x4a064b
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x146c]
mov dword [ebp - 0x1c], edx
jmp 0x4a0611
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1470], 0
jmp 0x4a066f
mov ecx, dword [ebp - 0x1470]
add ecx, 1
mov dword [ebp - 0x1470], ecx
cmp dword [ebp - 0x1470], 0
jge 0x4a06bc
cmp dword [ebp - 0x1c], 0
jge 0x4a0686
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 0x4a069c
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1474], 0xfa
lea edx, [ebp - 0x1474]
push edx
lea eax, [ebp - 0x1670]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4a0660
mov dword [ebp - 4], 2
mov dword [ebp - 0x1674], 0xffffffff
mov dword [ebp - 0x1678], 0
jmp 0x4a06e8
mov ecx, dword [ebp - 0x1678]
add ecx, 1
mov dword [ebp - 0x1678], ecx
cmp dword [ebp - 0x1678], 2
jge 0x4a071a
mov eax, dword [ebp - 0x1678]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4a070f
mov edx, dword [ebp - 0x1674]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4a06d9
mov dword [ebp - 4], 0xfffffffe
jmp 0x4a073a
mov dword [ebp - 0x167c], 0
jmp 0x4a0755
mov edx, dword [ebp - 0x167c]
add edx, 1
mov dword [ebp - 0x167c], edx
cmp dword [ebp - 0x167c], 0
jge 0x4a0796
cmp dword [ebp - 0x1c], 0
jge 0x4a076c
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 0x4a0782
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1878]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a0746
mov dword [ebp - 0x187c], 0
jmp 0x4a07b1
mov eax, dword [ebp - 0x187c]
add eax, 1
mov dword [ebp - 0x187c], eax
cmp dword [ebp - 0x187c], 2
jge 0x4a07f2
cmp dword [ebp - 0x1c], 0
jge 0x4a07c8
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 0x4a07de
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1a78]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a07a2
mov dword [ebp - 0x1a7c], 0
jmp 0x4a080d
mov eax, dword [ebp - 0x1a7c]
add eax, 1
mov dword [ebp - 0x1a7c], eax
cmp dword [ebp - 0x1a7c], 4
jge 0x4a0824
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x1a7c]
mov dword [ebp - 0x1c], ecx
jmp 0x4a07fe
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a0836
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 0x4a084e
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 3
mov dword [ebp - 0x1a80], 0xffffffff
mov dword [ebp - 0x1a84], 0
jmp 0x4a087a
mov edx, dword [ebp - 0x1a84]
add edx, 1
mov dword [ebp - 0x1a84], edx
cmp dword [ebp - 0x1a84], 3
jge 0x4a08ac
mov eax, dword [ebp - 0x1a84]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4a08a1
mov edx, dword [ebp - 0x1a80]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4a086b
mov dword [ebp - 4], 0xfffffffe
jmp 0x4a08cc
mov dword [ebp - 4], 4
mov dword [ebp - 0x1a88], 0xffffffff
mov dword [ebp - 0x1a8c], 0
jmp 0x4a08f8
mov edx, dword [ebp - 0x1a8c]
add edx, 1
mov dword [ebp - 0x1a8c], edx
cmp dword [ebp - 0x1a8c], 4
jge 0x4a092a
mov eax, dword [ebp - 0x1a8c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4a091f
mov edx, dword [ebp - 0x1a88]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4a08e9
mov dword [ebp - 4], 0xfffffffe
jmp 0x4a094a
mov edx, 1
test edx, edx
je 0x4a0984
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1a90], eax
mov eax, dword [ebp - 0x1a90]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a0976
jmp 0x4a0984
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1a90]
mov dword [ebp - 0x1c], edx
jmp 0x4a094a
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1a94], 0
jmp 0x4a09a8
mov ecx, dword [ebp - 0x1a94]
add ecx, 1
mov dword [ebp - 0x1a94], ecx
cmp dword [ebp - 0x1a94], 1
jge 0x4a09bf
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1a94]
mov dword [ebp - 0x1c], edx
jmp 0x4a0999
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a09d1
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 0x4a09e9
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1a98], 0
jmp 0x4a0a04
mov edx, dword [ebp - 0x1a98]
add edx, 1
mov dword [ebp - 0x1a98], edx
cmp dword [ebp - 0x1a98], 0
jge 0x4a0a1b
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1a98]
mov dword [ebp - 0x1c], eax
jmp 0x4a09f5
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a0a2d
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 0x4a0a45
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 5
mov dword [ebp - 0x1a9c], 0xffffffff
mov dword [ebp - 0x1aa0], 0
jmp 0x4a0a71
mov edx, dword [ebp - 0x1aa0]
add edx, 1
mov dword [ebp - 0x1aa0], edx
cmp dword [ebp - 0x1aa0], 3
jge 0x4a0aa3
mov eax, dword [ebp - 0x1aa0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4a0a98
mov edx, dword [ebp - 0x1a9c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4a0a62
mov dword [ebp - 4], 0xfffffffe
jmp 0x4a0ac3
mov edx, 1
test edx, edx
je 0x4a0afd
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1aa4], eax
mov eax, dword [ebp - 0x1aa4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a0aef
jmp 0x4a0afd
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1aa4]
mov dword [ebp - 0x1c], edx
jmp 0x4a0ac3
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4a0b40
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1aa8], eax
mov eax, dword [ebp - 0x1aa8]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a0b32
jmp 0x4a0b40
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1aa8]
mov dword [ebp - 0x1c], edx
jmp 0x4a0b06
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1aac], 0
jmp 0x4a0b64
mov ecx, dword [ebp - 0x1aac]
add ecx, 1
mov dword [ebp - 0x1aac], ecx
cmp dword [ebp - 0x1aac], 3
jge 0x4a0bb1
mov eax, dword [ebp - 0x1aac]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a0b93
mov eax, dword [ebp - 0x1aac]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a0ba3
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1aac]
mov dword [ebp - 0x1c], edx
jmp 0x4a0baf
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1aac]
mov dword [ebp - 0x1c], eax
jmp 0x4a0b55
mov dword [ebp - 0x1ab0], 0
jmp 0x4a0bcc
mov ecx, dword [ebp - 0x1ab0]
add ecx, 1
mov dword [ebp - 0x1ab0], ecx
cmp dword [ebp - 0x1ab0], 1
jge 0x4a0c19
mov eax, dword [ebp - 0x1ab0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a0bfb
mov eax, dword [ebp - 0x1ab0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a0c0b
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1ab0]
mov dword [ebp - 0x1c], edx
jmp 0x4a0c17
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1ab0]
mov dword [ebp - 0x1c], eax
jmp 0x4a0bbd
mov dword [ebp - 0x1ab4], 0
jmp 0x4a0c34
mov ecx, dword [ebp - 0x1ab4]
add ecx, 1
mov dword [ebp - 0x1ab4], ecx
cmp dword [ebp - 0x1ab4], 2
jge 0x4a0c81
cmp dword [ebp - 0x1c], 0
jge 0x4a0c4b
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 0x4a0c61
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1ab8], 0xfa
lea edx, [ebp - 0x1ab8]
push edx
lea eax, [ebp - 0x1cb0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4a0c25
mov dword [ebp - 4], 6
mov dword [ebp - 0x1cb4], 0xffffffff
mov dword [ebp - 0x1cb8], 0
jmp 0x4a0cad
mov ecx, dword [ebp - 0x1cb8]
add ecx, 1
mov dword [ebp - 0x1cb8], ecx
cmp dword [ebp - 0x1cb8], 3
jge 0x4a0cdf
mov eax, dword [ebp - 0x1cb8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4a0cd4
mov edx, dword [ebp - 0x1cb4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4a0c9e
mov dword [ebp - 4], 0xfffffffe
jmp 0x4a0cff
mov dword [ebp - 0x1cbc], 0
jmp 0x4a0d1a
mov edx, dword [ebp - 0x1cbc]
add edx, 1
mov dword [ebp - 0x1cbc], edx
cmp dword [ebp - 0x1cbc], 2
jge 0x4a0d31
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1cbc]
mov dword [ebp - 0x1c], eax
jmp 0x4a0d0b
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a0d43
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 0x4a0d5b
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1cc0], 0
jmp 0x4a0d76
mov edx, dword [ebp - 0x1cc0]
add edx, 1
mov dword [ebp - 0x1cc0], edx
cmp dword [ebp - 0x1cc0], 1
jge 0x4a0dc3
cmp dword [ebp - 0x1c], 0
jge 0x4a0d8d
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 0x4a0da3
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1cc4], 0xfa
lea edx, [ebp - 0x1cc4]
push edx
lea eax, [ebp - 0x1ec0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4a0d67
mov dword [ebp - 0x1ec4], 0
jmp 0x4a0dde
mov ecx, dword [ebp - 0x1ec4]
add ecx, 1
mov dword [ebp - 0x1ec4], ecx
cmp dword [ebp - 0x1ec4], 1
jge 0x4a0e2b
mov eax, dword [ebp - 0x1ec4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a0e0d
mov eax, dword [ebp - 0x1ec4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a0e1d
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1ec4]
mov dword [ebp - 0x1c], edx
jmp 0x4a0e29
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1ec4]
mov dword [ebp - 0x1c], eax
jmp 0x4a0dcf
mov ecx, 1
test ecx, ecx
je 0x4a0e65
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1ec8], eax
mov eax, dword [ebp - 0x1ec8]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a0e57
jmp 0x4a0e65
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1ec8]
mov dword [ebp - 0x1c], edx
jmp 0x4a0e2b
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4a0ea8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1ecc], eax
mov eax, dword [ebp - 0x1ecc]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a0e9a
jmp 0x4a0ea8
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1ecc]
mov dword [ebp - 0x1c], edx
jmp 0x4a0e6e
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 7
mov dword [ebp - 0x1ed0], 0xffffffff
mov dword [ebp - 0x1ed4], 0
jmp 0x4a0eda
mov ecx, dword [ebp - 0x1ed4]
add ecx, 1
mov dword [ebp - 0x1ed4], ecx
cmp dword [ebp - 0x1ed4], 0
jge 0x4a0f0c
mov eax, dword [ebp - 0x1ed4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4a0f01
mov edx, dword [ebp - 0x1ed0]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4a0ecb
mov dword [ebp - 4], 0xfffffffe
jmp 0x4a0f2c
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 - 0x34]
xor ecx, ebp
call fcn.004079a5
mov esp, ebp
pop ebp
ret