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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x513b18
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x20c0
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x44], 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 0x4d0339
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xf
jge 0x4d0377
mov eax, dword [ebp - 0x20]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4d035f
mov eax, dword [ebp - 0x20]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4d036c
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x4d0375
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x4d0330
mov dword [ebp - 0x24], 0
jmp 0x4d0389
mov ecx, dword [ebp - 0x24]
add ecx, 1
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], 0x20
jge 0x4d03c7
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4d03af
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4d03bc
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], edx
jmp 0x4d03c5
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
jmp 0x4d0380
mov dword [ebp - 0x28], 0
jmp 0x4d03d9
mov ecx, dword [ebp - 0x28]
add ecx, 1
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], 0x1c
jge 0x4d03ea
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x28]
mov dword [ebp - 0x1c], edx
jmp 0x4d03d0
cmp dword [ebp - 0x1c], 0
jge 0x4d03f8
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 0x4d0410
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], 0
jmp 0x4d0422
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 0x1b
jge 0x4d0433
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
jmp 0x4d0419
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4d0445
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 0x4d045d
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x30], 0
jmp 0x4d046f
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x30], 0x12
jge 0x4d04ad
mov eax, dword [ebp - 0x30]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4d0495
mov eax, dword [ebp - 0x30]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4d04a2
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x30]
mov dword [ebp - 0x1c], edx
jmp 0x4d04ab
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x30]
mov dword [ebp - 0x1c], eax
jmp 0x4d0466
mov dword [ebp - 0x34], 0
jmp 0x4d04bf
mov ecx, dword [ebp - 0x34]
add ecx, 1
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x34], 0xb
jge 0x4d04d0
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x34]
mov dword [ebp - 0x1c], edx
jmp 0x4d04b6
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4d04e2
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 0x4d04fa
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x38], 0
jmp 0x4d050c
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x38], 3
jge 0x4d054a
mov eax, dword [ebp - 0x38]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4d0532
mov eax, dword [ebp - 0x38]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4d053f
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x38]
mov dword [ebp - 0x1c], edx
jmp 0x4d0548
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x38]
mov dword [ebp - 0x1c], eax
jmp 0x4d0503
mov dword [ebp - 0x3c], 0
jmp 0x4d055c
mov ecx, dword [ebp - 0x3c]
add ecx, 1
mov dword [ebp - 0x3c], ecx
cmp dword [ebp - 0x3c], 7
jge 0x4d05a0
cmp dword [ebp - 0x1c], 0
jge 0x4d0570
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 0x4d0586
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x40], 0xfa
lea edx, [ebp - 0x40]
push edx
lea eax, [ebp - 0x240]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4d0553
mov dword [ebp - 0x244], 0
jmp 0x4d05bb
mov ecx, dword [ebp - 0x244]
add ecx, 1
mov dword [ebp - 0x244], ecx
cmp dword [ebp - 0x244], 0
jge 0x4d0608
cmp dword [ebp - 0x1c], 0
jge 0x4d05d2
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 0x4d05e8
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x248], 0xfa
lea edx, [ebp - 0x248]
push edx
lea eax, [ebp - 0x440]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4d05ac
mov dword [ebp - 0x444], 0
jmp 0x4d0623
mov ecx, dword [ebp - 0x444]
add ecx, 1
mov dword [ebp - 0x444], ecx
cmp dword [ebp - 0x444], 5
jge 0x4d0670
mov eax, dword [ebp - 0x444]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4d0652
mov eax, dword [ebp - 0x444]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4d0662
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x444]
mov dword [ebp - 0x1c], edx
jmp 0x4d066e
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x444]
mov dword [ebp - 0x1c], eax
jmp 0x4d0614
mov dword [ebp - 0x448], 0
jmp 0x4d068b
mov ecx, dword [ebp - 0x448]
add ecx, 1
mov dword [ebp - 0x448], ecx
cmp dword [ebp - 0x448], 5
jge 0x4d06d8
mov eax, dword [ebp - 0x448]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4d06ba
mov eax, dword [ebp - 0x448]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4d06ca
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x448]
mov dword [ebp - 0x1c], edx
jmp 0x4d06d6
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x448]
mov dword [ebp - 0x1c], eax
jmp 0x4d067c
mov ecx, 1
test ecx, ecx
je 0x4d0712
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x44c], eax
mov eax, dword [ebp - 0x44c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4d0704
jmp 0x4d0712
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x44c]
mov dword [ebp - 0x1c], edx
jmp 0x4d06d8
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x450], 0
jmp 0x4d0736
mov ecx, dword [ebp - 0x450]
add ecx, 1
mov dword [ebp - 0x450], ecx
cmp dword [ebp - 0x450], 0xc
jge 0x4d074d
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x450]
mov dword [ebp - 0x1c], edx
jmp 0x4d0727
cmp dword [ebp - 0x1c], 0
jge 0x4d075b
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 0x4d0773
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4d07ad
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x454], eax
mov eax, dword [ebp - 0x454]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4d079f
jmp 0x4d07ad
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x454]
mov dword [ebp - 0x1c], edx
jmp 0x4d0773
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x458], 0
jmp 0x4d07d1
mov ecx, dword [ebp - 0x458]
add ecx, 1
mov dword [ebp - 0x458], ecx
cmp dword [ebp - 0x458], 4
jge 0x4d07e8
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x458]
mov dword [ebp - 0x1c], edx
jmp 0x4d07c2
cmp dword [ebp - 0x1c], 0
jge 0x4d07f6
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 0x4d080e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x45c], 0
jmp 0x4d0829
mov edx, dword [ebp - 0x45c]
add edx, 1
mov dword [ebp - 0x45c], edx
cmp dword [ebp - 0x45c], 3
jge 0x4d086a
cmp dword [ebp - 0x1c], 0
jge 0x4d0840
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 0x4d0856
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x658]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4d081a
mov eax, 1
test eax, eax
je 0x4d08a4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x65c], eax
mov eax, dword [ebp - 0x65c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4d0896
jmp 0x4d08a4
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x65c]
mov dword [ebp - 0x1c], edx
jmp 0x4d086a
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x660], 0
jmp 0x4d08c8
mov ecx, dword [ebp - 0x660]
add ecx, 1
mov dword [ebp - 0x660], ecx
cmp dword [ebp - 0x660], 5
jge 0x4d08df
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x660]
mov dword [ebp - 0x1c], edx
jmp 0x4d08b9
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4d08f1
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 0x4d0909
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x664], 0
jmp 0x4d0924
mov edx, dword [ebp - 0x664]
add edx, 1
mov dword [ebp - 0x664], edx
cmp dword [ebp - 0x664], 5
jge 0x4d0965
cmp dword [ebp - 0x1c], 0
jge 0x4d093b
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 0x4d0951
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x860]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4d0915
mov dword [ebp - 4], 0
mov dword [ebp - 0x864], 0xffffffff
mov dword [ebp - 0x868], 0
jmp 0x4d0991
mov eax, dword [ebp - 0x868]
add eax, 1
mov dword [ebp - 0x868], eax
cmp dword [ebp - 0x868], 4
jge 0x4d09c3
mov eax, dword [ebp - 0x868]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4d09b8
mov edx, dword [ebp - 0x864]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4d0982
mov dword [ebp - 4], 0xfffffffe
jmp 0x4d09e3
mov dword [ebp - 0x86c], 0
jmp 0x4d09fe
mov edx, dword [ebp - 0x86c]
add edx, 1
mov dword [ebp - 0x86c], edx
cmp dword [ebp - 0x86c], 2
jge 0x4d0a4b
cmp dword [ebp - 0x1c], 0
jge 0x4d0a15
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 0x4d0a2b
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x870], 0xfa
lea edx, [ebp - 0x870]
push edx
lea eax, [ebp - 0xa68]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4d09ef
mov dword [ebp - 0xa6c], 0
jmp 0x4d0a66
mov ecx, dword [ebp - 0xa6c]
add ecx, 1
mov dword [ebp - 0xa6c], ecx
cmp dword [ebp - 0xa6c], 7
jge 0x4d0ab3
mov eax, dword [ebp - 0xa6c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4d0a95
mov eax, dword [ebp - 0xa6c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4d0aa5
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa6c]
mov dword [ebp - 0x1c], edx
jmp 0x4d0ab1
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa6c]
mov dword [ebp - 0x1c], eax
jmp 0x4d0a57
mov ecx, 1
test ecx, ecx
je 0x4d0aed
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa70], eax
mov eax, dword [ebp - 0xa70]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4d0adf
jmp 0x4d0aed
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xa70]
mov dword [ebp - 0x1c], edx
jmp 0x4d0ab3
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0xa74], 0xffffffff
mov dword [ebp - 0xa78], 0
jmp 0x4d0b22
mov ecx, dword [ebp - 0xa78]
add ecx, 1
mov dword [ebp - 0xa78], ecx
cmp dword [ebp - 0xa78], 4
jge 0x4d0b54
mov eax, dword [ebp - 0xa78]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4d0b49
mov edx, dword [ebp - 0xa74]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4d0b13
mov dword [ebp - 4], 0xfffffffe
jmp 0x4d0b74
mov dword [ebp - 0xa7c], 0
jmp 0x4d0b8f
mov edx, dword [ebp - 0xa7c]
add edx, 1
mov dword [ebp - 0xa7c], edx
cmp dword [ebp - 0xa7c], 4
jge 0x4d0ba6
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xa7c]
mov dword [ebp - 0x1c], eax
jmp 0x4d0b80
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4d0bb8
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 0x4d0bd0
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa80], 0
jmp 0x4d0beb
mov edx, dword [ebp - 0xa80]
add edx, 1
mov dword [ebp - 0xa80], edx
cmp dword [ebp - 0xa80], 4
jge 0x4d0c38
cmp dword [ebp - 0x1c], 0
jge 0x4d0c02
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 0x4d0c18
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa84], 0xfa
lea edx, [ebp - 0xa84]
push edx
lea eax, [ebp - 0xc80]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4d0bdc
mov dword [ebp - 0xc84], 0
jmp 0x4d0c53
mov ecx, dword [ebp - 0xc84]
add ecx, 1
mov dword [ebp - 0xc84], ecx
cmp dword [ebp - 0xc84], 2
jge 0x4d0ca0
cmp dword [ebp - 0x1c], 0
jge 0x4d0c6a
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 0x4d0c80
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc88], 0xfa
lea edx, [ebp - 0xc88]
push edx
lea eax, [ebp - 0xe80]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4d0c44
mov dword [ebp - 0xe84], 0
jmp 0x4d0cbb
mov ecx, dword [ebp - 0xe84]
add ecx, 1
mov dword [ebp - 0xe84], ecx
cmp dword [ebp - 0xe84], 0
jge 0x4d0cfc
cmp dword [ebp - 0x1c], 0
jge 0x4d0cd2
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 0x4d0ce8
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1080]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4d0cac
mov dword [ebp - 0x1084], 0
jmp 0x4d0d17
mov eax, dword [ebp - 0x1084]
add eax, 1
mov dword [ebp - 0x1084], eax
cmp dword [ebp - 0x1084], 8
jge 0x4d0d64
cmp dword [ebp - 0x1c], 0
jge 0x4d0d2e
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 0x4d0d44
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1088], 0xfa
lea edx, [ebp - 0x1088]
push edx
lea eax, [ebp - 0x1280]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4d0d08
mov dword [ebp - 0x1284], 0
jmp 0x4d0d7f
mov ecx, dword [ebp - 0x1284]
add ecx, 1
mov dword [ebp - 0x1284], ecx
cmp dword [ebp - 0x1284], 1
jge 0x4d0dc0
cmp dword [ebp - 0x1c], 0
jge 0x4d0d96
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 0x4d0dac
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1480]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4d0d70
mov dword [ebp - 0x1484], 0
jmp 0x4d0ddb
mov eax, dword [ebp - 0x1484]
add eax, 1
mov dword [ebp - 0x1484], eax
cmp dword [ebp - 0x1484], 6
jge 0x4d0e1c
cmp dword [ebp - 0x1c], 0
jge 0x4d0df2
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 0x4d0e08
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1680]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4d0dcc
mov eax, 1
test eax, eax
je 0x4d0e56
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1684], eax
mov eax, dword [ebp - 0x1684]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4d0e48
jmp 0x4d0e56
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1684]
mov dword [ebp - 0x1c], edx
jmp 0x4d0e1c
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0x1688], 0xffffffff
mov dword [ebp - 0x168c], 0
jmp 0x4d0e8b
mov ecx, dword [ebp - 0x168c]
add ecx, 1
mov dword [ebp - 0x168c], ecx
cmp dword [ebp - 0x168c], 3
jge 0x4d0ebd
mov eax, dword [ebp - 0x168c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4d0eb2
mov edx, dword [ebp - 0x1688]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4d0e7c
mov dword [ebp - 4], 0xfffffffe
jmp 0x4d0edd
mov dword [ebp - 4], 3
mov dword [ebp - 0x1690], 0xffffffff
mov dword [ebp - 0x1694], 0
jmp 0x4d0f09
mov edx, dword [ebp - 0x1694]
add edx, 1
mov dword [ebp - 0x1694], edx
cmp dword [ebp - 0x1694], 4
jge 0x4d0f3b
mov eax, dword [ebp - 0x1694]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4d0f30
mov edx, dword [ebp - 0x1690]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4d0efa
mov dword [ebp - 4], 0xfffffffe
jmp 0x4d0f5b
mov edx, 1
test edx, edx
je 0x4d0f95
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1698], eax
mov eax, dword [ebp - 0x1698]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4d0f87
jmp 0x4d0f95
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1698]
mov dword [ebp - 0x1c], edx
jmp 0x4d0f5b
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x169c], 0
jmp 0x4d0fb9
mov ecx, dword [ebp - 0x169c]
add ecx, 1
mov dword [ebp - 0x169c], ecx
cmp dword [ebp - 0x169c], 4
jge 0x4d0ffa
cmp dword [ebp - 0x1c], 0
jge 0x4d0fd0
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 0x4d0fe6
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1898]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4d0faa
mov dword [ebp - 0x189c], 0
jmp 0x4d1015
mov eax, dword [ebp - 0x189c]
add eax, 1
mov dword [ebp - 0x189c], eax
cmp dword [ebp - 0x189c], 3
jge 0x4d102c
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x189c]
mov dword [ebp - 0x1c], ecx
jmp 0x4d1006
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4d103e
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 0x4d1056
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18a0], 0
jmp 0x4d1071
mov edx, dword [ebp - 0x18a0]
add edx, 1
mov dword [ebp - 0x18a0], edx
cmp dword [ebp - 0x18a0], 4
jge 0x4d1088
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x18a0]
mov dword [ebp - 0x1c], eax
jmp 0x4d1062
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4d109a
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 0x4d10b2
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18a4], 0
jmp 0x4d10cd
mov edx, dword [ebp - 0x18a4]
add edx, 1
mov dword [ebp - 0x18a4], edx
cmp dword [ebp - 0x18a4], 4
jge 0x4d111a
mov eax, dword [ebp - 0x18a4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4d10fc
mov eax, dword [ebp - 0x18a4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4d110c
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x18a4]
mov dword [ebp - 0x1c], edx
jmp 0x4d1118
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x18a4]
mov dword [ebp - 0x1c], eax
jmp 0x4d10be
mov dword [ebp - 4], 4
mov dword [ebp - 0x18a8], 0xffffffff
mov dword [ebp - 0x18ac], 0
jmp 0x4d1146
mov ecx, dword [ebp - 0x18ac]
add ecx, 1
mov dword [ebp - 0x18ac], ecx
cmp dword [ebp - 0x18ac], 1
jge 0x4d1178
mov eax, dword [ebp - 0x18ac]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4d116d
mov edx, dword [ebp - 0x18a8]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4d1137
mov dword [ebp - 4], 0xfffffffe
jmp 0x4d1198
mov dword [ebp - 0x18b0], 0
jmp 0x4d11b3
mov edx, dword [ebp - 0x18b0]
add edx, 1
mov dword [ebp - 0x18b0], edx
cmp dword [ebp - 0x18b0], 0
jge 0x4d11ca
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x18b0]
mov dword [ebp - 0x1c], eax
jmp 0x4d11a4
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4d11dc
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 0x4d11f4
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4d122e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x18b4], eax
mov eax, dword [ebp - 0x18b4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4d1220
jmp 0x4d122e
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x18b4]
mov dword [ebp - 0x1c], edx
jmp 0x4d11f4
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18b8], 0
jmp 0x4d1252
mov ecx, dword [ebp - 0x18b8]
add ecx, 1
mov dword [ebp - 0x18b8], ecx
cmp dword [ebp - 0x18b8], 0
jge 0x4d1269
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x18b8]
mov dword [ebp - 0x1c], edx
jmp 0x4d1243
cmp dword [ebp - 0x1c], 0
jge 0x4d1277
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 0x4d128f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18bc], 0
jmp 0x4d12aa
mov edx, dword [ebp - 0x18bc]
add edx, 1
mov dword [ebp - 0x18bc], edx
cmp dword [ebp - 0x18bc], 4
jge 0x4d12c1
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x18bc]
mov dword [ebp - 0x1c], eax
jmp 0x4d129b
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4d12d3
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 0x4d12eb
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18c0], 0
jmp 0x4d1306
mov edx, dword [ebp - 0x18c0]
add edx, 1
mov dword [ebp - 0x18c0], edx
cmp dword [ebp - 0x18c0], 2
jge 0x4d1347
cmp dword [ebp - 0x1c], 0
jge 0x4d131d
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 0x4d1333
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1ab8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4d12f7
mov dword [ebp - 4], 5
mov dword [ebp - 0x1abc], 0xffffffff
mov dword [ebp - 0x1ac0], 0
jmp 0x4d1373
mov eax, dword [ebp - 0x1ac0]
add eax, 1
mov dword [ebp - 0x1ac0], eax
cmp dword [ebp - 0x1ac0], 2
jge 0x4d13a5
mov eax, dword [ebp - 0x1ac0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4d139a
mov edx, dword [ebp - 0x1abc]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4d1364
mov dword [ebp - 4], 0xfffffffe
jmp 0x4d13c5
mov edx, 1
test edx, edx
je 0x4d13ff
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1ac4], eax
mov eax, dword [ebp - 0x1ac4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4d13f1
jmp 0x4d13ff
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1ac4]
mov dword [ebp - 0x1c], edx
jmp 0x4d13c5
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4d1442
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1ac8], eax
mov eax, dword [ebp - 0x1ac8]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4d1434
jmp 0x4d1442
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1ac8]
mov dword [ebp - 0x1c], edx
jmp 0x4d1408
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1acc], 0
jmp 0x4d1466
mov ecx, dword [ebp - 0x1acc]
add ecx, 1
mov dword [ebp - 0x1acc], ecx
cmp dword [ebp - 0x1acc], 2
jge 0x4d147d
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1acc]
mov dword [ebp - 0x1c], edx
jmp 0x4d1457
cmp dword [ebp - 0x1c], 0
jge 0x4d148b
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 0x4d14a3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ad0], 0
jmp 0x4d14be
mov edx, dword [ebp - 0x1ad0]
add edx, 1
mov dword [ebp - 0x1ad0], edx
cmp dword [ebp - 0x1ad0], 3
jge 0x4d14ff
cmp dword [ebp - 0x1c], 0
jge 0x4d14d5
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 0x4d14eb
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1cc8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4d14af
mov dword [ebp - 0x1ccc], 0
jmp 0x4d151a
mov eax, dword [ebp - 0x1ccc]
add eax, 1
mov dword [ebp - 0x1ccc], eax
cmp dword [ebp - 0x1ccc], 3
jge 0x4d1531
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x1ccc]
mov dword [ebp - 0x1c], ecx
jmp 0x4d150b
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4d1543
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 0x4d155b
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1cd0], 0
jmp 0x4d1576
cmp dword [ebp - 0x1cd0], 4
jge 0x4d15c3