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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x513e60
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x26f0
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x30], 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 0x4d9a49
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x15
jge 0x4d9a87
mov eax, dword [ebp - 0x20]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4d9a6f
mov eax, dword [ebp - 0x20]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4d9a7c
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x4d9a85
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x4d9a40
mov dword [ebp - 0x24], 0
jmp 0x4d9a99
mov ecx, dword [ebp - 0x24]
add ecx, 1
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], 5
jge 0x4d9aaa
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], edx
jmp 0x4d9a90
cmp dword [ebp - 0x1c], 0
jge 0x4d9ab8
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 0x4d9ad0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4d9b01
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4d9af6
jmp 0x4d9b01
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x28]
mov dword [ebp - 0x1c], edx
jmp 0x4d9ad0
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], 0
jmp 0x4d9b1c
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], 8
jge 0x4d9b5a
cmp dword [ebp - 0x1c], 0
jge 0x4d9b30
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 0x4d9b46
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x228]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4d9b13
mov dword [ebp - 0x22c], 0
jmp 0x4d9b75
mov eax, dword [ebp - 0x22c]
add eax, 1
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x22c], 0
jge 0x4d9b8c
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x22c]
mov dword [ebp - 0x1c], ecx
jmp 0x4d9b66
cmp dword [ebp - 0x1c], 0
jge 0x4d9b9a
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 0x4d9bb2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x230], 0
jmp 0x4d9bcd
mov edx, dword [ebp - 0x230]
add edx, 1
mov dword [ebp - 0x230], edx
cmp dword [ebp - 0x230], 0xf
jge 0x4d9c0e
cmp dword [ebp - 0x1c], 0
jge 0x4d9be4
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 0x4d9bfa
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x428]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4d9bbe
mov dword [ebp - 0x42c], 0
jmp 0x4d9c29
mov eax, dword [ebp - 0x42c]
add eax, 1
mov dword [ebp - 0x42c], eax
cmp dword [ebp - 0x42c], 0xb
jge 0x4d9c76
cmp dword [ebp - 0x1c], 0
jge 0x4d9c40
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 0x4d9c56
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x430], 0xfa
lea edx, [ebp - 0x430]
push edx
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4d9c1a
mov dword [ebp - 0x62c], 0
jmp 0x4d9c91
mov ecx, dword [ebp - 0x62c]
add ecx, 1
mov dword [ebp - 0x62c], ecx
cmp dword [ebp - 0x62c], 0x10
jge 0x4d9ca8
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x62c]
mov dword [ebp - 0x1c], edx
jmp 0x4d9c82
cmp dword [ebp - 0x1c], 0
jge 0x4d9cb6
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 0x4d9cce
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4d9d08
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x630], eax
mov eax, dword [ebp - 0x630]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4d9cfa
jmp 0x4d9d08
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x630]
mov dword [ebp - 0x1c], edx
jmp 0x4d9cce
mov eax, dword [ebp - 0x1c]
add eax, 0xc
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x634], 0
jmp 0x4d9d2c
mov ecx, dword [ebp - 0x634]
add ecx, 1
mov dword [ebp - 0x634], ecx
cmp dword [ebp - 0x634], 3
jge 0x4d9d79
cmp dword [ebp - 0x1c], 0
jge 0x4d9d43
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 0x4d9d59
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x638], 0xfa
lea edx, [ebp - 0x638]
push edx
lea eax, [ebp - 0x830]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4d9d1d
mov dword [ebp - 4], 0
mov dword [ebp - 0x834], 0xffffffff
mov dword [ebp - 0x838], 0
jmp 0x4d9da5
mov ecx, dword [ebp - 0x838]
add ecx, 1
mov dword [ebp - 0x838], ecx
cmp dword [ebp - 0x838], 1
jge 0x4d9dd7
mov eax, dword [ebp - 0x838]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4d9dcc
mov edx, dword [ebp - 0x834]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4d9d96
mov dword [ebp - 4], 0xfffffffe
jmp 0x4d9df7
mov dword [ebp - 0x83c], 0
jmp 0x4d9e12
mov edx, dword [ebp - 0x83c]
add edx, 1
mov dword [ebp - 0x83c], edx
cmp dword [ebp - 0x83c], 3
jge 0x4d9e5f
cmp dword [ebp - 0x1c], 0
jge 0x4d9e29
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 0x4d9e3f
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x840], 0xfa
lea edx, [ebp - 0x840]
push edx
lea eax, [ebp - 0xa38]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4d9e03
mov dword [ebp - 0xa3c], 0
jmp 0x4d9e7a
mov ecx, dword [ebp - 0xa3c]
add ecx, 1
mov dword [ebp - 0xa3c], ecx
cmp dword [ebp - 0xa3c], 4
jge 0x4d9ec7
mov eax, dword [ebp - 0xa3c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4d9ea9
mov eax, dword [ebp - 0xa3c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4d9eb9
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa3c]
mov dword [ebp - 0x1c], edx
jmp 0x4d9ec5
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa3c]
mov dword [ebp - 0x1c], eax
jmp 0x4d9e6b
mov dword [ebp - 0xa40], 0
jmp 0x4d9ee2
mov ecx, dword [ebp - 0xa40]
add ecx, 1
mov dword [ebp - 0xa40], ecx
cmp dword [ebp - 0xa40], 2
jge 0x4d9f23
cmp dword [ebp - 0x1c], 0
jge 0x4d9ef9
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 0x4d9f0f
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc38]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4d9ed3
mov dword [ebp - 0xc3c], 0
jmp 0x4d9f3e
mov eax, dword [ebp - 0xc3c]
add eax, 1
mov dword [ebp - 0xc3c], eax
cmp dword [ebp - 0xc3c], 5
jge 0x4d9f55
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0xc3c]
mov dword [ebp - 0x1c], ecx
jmp 0x4d9f2f
cmp dword [ebp - 0x1c], 0
jge 0x4d9f63
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 0x4d9f7b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0xc40], 0xffffffff
mov dword [ebp - 0xc44], 0
jmp 0x4d9fa7
mov edx, dword [ebp - 0xc44]
add edx, 1
mov dword [ebp - 0xc44], edx
cmp dword [ebp - 0xc44], 0
jge 0x4d9fd9
mov eax, dword [ebp - 0xc44]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4d9fce
mov edx, dword [ebp - 0xc40]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4d9f98
mov dword [ebp - 4], 0xfffffffe
jmp 0x4d9ff9
mov edx, 1
test edx, edx
je 0x4da033
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc48], eax
mov eax, dword [ebp - 0xc48]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4da025
jmp 0x4da033
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xc48]
mov dword [ebp - 0x1c], edx
jmp 0x4d9ff9
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc4c], 0
jmp 0x4da054
mov ecx, dword [ebp - 0xc4c]
add ecx, 1
mov dword [ebp - 0xc4c], ecx
cmp dword [ebp - 0xc4c], 3
jge 0x4da06b
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc4c]
mov dword [ebp - 0x1c], edx
jmp 0x4da045
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4da07d
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 0x4da095
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc50], 0
jmp 0x4da0b0
mov edx, dword [ebp - 0xc50]
add edx, 1
mov dword [ebp - 0xc50], edx
cmp dword [ebp - 0xc50], 3
jge 0x4da0fd
mov eax, dword [ebp - 0xc50]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4da0df
mov eax, dword [ebp - 0xc50]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4da0ef
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc50]
mov dword [ebp - 0x1c], edx
jmp 0x4da0fb
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xc50]
mov dword [ebp - 0x1c], eax
jmp 0x4da0a1
mov dword [ebp - 0xc54], 0
jmp 0x4da118
mov ecx, dword [ebp - 0xc54]
add ecx, 1
mov dword [ebp - 0xc54], ecx
cmp dword [ebp - 0xc54], 4
jge 0x4da165
cmp dword [ebp - 0x1c], 0
jge 0x4da12f
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 0x4da145
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc58], 0xfa
lea edx, [ebp - 0xc58]
push edx
lea eax, [ebp - 0xe50]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4da109
mov dword [ebp - 0xe54], 0
jmp 0x4da180
mov ecx, dword [ebp - 0xe54]
add ecx, 1
mov dword [ebp - 0xe54], ecx
cmp dword [ebp - 0xe54], 4
jge 0x4da197
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xe54]
mov dword [ebp - 0x1c], edx
jmp 0x4da171
cmp dword [ebp - 0x1c], 0
jge 0x4da1a5
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 0x4da1bd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4da1f7
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xe58], eax
mov eax, dword [ebp - 0xe58]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4da1e9
jmp 0x4da1f7
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xe58]
mov dword [ebp - 0x1c], edx
jmp 0x4da1bd
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe5c], 0
jmp 0x4da21b
mov ecx, dword [ebp - 0xe5c]
add ecx, 1
mov dword [ebp - 0xe5c], ecx
cmp dword [ebp - 0xe5c], 4
jge 0x4da232
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xe5c]
mov dword [ebp - 0x1c], edx
jmp 0x4da20c
cmp dword [ebp - 0x1c], 0
jge 0x4da240
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 0x4da258
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe60], 0
jmp 0x4da273
mov edx, dword [ebp - 0xe60]
add edx, 1
mov dword [ebp - 0xe60], edx
cmp dword [ebp - 0xe60], 3
jge 0x4da28a
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xe60]
mov dword [ebp - 0x1c], eax
jmp 0x4da264
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4da29c
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 0x4da2b4
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0xe64], 0xffffffff
mov dword [ebp - 0xe68], 0
jmp 0x4da2e0
mov edx, dword [ebp - 0xe68]
add edx, 1
mov dword [ebp - 0xe68], edx
cmp dword [ebp - 0xe68], 2
jge 0x4da312
mov eax, dword [ebp - 0xe68]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4da307
mov edx, dword [ebp - 0xe64]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4da2d1
mov dword [ebp - 4], 0xfffffffe
jmp 0x4da332
mov edx, 1
test edx, edx
je 0x4da36c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xe6c], eax
mov eax, dword [ebp - 0xe6c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4da35e
jmp 0x4da36c
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xe6c]
mov dword [ebp - 0x1c], edx
jmp 0x4da332
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4da3af
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xe70], eax
mov eax, dword [ebp - 0xe70]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4da3a1
jmp 0x4da3af
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xe70]
mov dword [ebp - 0x1c], edx
jmp 0x4da375
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe74], 0
jmp 0x4da3d3
mov ecx, dword [ebp - 0xe74]
add ecx, 1
mov dword [ebp - 0xe74], ecx
cmp dword [ebp - 0xe74], 4
jge 0x4da420
mov eax, dword [ebp - 0xe74]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4da402
mov eax, dword [ebp - 0xe74]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4da412
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe74]
mov dword [ebp - 0x1c], edx
jmp 0x4da41e
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xe74]
mov dword [ebp - 0x1c], eax
jmp 0x4da3c4
mov dword [ebp - 0xe78], 0
jmp 0x4da43b
mov ecx, dword [ebp - 0xe78]
add ecx, 1
mov dword [ebp - 0xe78], ecx
cmp dword [ebp - 0xe78], 2
jge 0x4da452
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xe78]
mov dword [ebp - 0x1c], edx
jmp 0x4da42c
cmp dword [ebp - 0x1c], 0
jge 0x4da460
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 0x4da478
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe7c], 0
jmp 0x4da493
mov edx, dword [ebp - 0xe7c]
add edx, 1
mov dword [ebp - 0xe7c], edx
cmp dword [ebp - 0xe7c], 3
jge 0x4da4d4
cmp dword [ebp - 0x1c], 0
jge 0x4da4aa
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 0x4da4c0
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1078]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4da484
mov dword [ebp - 0x107c], 0
jmp 0x4da4ef
mov eax, dword [ebp - 0x107c]
add eax, 1
mov dword [ebp - 0x107c], eax
cmp dword [ebp - 0x107c], 2
jge 0x4da53c
mov eax, dword [ebp - 0x107c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4da51e
mov eax, dword [ebp - 0x107c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4da52e
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x107c]
mov dword [ebp - 0x1c], edx
jmp 0x4da53a
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x107c]
mov dword [ebp - 0x1c], eax
jmp 0x4da4e0
mov ecx, 1
test ecx, ecx
je 0x4da576
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1080], eax
mov eax, dword [ebp - 0x1080]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4da568
jmp 0x4da576
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1080]
mov dword [ebp - 0x1c], edx
jmp 0x4da53c
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1084], 0
jmp 0x4da59a
mov ecx, dword [ebp - 0x1084]
add ecx, 1
mov dword [ebp - 0x1084], ecx
cmp dword [ebp - 0x1084], 1
jge 0x4da5b1
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1084]
mov dword [ebp - 0x1c], edx
jmp 0x4da58b
cmp dword [ebp - 0x1c], 0
jge 0x4da5bf
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 0x4da5d7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1088], 0
jmp 0x4da5f2
mov edx, dword [ebp - 0x1088]
add edx, 1
mov dword [ebp - 0x1088], edx
cmp dword [ebp - 0x1088], 2
jge 0x4da63f
mov eax, dword [ebp - 0x1088]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4da621
mov eax, dword [ebp - 0x1088]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4da631
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1088]
mov dword [ebp - 0x1c], edx
jmp 0x4da63d
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1088]
mov dword [ebp - 0x1c], eax
jmp 0x4da5e3
mov dword [ebp - 0x108c], 0
jmp 0x4da65a
mov ecx, dword [ebp - 0x108c]
add ecx, 1
mov dword [ebp - 0x108c], ecx
cmp dword [ebp - 0x108c], 4
jge 0x4da671
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x108c]
mov dword [ebp - 0x1c], edx
jmp 0x4da64b
cmp dword [ebp - 0x1c], 0
jge 0x4da67f
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 0x4da697
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1090], 0
jmp 0x4da6b2
mov edx, dword [ebp - 0x1090]
add edx, 1
mov dword [ebp - 0x1090], edx
cmp dword [ebp - 0x1090], 3
jge 0x4da6c9
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1090]
mov dword [ebp - 0x1c], eax
jmp 0x4da6a3
cmp dword [ebp - 0x1c], 0
jge 0x4da6d7
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 0x4da6ef
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1094], 0
jmp 0x4da70a
mov edx, dword [ebp - 0x1094]
add edx, 1
mov dword [ebp - 0x1094], edx
cmp dword [ebp - 0x1094], 2
jge 0x4da757
mov eax, dword [ebp - 0x1094]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4da739
mov eax, dword [ebp - 0x1094]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4da749
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1094]
mov dword [ebp - 0x1c], edx
jmp 0x4da755
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1094]
mov dword [ebp - 0x1c], eax
jmp 0x4da6fb
mov ecx, 1
test ecx, ecx
je 0x4da791
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1098], eax
mov eax, dword [ebp - 0x1098]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4da783
jmp 0x4da791
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1098]
mov dword [ebp - 0x1c], edx
jmp 0x4da757
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4da7d4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x109c], eax
mov eax, dword [ebp - 0x109c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4da7c6
jmp 0x4da7d4
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x109c]
mov dword [ebp - 0x1c], edx
jmp 0x4da79a
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10a0], 0
jmp 0x4da7f8
mov ecx, dword [ebp - 0x10a0]
add ecx, 1
mov dword [ebp - 0x10a0], ecx
cmp dword [ebp - 0x10a0], 3
jge 0x4da845
cmp dword [ebp - 0x1c], 0
jge 0x4da80f
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 0x4da825
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x10a4], 0xfa
lea edx, [ebp - 0x10a4]
push edx
lea eax, [ebp - 0x12a0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4da7e9
mov dword [ebp - 0x12a4], 0
jmp 0x4da860
mov ecx, dword [ebp - 0x12a4]
add ecx, 1
mov dword [ebp - 0x12a4], ecx
cmp dword [ebp - 0x12a4], 0
jge 0x4da877
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x12a4]
mov dword [ebp - 0x1c], edx
jmp 0x4da851
cmp dword [ebp - 0x1c], 0
jge 0x4da885
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 0x4da89d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12a8], 0
jmp 0x4da8b8
mov edx, dword [ebp - 0x12a8]
add edx, 1
mov dword [ebp - 0x12a8], edx
cmp dword [ebp - 0x12a8], 2
jge 0x4da905
cmp dword [ebp - 0x1c], 0
jge 0x4da8cf
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 0x4da8e5
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x12ac], 0xfa
lea edx, [ebp - 0x12ac]
push edx
lea eax, [ebp - 0x14a8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4da8a9
mov dword [ebp - 0x14ac], 0
jmp 0x4da920
mov ecx, dword [ebp - 0x14ac]
add ecx, 1
mov dword [ebp - 0x14ac], ecx
cmp dword [ebp - 0x14ac], 2
jge 0x4da96d
cmp dword [ebp - 0x1c], 0
jge 0x4da937
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 0x4da94d
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14b0], 0xfa
lea edx, [ebp - 0x14b0]
push edx
lea eax, [ebp - 0x16a8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4da911
mov dword [ebp - 0x16ac], 0
jmp 0x4da988
mov ecx, dword [ebp - 0x16ac]
add ecx, 1
mov dword [ebp - 0x16ac], ecx
cmp dword [ebp - 0x16ac], 3
jge 0x4da99f
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x16ac]
mov dword [ebp - 0x1c], edx
jmp 0x4da979
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4da9b1
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 0x4da9c9
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16b0], 0
jmp 0x4da9e4
mov edx, dword [ebp - 0x16b0]
add edx, 1
mov dword [ebp - 0x16b0], edx
cmp dword [ebp - 0x16b0], 2
jge 0x4daa25
cmp dword [ebp - 0x1c], 0
jge 0x4da9fb
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 0x4daa11
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x18a8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4da9d5
mov eax, 1
test eax, eax
je 0x4daa5f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x18ac], eax
mov eax, dword [ebp - 0x18ac]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4daa51
jmp 0x4daa5f
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x18ac]
mov dword [ebp - 0x1c], edx
jmp 0x4daa25
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18b0], 0
jmp 0x4daa83
mov ecx, dword [ebp - 0x18b0]
add ecx, 1
mov dword [ebp - 0x18b0], ecx
cmp dword [ebp - 0x18b0], 0
jge 0x4daa9a
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x18b0]
mov dword [ebp - 0x1c], edx
jmp 0x4daa74
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4daaac
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 0x4daac4
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18b4], 0
jmp 0x4daadf
mov edx, dword [ebp - 0x18b4]
add edx, 1
mov dword [ebp - 0x18b4], edx
cmp dword [ebp - 0x18b4], 1
jge 0x4dab2c
cmp dword [ebp - 0x1c], 0
jge 0x4daaf6
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 0x4dab0c
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18b8], 0xfa
lea edx, [ebp - 0x18b8]
push edx
lea eax, [ebp - 0x1ab0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4daad0
mov dword [ebp - 4], 3
mov dword [ebp - 0x1ab4], 0xffffffff
mov dword [ebp - 0x1ab8], 0
jmp 0x4dab58
mov ecx, dword [ebp - 0x1ab8]
add ecx, 1
mov dword [ebp - 0x1ab8], ecx
cmp dword [ebp - 0x1ab8], 3
jge 0x4dab8a
mov eax, dword [ebp - 0x1ab8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4dab7f
mov edx, dword [ebp - 0x1ab4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4dab49
mov dword [ebp - 4], 0xfffffffe
jmp 0x4dabaa
mov dword [ebp - 0x1abc], 0
jmp 0x4dabc5
mov edx, dword [ebp - 0x1abc]
add edx, 1
mov dword [ebp - 0x1abc], edx
cmp dword [ebp - 0x1abc], 3
jge 0x4dabdc
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1abc]
mov dword [ebp - 0x1c], eax
jmp 0x4dabb6
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4dabee
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 0x4dac06
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 4
mov dword [ebp - 0x1ac0], 0xffffffff
mov dword [ebp - 0x1ac4], 0
jmp 0x4dac32
cmp dword [ebp - 0x1ac4], 0
jge 0x4dac64
mov eax, dword [ebp - 0x1ac4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4dac59
mov dword [ebp - 4], 0xfffffffe
jmp 0x4dac84