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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x510f38
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x4128
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 0x447199
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jge 0x4471d7
cmp dword [ebp - 0x1c], 0
jge 0x4471ad
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 0x4471c3
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x220]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x447190
mov dword [ebp - 0x224], 0
jmp 0x4471f2
mov eax, dword [ebp - 0x224]
add eax, 1
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x224], 0x30
jge 0x44723f
cmp dword [ebp - 0x1c], 0
jge 0x447209
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 0x44721f
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x228], 0xfa
lea edx, [ebp - 0x228]
push edx
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4471e3
mov dword [ebp - 0x424], 0
jmp 0x44725a
mov ecx, dword [ebp - 0x424]
add ecx, 1
mov dword [ebp - 0x424], ecx
cmp dword [ebp - 0x424], 0x24
jge 0x4472a7
cmp dword [ebp - 0x1c], 0
jge 0x447271
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 0x447287
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x428], 0xfa
lea edx, [ebp - 0x428]
push edx
lea eax, [ebp - 0x620]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x44724b
mov dword [ebp - 4], 0
mov dword [ebp - 0x624], 0xffffffff
mov dword [ebp - 0x628], 0
jmp 0x4472d3
mov ecx, dword [ebp - 0x628]
add ecx, 1
mov dword [ebp - 0x628], ecx
cmp dword [ebp - 0x628], 0x13
jge 0x447305
mov eax, dword [ebp - 0x628]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4472fa
mov edx, dword [ebp - 0x624]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4472c4
mov dword [ebp - 4], 0xfffffffe
jmp 0x447325
mov dword [ebp - 0x62c], 0
jmp 0x447340
mov edx, dword [ebp - 0x62c]
add edx, 1
mov dword [ebp - 0x62c], edx
cmp dword [ebp - 0x62c], 0xa
jge 0x447357
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x62c]
mov dword [ebp - 0x1c], eax
jmp 0x447331
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x447369
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 0x447381
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x630], 0
jmp 0x44739c
mov edx, dword [ebp - 0x630]
add edx, 1
mov dword [ebp - 0x630], edx
cmp dword [ebp - 0x630], 9
jge 0x4473e9
cmp dword [ebp - 0x1c], 0
jge 0x4473b3
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 0x4473c9
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x634], 0xfa
lea edx, [ebp - 0x634]
push edx
lea eax, [ebp - 0x830]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x44738d
mov dword [ebp - 0x834], 0
jmp 0x447404
mov ecx, dword [ebp - 0x834]
add ecx, 1
mov dword [ebp - 0x834], ecx
cmp dword [ebp - 0x834], 2
jge 0x44741b
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x834]
mov dword [ebp - 0x1c], edx
jmp 0x4473f5
cmp dword [ebp - 0x1c], 0
jge 0x447429
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 0x447441
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x44747b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x838], eax
mov eax, dword [ebp - 0x838]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x44746d
jmp 0x44747b
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x838]
mov dword [ebp - 0x1c], edx
jmp 0x447441
mov eax, dword [ebp - 0x1c]
add eax, 0x10
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x83c], 0
jmp 0x44749f
mov ecx, dword [ebp - 0x83c]
add ecx, 1
mov dword [ebp - 0x83c], ecx
cmp dword [ebp - 0x83c], 0xc
jge 0x4474e0
cmp dword [ebp - 0x1c], 0
jge 0x4474b6
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 0x4474cc
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa38]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x447490
mov dword [ebp - 0xa3c], 0
jmp 0x4474fb
mov eax, dword [ebp - 0xa3c]
add eax, 1
mov dword [ebp - 0xa3c], eax
cmp dword [ebp - 0xa3c], 8
jge 0x447512
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0xa3c]
mov dword [ebp - 0x1c], ecx
jmp 0x4474ec
cmp dword [ebp - 0x1c], 0
jge 0x447520
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 0x447538
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0xa40], 0xffffffff
mov dword [ebp - 0xa44], 0
jmp 0x447564
mov edx, dword [ebp - 0xa44]
add edx, 1
mov dword [ebp - 0xa44], edx
cmp dword [ebp - 0xa44], 7
jge 0x447596
mov eax, dword [ebp - 0xa44]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x44758b
mov edx, dword [ebp - 0xa40]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x447555
mov dword [ebp - 4], 0xfffffffe
jmp 0x4475b6
mov dword [ebp - 0xa48], 0
jmp 0x4475d1
mov edx, dword [ebp - 0xa48]
add edx, 1
mov dword [ebp - 0xa48], edx
cmp dword [ebp - 0xa48], 8
jge 0x44761e
mov eax, dword [ebp - 0xa48]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x447600
mov eax, dword [ebp - 0xa48]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x447610
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa48]
mov dword [ebp - 0x1c], edx
jmp 0x44761c
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa48]
mov dword [ebp - 0x1c], eax
jmp 0x4475c2
mov dword [ebp - 0xa4c], 0
jmp 0x447639
mov ecx, dword [ebp - 0xa4c]
add ecx, 1
mov dword [ebp - 0xa4c], ecx
cmp dword [ebp - 0xa4c], 9
jge 0x447686
cmp dword [ebp - 0x1c], 0
jge 0x447650
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 0x447666
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa50], 0xfa
lea edx, [ebp - 0xa50]
push edx
lea eax, [ebp - 0xc48]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x44762a
mov dword [ebp - 0xc4c], 0
jmp 0x4476a1
mov ecx, dword [ebp - 0xc4c]
add ecx, 1
mov dword [ebp - 0xc4c], ecx
cmp dword [ebp - 0xc4c], 6
jge 0x4476b8
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xc4c]
mov dword [ebp - 0x1c], edx
jmp 0x447692
cmp dword [ebp - 0x1c], 0
jge 0x4476c6
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 0x4476de
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc50], 0
jmp 0x4476f9
mov edx, dword [ebp - 0xc50]
add edx, 1
mov dword [ebp - 0xc50], edx
cmp dword [ebp - 0xc50], 7
jge 0x447746
mov eax, dword [ebp - 0xc50]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x447728
mov eax, dword [ebp - 0xc50]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x447738
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc50]
mov dword [ebp - 0x1c], edx
jmp 0x447744
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xc50]
mov dword [ebp - 0x1c], eax
jmp 0x4476ea
mov ecx, 1
test ecx, ecx
je 0x447780
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc54], eax
mov eax, dword [ebp - 0xc54]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x447772
jmp 0x447780
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xc54]
mov dword [ebp - 0x1c], edx
jmp 0x447746
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc58], 0
jmp 0x4477a4
mov ecx, dword [ebp - 0xc58]
add ecx, 1
mov dword [ebp - 0xc58], ecx
cmp dword [ebp - 0xc58], 2
jge 0x4477f1
cmp dword [ebp - 0x1c], 0
jge 0x4477bb
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 0x4477d1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc5c], 0xfa
lea edx, [ebp - 0xc5c]
push edx
lea eax, [ebp - 0xe58]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x447795
mov dword [ebp - 4], 2
mov dword [ebp - 0xe5c], 0xffffffff
mov dword [ebp - 0xe60], 0
jmp 0x44781d
mov ecx, dword [ebp - 0xe60]
add ecx, 1
mov dword [ebp - 0xe60], ecx
cmp dword [ebp - 0xe60], 0
jge 0x44784f
mov eax, dword [ebp - 0xe60]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x447844
mov edx, dword [ebp - 0xe5c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x44780e
mov dword [ebp - 4], 0xfffffffe
jmp 0x44786f
mov dword [ebp - 0xe64], 0
jmp 0x44788a
mov edx, dword [ebp - 0xe64]
add edx, 1
mov dword [ebp - 0xe64], edx
cmp dword [ebp - 0xe64], 3
jge 0x4478a1
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xe64]
mov dword [ebp - 0x1c], eax
jmp 0x44787b
cmp dword [ebp - 0x1c], 0
jge 0x4478af
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 0x4478c7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe68], 0
jmp 0x4478e2
mov edx, dword [ebp - 0xe68]
add edx, 1
mov dword [ebp - 0xe68], edx
cmp dword [ebp - 0xe68], 4
jge 0x447923
cmp dword [ebp - 0x1c], 0
jge 0x4478f9
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 0x44790f
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1060]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4478d3
mov dword [ebp - 4], 3
mov dword [ebp - 0x1064], 0xffffffff
mov dword [ebp - 0x1068], 0
jmp 0x44794f
mov eax, dword [ebp - 0x1068]
add eax, 1
mov dword [ebp - 0x1068], eax
cmp dword [ebp - 0x1068], 6
jge 0x447981
mov eax, dword [ebp - 0x1068]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x447976
mov edx, dword [ebp - 0x1064]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x447940
mov dword [ebp - 4], 0xfffffffe
jmp 0x4479a1
mov dword [ebp - 0x106c], 0
jmp 0x4479bc
mov edx, dword [ebp - 0x106c]
add edx, 1
mov dword [ebp - 0x106c], edx
cmp dword [ebp - 0x106c], 3
jge 0x447a09
cmp dword [ebp - 0x1c], 0
jge 0x4479d3
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 0x4479e9
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1070], 0xfa
lea edx, [ebp - 0x1070]
push edx
lea eax, [ebp - 0x1268]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4479ad
mov ecx, 1
test ecx, ecx
je 0x447a43
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x126c], eax
mov eax, dword [ebp - 0x126c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x447a35
jmp 0x447a43
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x126c]
mov dword [ebp - 0x1c], edx
jmp 0x447a09
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 4
mov dword [ebp - 0x1270], 0xffffffff
mov dword [ebp - 0x1274], 0
jmp 0x447a78
mov ecx, dword [ebp - 0x1274]
add ecx, 1
mov dword [ebp - 0x1274], ecx
cmp dword [ebp - 0x1274], 1
jge 0x447aaa
mov eax, dword [ebp - 0x1274]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x447a9f
mov edx, dword [ebp - 0x1270]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x447a69
mov dword [ebp - 4], 0xfffffffe
jmp 0x447aca
mov dword [ebp - 4], 5
mov dword [ebp - 0x1278], 0xffffffff
mov dword [ebp - 0x127c], 0
jmp 0x447af6
mov edx, dword [ebp - 0x127c]
add edx, 1
mov dword [ebp - 0x127c], edx
cmp dword [ebp - 0x127c], 1
jge 0x447b28
mov eax, dword [ebp - 0x127c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x447b1d
mov edx, dword [ebp - 0x1278]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x447ae7
mov dword [ebp - 4], 0xfffffffe
jmp 0x447b48
mov dword [ebp - 0x1280], 0
jmp 0x447b63
mov edx, dword [ebp - 0x1280]
add edx, 1
mov dword [ebp - 0x1280], edx
cmp dword [ebp - 0x1280], 6
jge 0x447b7a
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1280]
mov dword [ebp - 0x1c], eax
jmp 0x447b54
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x447b8c
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 0x447ba4
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1284], 0
jmp 0x447bbf
mov edx, dword [ebp - 0x1284]
add edx, 1
mov dword [ebp - 0x1284], edx
cmp dword [ebp - 0x1284], 8
jge 0x447c00
cmp dword [ebp - 0x1c], 0
jge 0x447bd6
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 0x447bec
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1480]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x447bb0
mov dword [ebp - 0x1484], 0
jmp 0x447c1b
mov eax, dword [ebp - 0x1484]
add eax, 1
mov dword [ebp - 0x1484], eax
cmp dword [ebp - 0x1484], 8
jge 0x447c68
cmp dword [ebp - 0x1c], 0
jge 0x447c32
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 0x447c48
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1488], 0xfa
lea edx, [ebp - 0x1488]
push edx
lea eax, [ebp - 0x1680]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x447c0c
mov dword [ebp - 4], 6
mov dword [ebp - 0x1684], 0xffffffff
mov dword [ebp - 0x1688], 0
jmp 0x447c94
mov ecx, dword [ebp - 0x1688]
add ecx, 1
mov dword [ebp - 0x1688], ecx
cmp dword [ebp - 0x1688], 3
jge 0x447cc6
mov eax, dword [ebp - 0x1688]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x447cbb
mov edx, dword [ebp - 0x1684]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x447c85
mov dword [ebp - 4], 0xfffffffe
jmp 0x447ce6
mov edx, 1
test edx, edx
je 0x447d20
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x168c], eax
mov eax, dword [ebp - 0x168c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x447d12
jmp 0x447d20
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x168c]
mov dword [ebp - 0x1c], edx
jmp 0x447ce6
mov eax, dword [ebp - 0x1c]
add eax, 6
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1690], 0
jmp 0x447d44
mov ecx, dword [ebp - 0x1690]
add ecx, 1
mov dword [ebp - 0x1690], ecx
cmp dword [ebp - 0x1690], 5
jge 0x447d91
cmp dword [ebp - 0x1c], 0
jge 0x447d5b
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 0x447d71
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1694], 0xfa
lea edx, [ebp - 0x1694]
push edx
lea eax, [ebp - 0x1890]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x447d35
mov dword [ebp - 0x1894], 0
jmp 0x447dac
mov ecx, dword [ebp - 0x1894]
add ecx, 1
mov dword [ebp - 0x1894], ecx
cmp dword [ebp - 0x1894], 1
jge 0x447dc3
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1894]
mov dword [ebp - 0x1c], edx
jmp 0x447d9d
cmp dword [ebp - 0x1c], 0
jge 0x447dd1
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 0x447de9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1898], 0
jmp 0x447e04
mov edx, dword [ebp - 0x1898]
add edx, 1
mov dword [ebp - 0x1898], edx
cmp dword [ebp - 0x1898], 3
jge 0x447e51
mov eax, dword [ebp - 0x1898]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x447e33
mov eax, dword [ebp - 0x1898]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x447e43
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1898]
mov dword [ebp - 0x1c], edx
jmp 0x447e4f
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1898]
mov dword [ebp - 0x1c], eax
jmp 0x447df5
mov dword [ebp - 4], 7
mov dword [ebp - 0x189c], 0xffffffff
mov dword [ebp - 0x18a0], 0
jmp 0x447e7d
mov ecx, dword [ebp - 0x18a0]
add ecx, 1
mov dword [ebp - 0x18a0], ecx
cmp dword [ebp - 0x18a0], 8
jge 0x447eaf
mov eax, dword [ebp - 0x18a0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x447ea4
mov edx, dword [ebp - 0x189c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x447e6e
mov dword [ebp - 4], 0xfffffffe
jmp 0x447ecf
mov dword [ebp - 0x18a4], 0
jmp 0x447eea
mov edx, dword [ebp - 0x18a4]
add edx, 1
mov dword [ebp - 0x18a4], edx
cmp dword [ebp - 0x18a4], 7
jge 0x447f01
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x18a4]
mov dword [ebp - 0x1c], eax
jmp 0x447edb
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x447f13
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 0x447f2b
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18a8], 0
jmp 0x447f46
mov edx, dword [ebp - 0x18a8]
add edx, 1
mov dword [ebp - 0x18a8], edx
cmp dword [ebp - 0x18a8], 2
jge 0x447f5d
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x18a8]
mov dword [ebp - 0x1c], eax
jmp 0x447f37
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x447f6f
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 0x447f87
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18ac], 0
jmp 0x447fa2
mov edx, dword [ebp - 0x18ac]
add edx, 1
mov dword [ebp - 0x18ac], edx
cmp dword [ebp - 0x18ac], 4
jge 0x447fef
cmp dword [ebp - 0x1c], 0
jge 0x447fb9
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 0x447fcf
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 0x447f93
mov dword [ebp - 4], 8
mov dword [ebp - 0x1aac], 0xffffffff
mov dword [ebp - 0x1ab0], 0
jmp 0x44801b
mov ecx, dword [ebp - 0x1ab0]
add ecx, 1
mov dword [ebp - 0x1ab0], ecx
cmp dword [ebp - 0x1ab0], 2
jge 0x44804d
mov eax, dword [ebp - 0x1ab0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x448042
mov edx, dword [ebp - 0x1aac]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x44800c
mov dword [ebp - 4], 0xfffffffe
jmp 0x44806d
mov dword [ebp - 0x1ab4], 0
jmp 0x448088
mov edx, dword [ebp - 0x1ab4]
add edx, 1
mov dword [ebp - 0x1ab4], edx
cmp dword [ebp - 0x1ab4], 5
jge 0x4480c9
cmp dword [ebp - 0x1c], 0
jge 0x44809f
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 0x4480b5
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1cb0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x448079
mov dword [ebp - 0x1cb4], 0
jmp 0x4480e4
mov eax, dword [ebp - 0x1cb4]
add eax, 1
mov dword [ebp - 0x1cb4], eax
cmp dword [ebp - 0x1cb4], 2
jge 0x448131
mov eax, dword [ebp - 0x1cb4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x448113
mov eax, dword [ebp - 0x1cb4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x448123
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1cb4]
mov dword [ebp - 0x1c], edx
jmp 0x44812f
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1cb4]
mov dword [ebp - 0x1c], eax
jmp 0x4480d5
mov dword [ebp - 0x1cb8], 0
jmp 0x44814c
mov ecx, dword [ebp - 0x1cb8]
add ecx, 1
mov dword [ebp - 0x1cb8], ecx
cmp dword [ebp - 0x1cb8], 0
jge 0x448163
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1cb8]
mov dword [ebp - 0x1c], edx
jmp 0x44813d
cmp dword [ebp - 0x1c], 0
jge 0x448171
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 0x448189
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1cbc], 0
jmp 0x4481a4
mov edx, dword [ebp - 0x1cbc]
add edx, 1
mov dword [ebp - 0x1cbc], edx
cmp dword [ebp - 0x1cbc], 1
jge 0x4481f1
cmp dword [ebp - 0x1c], 0
jge 0x4481bb
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 0x4481d1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1cc0], 0xfa
lea edx, [ebp - 0x1cc0]
push edx
lea eax, [ebp - 0x1eb8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x448195
mov dword [ebp - 0x1ebc], 0
jmp 0x44820c
mov ecx, dword [ebp - 0x1ebc]
add ecx, 1
mov dword [ebp - 0x1ebc], ecx
cmp dword [ebp - 0x1ebc], 0
jge 0x448223
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1ebc]
mov dword [ebp - 0x1c], edx
jmp 0x4481fd
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x448235
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 0x44824d
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ec0], 0
jmp 0x448268
mov edx, dword [ebp - 0x1ec0]
add edx, 1
mov dword [ebp - 0x1ec0], edx
cmp dword [ebp - 0x1ec0], 1
jge 0x44827f
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1ec0]
mov dword [ebp - 0x1c], eax
jmp 0x448259
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x448291
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 0x4482a9
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ec4], 0
jmp 0x4482c4
mov edx, dword [ebp - 0x1ec4]
add edx, 1
mov dword [ebp - 0x1ec4], edx
cmp dword [ebp - 0x1ec4], 3
jge 0x448305
cmp dword [ebp - 0x1c], 0
jge 0x4482db
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 0x4482f1
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x20c0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4482b5
mov dword [ebp - 0x20c4], 0
jmp 0x448320
mov eax, dword [ebp - 0x20c4]
add eax, 1
mov dword [ebp - 0x20c4], eax
cmp dword [ebp - 0x20c4], 3
jge 0x448361
cmp dword [ebp - 0x1c], 0
jge 0x448337
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 0x44834d
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x22c0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x448311
mov dword [ebp - 0x22c4], 0
jmp 0x44837c
mov eax, dword [ebp - 0x22c4]
add eax, 1
mov dword [ebp - 0x22c4], eax
cmp dword [ebp - 0x22c4], 0
jge 0x4483c9
mov eax, dword [ebp - 0x22c4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4483ab
mov eax, dword [ebp - 0x22c4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4483bb
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x22c4]
mov dword [ebp - 0x1c], edx
jmp 0x4483c7
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x22c4]
mov dword [ebp - 0x1c], eax
jmp 0x44836d
mov dword [ebp - 0x22c8], 0
jmp 0x4483e4
mov ecx, dword [ebp - 0x22c8]
add ecx, 1
mov dword [ebp - 0x22c8], ecx
cmp dword [ebp - 0x22c8], 3
jge 0x448425
cmp dword [ebp - 0x1c], 0
jge 0x4483fb
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 0x448411
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x24c0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4483d5
mov dword [ebp - 0x24c4], 0
jmp 0x448440
cmp dword [ebp - 0x24c4], 1
jge 0x448481
cmp dword [ebp - 0x1c], 0
jge 0x448457
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 0x44846d
mov dword [ebp - 0x26c4], 0
jmp 0x44849c
cmp dword [ebp - 0x26c4], 3
jge 0x4484e9