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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x513518
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x2b30
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x24], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
jmp 0x4bd839
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jge 0x4bd877
cmp dword [ebp - 0x1c], 0
jge 0x4bd84d
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 0x4bd863
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x220]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4bd830
mov dword [ebp - 0x224], 0
jmp 0x4bd892
mov eax, dword [ebp - 0x224]
add eax, 1
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x224], 0x1a
jge 0x4bd8a9
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x224]
mov dword [ebp - 0x1c], ecx
jmp 0x4bd883
cmp dword [ebp - 0x1c], 0
jge 0x4bd8b7
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 0x4bd8cf
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x228], 0xffffffff
mov dword [ebp - 0x22c], 0
jmp 0x4bd8fb
mov edx, dword [ebp - 0x22c]
add edx, 1
mov dword [ebp - 0x22c], edx
cmp dword [ebp - 0x22c], 5
jge 0x4bd92d
mov eax, dword [ebp - 0x22c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4bd922
mov edx, dword [ebp - 0x228]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4bd8ec
mov dword [ebp - 4], 0xfffffffe
jmp 0x4bd94d
mov dword [ebp - 0x230], 0
jmp 0x4bd968
mov edx, dword [ebp - 0x230]
add edx, 1
mov dword [ebp - 0x230], edx
cmp dword [ebp - 0x230], 1
jge 0x4bd9b5
cmp dword [ebp - 0x1c], 0
jge 0x4bd97f
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 0x4bd995
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x234], 0xfa
lea edx, [ebp - 0x234]
push edx
lea eax, [ebp - 0x430]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4bd959
mov dword [ebp - 0x434], 0
jmp 0x4bd9d0
mov ecx, dword [ebp - 0x434]
add ecx, 1
mov dword [ebp - 0x434], ecx
cmp dword [ebp - 0x434], 2
jge 0x4bd9e7
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x434]
mov dword [ebp - 0x1c], edx
jmp 0x4bd9c1
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4bd9f9
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 0x4bda11
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4bda4b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x438], eax
mov eax, dword [ebp - 0x438]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4bda3d
jmp 0x4bda4b
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x438]
mov dword [ebp - 0x1c], edx
jmp 0x4bda11
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4bda8b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x43c], eax
mov eax, dword [ebp - 0x43c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4bda7d
jmp 0x4bda8b
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x43c]
mov dword [ebp - 0x1c], edx
jmp 0x4bda51
mov eax, dword [ebp - 0x1c]
add eax, 0x10
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x440], 0
jmp 0x4bdaaf
mov ecx, dword [ebp - 0x440]
add ecx, 1
mov dword [ebp - 0x440], ecx
cmp dword [ebp - 0x440], 4
jge 0x4bdaf0
cmp dword [ebp - 0x1c], 0
jge 0x4bdac6
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 0x4bdadc
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x638]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4bdaa0
mov dword [ebp - 4], 1
mov dword [ebp - 0x63c], 0xffffffff
mov dword [ebp - 0x640], 0
jmp 0x4bdb1c
mov eax, dword [ebp - 0x640]
add eax, 1
mov dword [ebp - 0x640], eax
cmp dword [ebp - 0x640], 0
jge 0x4bdb4e
mov eax, dword [ebp - 0x640]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4bdb43
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 0x4bdb0d
mov dword [ebp - 4], 0xfffffffe
jmp 0x4bdb6e
mov edx, 1
test edx, edx
je 0x4bdba8
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 0x4bdb9a
jmp 0x4bdba8
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x644]
mov dword [ebp - 0x1c], edx
jmp 0x4bdb6e
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4bdbe8
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 0x4bdbda
jmp 0x4bdbe8
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x648]
mov dword [ebp - 0x1c], edx
jmp 0x4bdbae
mov eax, dword [ebp - 0x1c]
add eax, 0xa
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x64c], 0
jmp 0x4bdc0c
mov ecx, dword [ebp - 0x64c]
add ecx, 1
mov dword [ebp - 0x64c], ecx
cmp dword [ebp - 0x64c], 3
jge 0x4bdc59
cmp dword [ebp - 0x1c], 0
jge 0x4bdc23
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 0x4bdc39
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x650], 0xfa
lea edx, [ebp - 0x650]
push edx
lea eax, [ebp - 0x848]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4bdbfd
mov dword [ebp - 0x84c], 0
jmp 0x4bdc74
mov ecx, dword [ebp - 0x84c]
add ecx, 1
mov dword [ebp - 0x84c], ecx
cmp dword [ebp - 0x84c], 0
jge 0x4bdc8b
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x84c]
mov dword [ebp - 0x1c], edx
jmp 0x4bdc65
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4bdc9d
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 0x4bdcb5
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x850], 0
jmp 0x4bdcd0
mov edx, dword [ebp - 0x850]
add edx, 1
mov dword [ebp - 0x850], edx
cmp dword [ebp - 0x850], 3
jge 0x4bdce7
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x850]
mov dword [ebp - 0x1c], eax
jmp 0x4bdcc1
cmp dword [ebp - 0x1c], 0
jge 0x4bdcf5
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 0x4bdd0d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0x854], 0xffffffff
mov dword [ebp - 0x858], 0
jmp 0x4bdd39
mov edx, dword [ebp - 0x858]
add edx, 1
mov dword [ebp - 0x858], edx
cmp dword [ebp - 0x858], 5
jge 0x4bdd6b
mov eax, dword [ebp - 0x858]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4bdd60
mov edx, dword [ebp - 0x854]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4bdd2a
mov dword [ebp - 4], 0xfffffffe
jmp 0x4bdd8b
mov dword [ebp - 4], 3
mov dword [ebp - 0x85c], 0xffffffff
mov dword [ebp - 0x860], 0
jmp 0x4bddb7
mov edx, dword [ebp - 0x860]
add edx, 1
mov dword [ebp - 0x860], edx
cmp dword [ebp - 0x860], 8
jge 0x4bdde9
mov eax, dword [ebp - 0x860]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4bddde
mov edx, dword [ebp - 0x85c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4bdda8
mov dword [ebp - 4], 0xfffffffe
jmp 0x4bde09
mov dword [ebp - 0x864], 0
jmp 0x4bde24
mov edx, dword [ebp - 0x864]
add edx, 1
mov dword [ebp - 0x864], edx
cmp dword [ebp - 0x864], 4
jge 0x4bde3b
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x864]
mov dword [ebp - 0x1c], eax
jmp 0x4bde15
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4bde4d
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 0x4bde65
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x868], 0
jmp 0x4bde80
mov edx, dword [ebp - 0x868]
add edx, 1
mov dword [ebp - 0x868], edx
cmp dword [ebp - 0x868], 1
jge 0x4bde97
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x868]
mov dword [ebp - 0x1c], eax
jmp 0x4bde71
cmp dword [ebp - 0x1c], 0
jge 0x4bdea5
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 0x4bdebd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x86c], 0
jmp 0x4bded8
mov edx, dword [ebp - 0x86c]
add edx, 1
mov dword [ebp - 0x86c], edx
cmp dword [ebp - 0x86c], 1
jge 0x4bdf25
mov eax, dword [ebp - 0x86c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4bdf07
mov eax, dword [ebp - 0x86c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4bdf17
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x86c]
mov dword [ebp - 0x1c], edx
jmp 0x4bdf23
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x86c]
mov dword [ebp - 0x1c], eax
jmp 0x4bdec9
mov ecx, 1
test ecx, ecx
je 0x4bdf5f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x870], eax
mov eax, dword [ebp - 0x870]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4bdf51
jmp 0x4bdf5f
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x870]
mov dword [ebp - 0x1c], edx
jmp 0x4bdf25
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4bdfa2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x874], eax
mov eax, dword [ebp - 0x874]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4bdf94
jmp 0x4bdfa2
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x874]
mov dword [ebp - 0x1c], edx
jmp 0x4bdf68
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x878], 0
jmp 0x4bdfc6
mov ecx, dword [ebp - 0x878]
add ecx, 1
mov dword [ebp - 0x878], ecx
cmp dword [ebp - 0x878], 0
jge 0x4be007
cmp dword [ebp - 0x1c], 0
jge 0x4bdfdd
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 0x4bdff3
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa70]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4bdfb7
mov eax, 1
test eax, eax
je 0x4be041
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa74], eax
mov eax, dword [ebp - 0xa74]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4be033
jmp 0x4be041
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xa74]
mov dword [ebp - 0x1c], edx
jmp 0x4be007
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4be084
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa78], eax
mov eax, dword [ebp - 0xa78]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4be076
jmp 0x4be084
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xa78]
mov dword [ebp - 0x1c], edx
jmp 0x4be04a
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa7c], 0
jmp 0x4be0a8
mov ecx, dword [ebp - 0xa7c]
add ecx, 1
mov dword [ebp - 0xa7c], ecx
cmp dword [ebp - 0xa7c], 8
jge 0x4be0e9
cmp dword [ebp - 0x1c], 0
jge 0x4be0bf
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 0x4be0d5
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc78]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4be099
mov dword [ebp - 0xc7c], 0
jmp 0x4be104
mov eax, dword [ebp - 0xc7c]
add eax, 1
mov dword [ebp - 0xc7c], eax
cmp dword [ebp - 0xc7c], 2
jge 0x4be145
cmp dword [ebp - 0x1c], 0
jge 0x4be11b
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 0x4be131
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xe78]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4be0f5
mov dword [ebp - 0xe7c], 0
jmp 0x4be160
mov eax, dword [ebp - 0xe7c]
add eax, 1
mov dword [ebp - 0xe7c], eax
cmp dword [ebp - 0xe7c], 7
jge 0x4be177
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0xe7c]
mov dword [ebp - 0x1c], ecx
jmp 0x4be151
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4be189
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 0x4be1a1
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 4
mov dword [ebp - 0xe80], 0xffffffff
mov dword [ebp - 0xe84], 0
jmp 0x4be1cd
mov edx, dword [ebp - 0xe84]
add edx, 1
mov dword [ebp - 0xe84], edx
cmp dword [ebp - 0xe84], 0
jge 0x4be1ff
mov eax, dword [ebp - 0xe84]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4be1f4
mov edx, dword [ebp - 0xe80]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4be1be
mov dword [ebp - 4], 0xfffffffe
jmp 0x4be21f
mov dword [ebp - 4], 5
mov dword [ebp - 0xe88], 0xffffffff
mov dword [ebp - 0xe8c], 0
jmp 0x4be24b
mov edx, dword [ebp - 0xe8c]
add edx, 1
mov dword [ebp - 0xe8c], edx
cmp dword [ebp - 0xe8c], 4
jge 0x4be27d
mov eax, dword [ebp - 0xe8c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4be272
mov edx, dword [ebp - 0xe88]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4be23c
mov dword [ebp - 4], 0xfffffffe
jmp 0x4be29d
mov dword [ebp - 0xe90], 0
jmp 0x4be2b8
mov edx, dword [ebp - 0xe90]
add edx, 1
mov dword [ebp - 0xe90], edx
cmp dword [ebp - 0xe90], 4
jge 0x4be305
cmp dword [ebp - 0x1c], 0
jge 0x4be2cf
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 0x4be2e5
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xe94], 0xfa
lea edx, [ebp - 0xe94]
push edx
lea eax, [ebp - 0x1090]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4be2a9
mov dword [ebp - 0x1094], 0
jmp 0x4be320
mov ecx, dword [ebp - 0x1094]
add ecx, 1
mov dword [ebp - 0x1094], ecx
cmp dword [ebp - 0x1094], 2
jge 0x4be337
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1094]
mov dword [ebp - 0x1c], edx
jmp 0x4be311
cmp dword [ebp - 0x1c], 0
jge 0x4be345
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 0x4be35d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1098], 0
jmp 0x4be378
mov edx, dword [ebp - 0x1098]
add edx, 1
mov dword [ebp - 0x1098], edx
cmp dword [ebp - 0x1098], 5
jge 0x4be38f
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1098]
mov dword [ebp - 0x1c], eax
jmp 0x4be369
cmp dword [ebp - 0x1c], 0
jge 0x4be39d
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 0x4be3b5
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x109c], 0
jmp 0x4be3d0
mov edx, dword [ebp - 0x109c]
add edx, 1
mov dword [ebp - 0x109c], edx
cmp dword [ebp - 0x109c], 1
jge 0x4be3e7
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x109c]
mov dword [ebp - 0x1c], eax
jmp 0x4be3c1
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4be3f9
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 0x4be411
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10a0], 0
jmp 0x4be42c
mov edx, dword [ebp - 0x10a0]
add edx, 1
mov dword [ebp - 0x10a0], edx
cmp dword [ebp - 0x10a0], 6
jge 0x4be443
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x10a0]
mov dword [ebp - 0x1c], eax
jmp 0x4be41d
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4be455
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 0x4be46d
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10a4], 0
jmp 0x4be488
mov edx, dword [ebp - 0x10a4]
add edx, 1
mov dword [ebp - 0x10a4], edx
cmp dword [ebp - 0x10a4], 2
jge 0x4be4d5
cmp dword [ebp - 0x1c], 0
jge 0x4be49f
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 0x4be4b5
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x10a8], 0xfa
lea edx, [ebp - 0x10a8]
push edx
lea eax, [ebp - 0x12a0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4be479
mov dword [ebp - 0x12a4], 0
jmp 0x4be4f0
mov ecx, dword [ebp - 0x12a4]
add ecx, 1
mov dword [ebp - 0x12a4], ecx
cmp dword [ebp - 0x12a4], 7
jge 0x4be507
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x12a4]
mov dword [ebp - 0x1c], edx
jmp 0x4be4e1
cmp dword [ebp - 0x1c], 0
jge 0x4be515
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 0x4be52d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12a8], 0
jmp 0x4be548
mov edx, dword [ebp - 0x12a8]
add edx, 1
mov dword [ebp - 0x12a8], edx
cmp dword [ebp - 0x12a8], 3
jge 0x4be595
mov eax, dword [ebp - 0x12a8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4be577
mov eax, dword [ebp - 0x12a8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4be587
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x12a8]
mov dword [ebp - 0x1c], edx
jmp 0x4be593
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x12a8]
mov dword [ebp - 0x1c], eax
jmp 0x4be539
mov dword [ebp - 0x12ac], 0
jmp 0x4be5b0
mov ecx, dword [ebp - 0x12ac]
add ecx, 1
mov dword [ebp - 0x12ac], ecx
cmp dword [ebp - 0x12ac], 5
jge 0x4be5c7
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x12ac]
mov dword [ebp - 0x1c], edx
jmp 0x4be5a1
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4be5d9
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 0x4be5f1
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12b0], 0
jmp 0x4be60c
mov edx, dword [ebp - 0x12b0]
add edx, 1
mov dword [ebp - 0x12b0], edx
cmp dword [ebp - 0x12b0], 7
jge 0x4be623
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x12b0]
mov dword [ebp - 0x1c], eax
jmp 0x4be5fd
cmp dword [ebp - 0x1c], 0
jge 0x4be631
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 0x4be649
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12b4], 0
jmp 0x4be664
mov edx, dword [ebp - 0x12b4]
add edx, 1
mov dword [ebp - 0x12b4], edx
cmp dword [ebp - 0x12b4], 6
jge 0x4be6b1
mov eax, dword [ebp - 0x12b4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4be693
mov eax, dword [ebp - 0x12b4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4be6a3
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x12b4]
mov dword [ebp - 0x1c], edx
jmp 0x4be6af
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x12b4]
mov dword [ebp - 0x1c], eax
jmp 0x4be655
mov dword [ebp - 4], 6
mov dword [ebp - 0x12b8], 0xffffffff
mov dword [ebp - 0x12bc], 0
jmp 0x4be6dd
mov ecx, dword [ebp - 0x12bc]
add ecx, 1
mov dword [ebp - 0x12bc], ecx
cmp dword [ebp - 0x12bc], 0
jge 0x4be70f
mov eax, dword [ebp - 0x12bc]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4be704
mov edx, dword [ebp - 0x12b8]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4be6ce
mov dword [ebp - 4], 0xfffffffe
jmp 0x4be72f
mov edx, 1
test edx, edx
je 0x4be769
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x12c0], eax
mov eax, dword [ebp - 0x12c0]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4be75b
jmp 0x4be769
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x12c0]
mov dword [ebp - 0x1c], edx
jmp 0x4be72f
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12c4], 0
jmp 0x4be78d
mov ecx, dword [ebp - 0x12c4]
add ecx, 1
mov dword [ebp - 0x12c4], ecx
cmp dword [ebp - 0x12c4], 7
jge 0x4be7da
cmp dword [ebp - 0x1c], 0
jge 0x4be7a4
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 0x4be7ba
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x12c8], 0xfa
lea edx, [ebp - 0x12c8]
push edx
lea eax, [ebp - 0x14c0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4be77e
mov dword [ebp - 4], 7
mov dword [ebp - 0x14c4], 0xffffffff
mov dword [ebp - 0x14c8], 0
jmp 0x4be806
mov ecx, dword [ebp - 0x14c8]
add ecx, 1
mov dword [ebp - 0x14c8], ecx
cmp dword [ebp - 0x14c8], 0
jge 0x4be838
mov eax, dword [ebp - 0x14c8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4be82d
mov edx, dword [ebp - 0x14c4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4be7f7
mov dword [ebp - 4], 0xfffffffe
jmp 0x4be858
mov dword [ebp - 0x14cc], 0
jmp 0x4be873
mov edx, dword [ebp - 0x14cc]
add edx, 1
mov dword [ebp - 0x14cc], edx
cmp dword [ebp - 0x14cc], 3
jge 0x4be8c0
cmp dword [ebp - 0x1c], 0
jge 0x4be88a
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 0x4be8a0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14d0], 0xfa
lea edx, [ebp - 0x14d0]
push edx
lea eax, [ebp - 0x16c8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4be864
mov ecx, 1
test ecx, ecx
je 0x4be8fa
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x16cc], eax
mov eax, dword [ebp - 0x16cc]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4be8ec
jmp 0x4be8fa
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x16cc]
mov dword [ebp - 0x1c], edx
jmp 0x4be8c0
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16d0], 0
jmp 0x4be91e
mov ecx, dword [ebp - 0x16d0]
add ecx, 1
mov dword [ebp - 0x16d0], ecx
cmp dword [ebp - 0x16d0], 0
jge 0x4be935
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x16d0]
mov dword [ebp - 0x1c], edx
jmp 0x4be90f
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4be947
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 0x4be95f
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16d4], 0
jmp 0x4be97a
mov edx, dword [ebp - 0x16d4]
add edx, 1
mov dword [ebp - 0x16d4], edx
cmp dword [ebp - 0x16d4], 0
jge 0x4be9bb
cmp dword [ebp - 0x1c], 0
jge 0x4be991
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 0x4be9a7
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x18d0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4be96b
mov dword [ebp - 0x18d4], 0
jmp 0x4be9d6
cmp dword [ebp - 0x18d4], 2
jge 0x4bea23
mov eax, dword [ebp - 0x18d4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4bea05
mov eax, dword [ebp - 0x18d4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4bea15
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x18d4]
mov dword [ebp - 0x1c], edx
jmp 0x4bea21
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x18d4]
mov dword [ebp - 0x1c], eax
jmp 0x4be9c7
mov dword [ebp - 4], 8
mov dword [ebp - 0x18d8], 0xffffffff
mov dword [ebp - 0x18dc], 0
jmp 0x4bea4f
cmp dword [ebp - 0x18dc], 1
jge 0x4bea81
mov eax, dword [ebp - 0x18dc]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4bea76
mov dword [ebp - 4], 0xfffffffe
jmp 0x4beaa1