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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x513fb8
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x1ca4
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 - 4], 0
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x24], 0
jmp 0x4dd847
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x10
jge 0x4dd870
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4dd865
mov edx, dword [ebp - 0x20]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4dd83e
mov dword [ebp - 4], 0xfffffffe
jmp 0x4dd890
mov edx, 1
test edx, edx
je 0x4dd8c1
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 0x4dd8b6
jmp 0x4dd8c1
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x28]
mov dword [ebp - 0x1c], edx
jmp 0x4dd890
mov eax, dword [ebp - 0x1c]
add eax, 0x1f
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], 0
jmp 0x4dd8dc
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], 0x15
jge 0x4dd91a
cmp dword [ebp - 0x1c], 0
jge 0x4dd8f0
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 0x4dd906
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x228]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4dd8d3
mov dword [ebp - 0x22c], 0
jmp 0x4dd935
mov eax, dword [ebp - 0x22c]
add eax, 1
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x22c], 0x19
jge 0x4dd982
cmp dword [ebp - 0x1c], 0
jge 0x4dd94c
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 0x4dd962
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x230], 0xfa
lea edx, [ebp - 0x230]
push edx
lea eax, [ebp - 0x428]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4dd926
mov dword [ebp - 0x42c], 0
jmp 0x4dd99d
mov ecx, dword [ebp - 0x42c]
add ecx, 1
mov dword [ebp - 0x42c], ecx
cmp dword [ebp - 0x42c], 0xb
jge 0x4dd9b4
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x42c]
mov dword [ebp - 0x1c], edx
jmp 0x4dd98e
cmp dword [ebp - 0x1c], 0
jge 0x4dd9c2
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 0x4dd9da
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x430], 0
jmp 0x4dd9f5
mov edx, dword [ebp - 0x430]
add edx, 1
mov dword [ebp - 0x430], edx
cmp dword [ebp - 0x430], 0x20
jge 0x4dda42
mov eax, dword [ebp - 0x430]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4dda24
mov eax, dword [ebp - 0x430]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4dda34
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x430]
mov dword [ebp - 0x1c], edx
jmp 0x4dda40
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x430]
mov dword [ebp - 0x1c], eax
jmp 0x4dd9e6
mov dword [ebp - 4], 1
mov dword [ebp - 0x434], 0xffffffff
mov dword [ebp - 0x438], 0
jmp 0x4dda6e
mov ecx, dword [ebp - 0x438]
add ecx, 1
mov dword [ebp - 0x438], ecx
cmp dword [ebp - 0x438], 1
jge 0x4ddaa0
mov eax, dword [ebp - 0x438]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4dda95
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 0x4dda5f
mov dword [ebp - 4], 0xfffffffe
jmp 0x4ddac0
mov dword [ebp - 0x43c], 0
jmp 0x4ddadb
mov edx, dword [ebp - 0x43c]
add edx, 1
mov dword [ebp - 0x43c], edx
cmp dword [ebp - 0x43c], 0x15
jge 0x4ddb28
cmp dword [ebp - 0x1c], 0
jge 0x4ddaf2
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 0x4ddb08
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x440], 0xfa
lea edx, [ebp - 0x440]
push edx
lea eax, [ebp - 0x638]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4ddacc
mov dword [ebp - 0x63c], 0
jmp 0x4ddb43
mov ecx, dword [ebp - 0x63c]
add ecx, 1
mov dword [ebp - 0x63c], ecx
cmp dword [ebp - 0x63c], 2
jge 0x4ddb5a
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x63c]
mov dword [ebp - 0x1c], edx
jmp 0x4ddb34
cmp dword [ebp - 0x1c], 0
jge 0x4ddb68
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 0x4ddb80
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x640], 0
jmp 0x4ddb9b
mov edx, dword [ebp - 0x640]
add edx, 1
mov dword [ebp - 0x640], edx
cmp dword [ebp - 0x640], 4
jge 0x4ddbb2
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x640]
mov dword [ebp - 0x1c], eax
jmp 0x4ddb8c
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4ddbc4
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 0x4ddbdc
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x644], 0
jmp 0x4ddbf7
mov edx, dword [ebp - 0x644]
add edx, 1
mov dword [ebp - 0x644], edx
cmp dword [ebp - 0x644], 5
jge 0x4ddc44
mov eax, dword [ebp - 0x644]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4ddc26
mov eax, dword [ebp - 0x644]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4ddc36
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x644]
mov dword [ebp - 0x1c], edx
jmp 0x4ddc42
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x644]
mov dword [ebp - 0x1c], eax
jmp 0x4ddbe8
mov dword [ebp - 0x648], 0
jmp 0x4ddc5f
mov ecx, dword [ebp - 0x648]
add ecx, 1
mov dword [ebp - 0x648], ecx
cmp dword [ebp - 0x648], 0x10
jge 0x4ddc76
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x648]
mov dword [ebp - 0x1c], edx
jmp 0x4ddc50
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4ddc88
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 0x4ddca0
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x64c], 0
jmp 0x4ddcbb
mov edx, dword [ebp - 0x64c]
add edx, 1
mov dword [ebp - 0x64c], edx
cmp dword [ebp - 0x64c], 7
jge 0x4ddcd2
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x64c]
mov dword [ebp - 0x1c], eax
jmp 0x4ddcac
cmp dword [ebp - 0x1c], 0
jge 0x4ddce0
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 0x4ddcf8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4ddd32
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x650], eax
mov eax, dword [ebp - 0x650]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4ddd24
jmp 0x4ddd32
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x650]
mov dword [ebp - 0x1c], edx
jmp 0x4ddcf8
mov eax, dword [ebp - 0x1c]
add eax, 6
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0x654], 0xffffffff
mov dword [ebp - 0x658], 0
jmp 0x4ddd67
mov ecx, dword [ebp - 0x658]
add ecx, 1
mov dword [ebp - 0x658], ecx
cmp dword [ebp - 0x658], 0xd
jge 0x4ddd99
mov eax, dword [ebp - 0x658]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4ddd8e
mov edx, dword [ebp - 0x654]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4ddd58
mov dword [ebp - 4], 0xfffffffe
jmp 0x4dddb9
mov dword [ebp - 0x65c], 0
jmp 0x4dddd4
mov edx, dword [ebp - 0x65c]
add edx, 1
mov dword [ebp - 0x65c], edx
cmp dword [ebp - 0x65c], 4
jge 0x4dde15
cmp dword [ebp - 0x1c], 0
jge 0x4dddeb
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 0x4dde01
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x858]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4dddc5
mov dword [ebp - 0x85c], 0
jmp 0x4dde30
mov eax, dword [ebp - 0x85c]
add eax, 1
mov dword [ebp - 0x85c], eax
cmp dword [ebp - 0x85c], 1
jge 0x4dde47
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x85c]
mov dword [ebp - 0x1c], ecx
jmp 0x4dde21
cmp dword [ebp - 0x1c], 0
jge 0x4dde55
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 0x4dde6d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x860], 0
jmp 0x4dde88
mov edx, dword [ebp - 0x860]
add edx, 1
mov dword [ebp - 0x860], edx
cmp dword [ebp - 0x860], 1
jge 0x4dded5
mov eax, dword [ebp - 0x860]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4ddeb7
mov eax, dword [ebp - 0x860]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4ddec7
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x860]
mov dword [ebp - 0x1c], edx
jmp 0x4dded3
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x860]
mov dword [ebp - 0x1c], eax
jmp 0x4dde79
mov ecx, 1
test ecx, ecx
je 0x4ddf0f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x864], eax
mov eax, dword [ebp - 0x864]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4ddf01
jmp 0x4ddf0f
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x864]
mov dword [ebp - 0x1c], edx
jmp 0x4dded5
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x868], 0
jmp 0x4ddf33
mov ecx, dword [ebp - 0x868]
add ecx, 1
mov dword [ebp - 0x868], ecx
cmp dword [ebp - 0x868], 4
jge 0x4ddf80
cmp dword [ebp - 0x1c], 0
jge 0x4ddf4a
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 0x4ddf60
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x86c], 0xfa
lea edx, [ebp - 0x86c]
push edx
lea eax, [ebp - 0xa68]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4ddf24
mov dword [ebp - 0xa6c], 0
jmp 0x4ddf9b
mov ecx, dword [ebp - 0xa6c]
add ecx, 1
mov dword [ebp - 0xa6c], ecx
cmp dword [ebp - 0xa6c], 4
jge 0x4ddfb2
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa6c]
mov dword [ebp - 0x1c], edx
jmp 0x4ddf8c
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4ddfc4
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 0x4ddfdc
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa70], 0
jmp 0x4ddff7
mov edx, dword [ebp - 0xa70]
add edx, 1
mov dword [ebp - 0xa70], edx
cmp dword [ebp - 0xa70], 0
jge 0x4de038
cmp dword [ebp - 0x1c], 0
jge 0x4de00e
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 0x4de024
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc68]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4ddfe8
mov dword [ebp - 4], 3
mov dword [ebp - 0xc6c], 0xffffffff
mov dword [ebp - 0xc70], 0
jmp 0x4de064
mov eax, dword [ebp - 0xc70]
add eax, 1
mov dword [ebp - 0xc70], eax
cmp dword [ebp - 0xc70], 3
jge 0x4de096
mov eax, dword [ebp - 0xc70]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4de08b
mov edx, dword [ebp - 0xc6c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4de055
mov dword [ebp - 4], 0xfffffffe
jmp 0x4de0b6
mov dword [ebp - 0xc74], 0
jmp 0x4de0d1
mov edx, dword [ebp - 0xc74]
add edx, 1
mov dword [ebp - 0xc74], edx
cmp dword [ebp - 0xc74], 3
jge 0x4de0e8
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xc74]
mov dword [ebp - 0x1c], eax
jmp 0x4de0c2
cmp dword [ebp - 0x1c], 0
jge 0x4de0f6
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 0x4de10e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc78], 0
jmp 0x4de129
mov edx, dword [ebp - 0xc78]
add edx, 1
mov dword [ebp - 0xc78], edx
cmp dword [ebp - 0xc78], 3
jge 0x4de140
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xc78]
mov dword [ebp - 0x1c], eax
jmp 0x4de11a
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4de152
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 0x4de16a
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc7c], 0
jmp 0x4de185
mov edx, dword [ebp - 0xc7c]
add edx, 1
mov dword [ebp - 0xc7c], edx
cmp dword [ebp - 0xc7c], 2
jge 0x4de19c
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xc7c]
mov dword [ebp - 0x1c], eax
jmp 0x4de176
cmp dword [ebp - 0x1c], 0
jge 0x4de1aa
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 0x4de1c2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc80], 0
jmp 0x4de1dd
mov edx, dword [ebp - 0xc80]
add edx, 1
mov dword [ebp - 0xc80], edx
cmp dword [ebp - 0xc80], 2
jge 0x4de1f4
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xc80]
mov dword [ebp - 0x1c], eax
jmp 0x4de1ce
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4de206
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 0x4de21e
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc84], 0
jmp 0x4de239
mov edx, dword [ebp - 0xc84]
add edx, 1
mov dword [ebp - 0xc84], edx
cmp dword [ebp - 0xc84], 2
jge 0x4de250
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xc84]
mov dword [ebp - 0x1c], eax
jmp 0x4de22a
cmp dword [ebp - 0x1c], 0
jge 0x4de25e
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 0x4de276
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc88], 0
jmp 0x4de291
mov edx, dword [ebp - 0xc88]
add edx, 1
mov dword [ebp - 0xc88], edx
cmp dword [ebp - 0xc88], 4
jge 0x4de2a8
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xc88]
mov dword [ebp - 0x1c], eax
jmp 0x4de282
cmp dword [ebp - 0x1c], 0
jge 0x4de2b6
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 0x4de2ce
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc8c], 0
jmp 0x4de2e9
mov edx, dword [ebp - 0xc8c]
add edx, 1
mov dword [ebp - 0xc8c], edx
cmp dword [ebp - 0xc8c], 1
jge 0x4de336
mov eax, dword [ebp - 0xc8c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4de318
mov eax, dword [ebp - 0xc8c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4de328
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc8c]
mov dword [ebp - 0x1c], edx
jmp 0x4de334
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xc8c]
mov dword [ebp - 0x1c], eax
jmp 0x4de2da
mov dword [ebp - 0xc90], 0
jmp 0x4de351
mov ecx, dword [ebp - 0xc90]
add ecx, 1
mov dword [ebp - 0xc90], ecx
cmp dword [ebp - 0xc90], 1
jge 0x4de392
cmp dword [ebp - 0x1c], 0
jge 0x4de368
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 0x4de37e
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xe88]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4de342
mov dword [ebp - 4], 4
mov dword [ebp - 0xe8c], 0xffffffff
mov dword [ebp - 0xe90], 0
jmp 0x4de3be
mov eax, dword [ebp - 0xe90]
add eax, 1
mov dword [ebp - 0xe90], eax
cmp dword [ebp - 0xe90], 4
jge 0x4de3f0
mov eax, dword [ebp - 0xe90]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4de3e5
mov edx, dword [ebp - 0xe8c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4de3af
mov dword [ebp - 4], 0xfffffffe
jmp 0x4de410
mov dword [ebp - 0xe94], 0
jmp 0x4de42b
mov edx, dword [ebp - 0xe94]
add edx, 1
mov dword [ebp - 0xe94], edx
cmp dword [ebp - 0xe94], 0
jge 0x4de442
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xe94]
mov dword [ebp - 0x1c], eax
jmp 0x4de41c
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4de454
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 0x4de46c
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4de4a6
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xe98], eax
mov eax, dword [ebp - 0xe98]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4de498
jmp 0x4de4a6
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xe98]
mov dword [ebp - 0x1c], edx
jmp 0x4de46c
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe9c], 0
jmp 0x4de4ca
mov ecx, dword [ebp - 0xe9c]
add ecx, 1
mov dword [ebp - 0xe9c], ecx
cmp dword [ebp - 0xe9c], 3
jge 0x4de517
mov eax, dword [ebp - 0xe9c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4de4f9
mov eax, dword [ebp - 0xe9c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4de509
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe9c]
mov dword [ebp - 0x1c], edx
jmp 0x4de515
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xe9c]
mov dword [ebp - 0x1c], eax
jmp 0x4de4bb
mov dword [ebp - 0xea0], 0
jmp 0x4de532
mov ecx, dword [ebp - 0xea0]
add ecx, 1
mov dword [ebp - 0xea0], ecx
cmp dword [ebp - 0xea0], 0
jge 0x4de549
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xea0]
mov dword [ebp - 0x1c], edx
jmp 0x4de523
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4de55b
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 0x4de573
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xea4], 0
jmp 0x4de58e
mov edx, dword [ebp - 0xea4]
add edx, 1
mov dword [ebp - 0xea4], edx
cmp dword [ebp - 0xea4], 3
jge 0x4de5cf
cmp dword [ebp - 0x1c], 0
jge 0x4de5a5
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 0x4de5bb
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x10a0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4de57f
mov dword [ebp - 0x10a4], 0
jmp 0x4de5ea
mov eax, dword [ebp - 0x10a4]
add eax, 1
mov dword [ebp - 0x10a4], eax
cmp dword [ebp - 0x10a4], 1
jge 0x4de637
mov eax, dword [ebp - 0x10a4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4de619
mov eax, dword [ebp - 0x10a4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4de629
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x10a4]
mov dword [ebp - 0x1c], edx
jmp 0x4de635
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x10a4]
mov dword [ebp - 0x1c], eax
jmp 0x4de5db
mov dword [ebp - 0x10a8], 0
jmp 0x4de652
mov ecx, dword [ebp - 0x10a8]
add ecx, 1
mov dword [ebp - 0x10a8], ecx
cmp dword [ebp - 0x10a8], 4
jge 0x4de693
cmp dword [ebp - 0x1c], 0
jge 0x4de669
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 0x4de67f
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x12a0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4de643
mov dword [ebp - 0x12a4], 0
jmp 0x4de6ae
mov eax, dword [ebp - 0x12a4]
add eax, 1
mov dword [ebp - 0x12a4], eax
cmp dword [ebp - 0x12a4], 0
jge 0x4de6c5
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x12a4]
mov dword [ebp - 0x1c], ecx
jmp 0x4de69f
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4de6d7
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 0x4de6ef
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12a8], 0
jmp 0x4de70a
mov edx, dword [ebp - 0x12a8]
add edx, 1
mov dword [ebp - 0x12a8], edx
cmp dword [ebp - 0x12a8], 2
jge 0x4de721
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x12a8]
mov dword [ebp - 0x1c], eax
jmp 0x4de6fb
cmp dword [ebp - 0x1c], 0
jge 0x4de72f
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 0x4de747
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12ac], 0
jmp 0x4de762
mov edx, dword [ebp - 0x12ac]
add edx, 1
mov dword [ebp - 0x12ac], edx
cmp dword [ebp - 0x12ac], 1
jge 0x4de7af
cmp dword [ebp - 0x1c], 0
jge 0x4de779
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 0x4de78f
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x12b0], 0xfa
lea edx, [ebp - 0x12b0]
push edx
lea eax, [ebp - 0x14a8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4de753
mov dword [ebp - 0x14ac], 0
jmp 0x4de7ca
mov ecx, dword [ebp - 0x14ac]
add ecx, 1
mov dword [ebp - 0x14ac], ecx
cmp dword [ebp - 0x14ac], 2
jge 0x4de80b
cmp dword [ebp - 0x1c], 0
jge 0x4de7e1
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 0x4de7f7
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x16a8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4de7bb
mov dword [ebp - 0x16ac], 0
jmp 0x4de826
mov eax, dword [ebp - 0x16ac]
add eax, 1
mov dword [ebp - 0x16ac], eax
cmp dword [ebp - 0x16ac], 1
jge 0x4de873
cmp dword [ebp - 0x1c], 0
jge 0x4de83d
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 0x4de853
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x16b0], 0xfa
lea edx, [ebp - 0x16b0]
push edx
lea eax, [ebp - 0x18a8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4de817
mov dword [ebp - 0x18ac], 0
jmp 0x4de88e
mov ecx, dword [ebp - 0x18ac]
add ecx, 1
mov dword [ebp - 0x18ac], ecx
cmp dword [ebp - 0x18ac], 2
jge 0x4de8db
cmp dword [ebp - 0x1c], 0
jge 0x4de8a5
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 0x4de8bb
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18b0], 0xfa
lea edx, [ebp - 0x18b0]
push edx
lea eax, [ebp - 0x1aa8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4de87f
mov ecx, 1
test ecx, ecx
je 0x4de915
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1aac], eax
mov eax, dword [ebp - 0x1aac]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4de907
jmp 0x4de915
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1aac]
mov dword [ebp - 0x1c], edx
jmp 0x4de8db
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4de958
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1ab0], eax
mov eax, dword [ebp - 0x1ab0]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4de94a
jmp 0x4de958
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1ab0]
mov dword [ebp - 0x1c], edx
jmp 0x4de91e
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ab4], 0
jmp 0x4de97c
cmp dword [ebp - 0x1ab4], 2
jge 0x4de9c9