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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x5115d0
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x28c0
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x28], 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 0x45cd99
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jge 0x45cddd
cmp dword [ebp - 0x1c], 0
jge 0x45cdad
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 0x45cdc3
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x24], 0xfa
lea edx, [ebp - 0x24]
push edx
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x45cd90
mov dword [ebp - 0x224], 0
jmp 0x45cdf8
mov ecx, dword [ebp - 0x224]
add ecx, 1
mov dword [ebp - 0x224], ecx
cmp dword [ebp - 0x224], 9
jge 0x45ce0f
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x224]
mov dword [ebp - 0x1c], edx
jmp 0x45cde9
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x45ce21
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 0x45ce39
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x228], 0
jmp 0x45ce54
mov edx, dword [ebp - 0x228]
add edx, 1
mov dword [ebp - 0x228], edx
cmp dword [ebp - 0x228], 0x1b
jge 0x45ce95
cmp dword [ebp - 0x1c], 0
jge 0x45ce6b
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 0x45ce81
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x420]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x45ce45
mov eax, 1
test eax, eax
je 0x45cecf
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x424], eax
mov eax, dword [ebp - 0x424]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x45cec1
jmp 0x45cecf
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x424]
mov dword [ebp - 0x1c], edx
jmp 0x45ce95
mov eax, dword [ebp - 0x1c]
add eax, 0xa
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x428], 0
jmp 0x45cef3
mov ecx, dword [ebp - 0x428]
add ecx, 1
mov dword [ebp - 0x428], ecx
cmp dword [ebp - 0x428], 3
jge 0x45cf40
mov eax, dword [ebp - 0x428]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x45cf22
mov eax, dword [ebp - 0x428]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x45cf32
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x428]
mov dword [ebp - 0x1c], edx
jmp 0x45cf3e
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x428]
mov dword [ebp - 0x1c], eax
jmp 0x45cee4
mov ecx, 1
test ecx, ecx
je 0x45cf7a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x42c], eax
mov eax, dword [ebp - 0x42c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x45cf6c
jmp 0x45cf7a
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x42c]
mov dword [ebp - 0x1c], edx
jmp 0x45cf40
mov eax, dword [ebp - 0x1c]
add eax, 6
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x430], 0
jmp 0x45cf9e
mov ecx, dword [ebp - 0x430]
add ecx, 1
mov dword [ebp - 0x430], ecx
cmp dword [ebp - 0x430], 0
jge 0x45cfdf
cmp dword [ebp - 0x1c], 0
jge 0x45cfb5
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 0x45cfcb
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x628]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x45cf8f
mov dword [ebp - 0x62c], 0
jmp 0x45cffa
mov eax, dword [ebp - 0x62c]
add eax, 1
mov dword [ebp - 0x62c], eax
cmp dword [ebp - 0x62c], 6
jge 0x45d047
cmp dword [ebp - 0x1c], 0
jge 0x45d011
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 0x45d027
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x630], 0xfa
lea edx, [ebp - 0x630]
push edx
lea eax, [ebp - 0x828]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x45cfeb
mov dword [ebp - 0x82c], 0
jmp 0x45d062
mov ecx, dword [ebp - 0x82c]
add ecx, 1
mov dword [ebp - 0x82c], ecx
cmp dword [ebp - 0x82c], 4
jge 0x45d079
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x82c]
mov dword [ebp - 0x1c], edx
jmp 0x45d053
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x45d08b
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 0x45d0a3
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x830], 0xffffffff
mov dword [ebp - 0x834], 0
jmp 0x45d0cf
mov edx, dword [ebp - 0x834]
add edx, 1
mov dword [ebp - 0x834], edx
cmp dword [ebp - 0x834], 2
jge 0x45d101
mov eax, dword [ebp - 0x834]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x45d0f6
mov edx, dword [ebp - 0x830]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x45d0c0
mov dword [ebp - 4], 0xfffffffe
jmp 0x45d121
mov dword [ebp - 0x838], 0
jmp 0x45d13c
mov edx, dword [ebp - 0x838]
add edx, 1
mov dword [ebp - 0x838], edx
cmp dword [ebp - 0x838], 5
jge 0x45d17d
cmp dword [ebp - 0x1c], 0
jge 0x45d153
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 0x45d169
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa30]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x45d12d
mov dword [ebp - 0xa34], 0
jmp 0x45d198
mov eax, dword [ebp - 0xa34]
add eax, 1
mov dword [ebp - 0xa34], eax
cmp dword [ebp - 0xa34], 3
jge 0x45d1af
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0xa34]
mov dword [ebp - 0x1c], ecx
jmp 0x45d189
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x45d1c1
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 0x45d1d9
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa38], 0
jmp 0x45d1f4
mov edx, dword [ebp - 0xa38]
add edx, 1
mov dword [ebp - 0xa38], edx
cmp dword [ebp - 0xa38], 6
jge 0x45d20b
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xa38]
mov dword [ebp - 0x1c], eax
jmp 0x45d1e5
cmp dword [ebp - 0x1c], 0
jge 0x45d219
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 0x45d231
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0xa3c], 0xffffffff
mov dword [ebp - 0xa40], 0
jmp 0x45d25d
mov edx, dword [ebp - 0xa40]
add edx, 1
mov dword [ebp - 0xa40], edx
cmp dword [ebp - 0xa40], 5
jge 0x45d28f
mov eax, dword [ebp - 0xa40]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x45d284
mov edx, dword [ebp - 0xa3c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x45d24e
mov dword [ebp - 4], 0xfffffffe
jmp 0x45d2af
mov dword [ebp - 0xa44], 0
jmp 0x45d2ca
mov edx, dword [ebp - 0xa44]
add edx, 1
mov dword [ebp - 0xa44], edx
cmp dword [ebp - 0xa44], 0
jge 0x45d30b
cmp dword [ebp - 0x1c], 0
jge 0x45d2e1
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 0x45d2f7
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc40]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x45d2bb
mov dword [ebp - 4], 2
mov dword [ebp - 0xc44], 0xffffffff
mov dword [ebp - 0xc48], 0
jmp 0x45d337
mov eax, dword [ebp - 0xc48]
add eax, 1
mov dword [ebp - 0xc48], eax
cmp dword [ebp - 0xc48], 6
jge 0x45d369
mov eax, dword [ebp - 0xc48]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x45d35e
mov edx, dword [ebp - 0xc44]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x45d328
mov dword [ebp - 4], 0xfffffffe
jmp 0x45d389
mov dword [ebp - 0xc4c], 0
jmp 0x45d3a4
mov edx, dword [ebp - 0xc4c]
add edx, 1
mov dword [ebp - 0xc4c], edx
cmp dword [ebp - 0xc4c], 5
jge 0x45d3bb
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xc4c]
mov dword [ebp - 0x1c], eax
jmp 0x45d395
cmp dword [ebp - 0x1c], 0
jge 0x45d3c9
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 0x45d3e1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc50], 0
jmp 0x45d3fc
mov edx, dword [ebp - 0xc50]
add edx, 1
mov dword [ebp - 0xc50], edx
cmp dword [ebp - 0xc50], 1
jge 0x45d413
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xc50]
mov dword [ebp - 0x1c], eax
jmp 0x45d3ed
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x45d425
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 0x45d43d
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x45d477
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 0x45d469
jmp 0x45d477
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xc54]
mov dword [ebp - 0x1c], edx
jmp 0x45d43d
mov eax, dword [ebp - 0x1c]
add eax, 6
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc58], 0
jmp 0x45d49b
mov ecx, dword [ebp - 0xc58]
add ecx, 1
mov dword [ebp - 0xc58], ecx
cmp dword [ebp - 0xc58], 2
jge 0x45d4e8
cmp dword [ebp - 0x1c], 0
jge 0x45d4b2
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 0x45d4c8
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 0x45d48c
mov dword [ebp - 0xe5c], 0
jmp 0x45d503
mov ecx, dword [ebp - 0xe5c]
add ecx, 1
mov dword [ebp - 0xe5c], ecx
cmp dword [ebp - 0xe5c], 4
jge 0x45d51a
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xe5c]
mov dword [ebp - 0x1c], edx
jmp 0x45d4f4
cmp dword [ebp - 0x1c], 0
jge 0x45d528
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 0x45d540
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe60], 0
jmp 0x45d55b
mov edx, dword [ebp - 0xe60]
add edx, 1
mov dword [ebp - 0xe60], edx
cmp dword [ebp - 0xe60], 7
jge 0x45d572
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xe60]
mov dword [ebp - 0x1c], eax
jmp 0x45d54c
cmp dword [ebp - 0x1c], 0
jge 0x45d580
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 0x45d598
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe64], 0
jmp 0x45d5b3
mov edx, dword [ebp - 0xe64]
add edx, 1
mov dword [ebp - 0xe64], edx
cmp dword [ebp - 0xe64], 6
jge 0x45d600
mov eax, dword [ebp - 0xe64]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x45d5e2
mov eax, dword [ebp - 0xe64]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x45d5f2
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe64]
mov dword [ebp - 0x1c], edx
jmp 0x45d5fe
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xe64]
mov dword [ebp - 0x1c], eax
jmp 0x45d5a4
mov dword [ebp - 0xe68], 0
jmp 0x45d61b
mov ecx, dword [ebp - 0xe68]
add ecx, 1
mov dword [ebp - 0xe68], ecx
cmp dword [ebp - 0xe68], 2
jge 0x45d632
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe68]
mov dword [ebp - 0x1c], edx
jmp 0x45d60c
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x45d644
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 0x45d65c
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe6c], 0
jmp 0x45d677
mov edx, dword [ebp - 0xe6c]
add edx, 1
mov dword [ebp - 0xe6c], edx
cmp dword [ebp - 0xe6c], 2
jge 0x45d68e
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xe6c]
mov dword [ebp - 0x1c], eax
jmp 0x45d668
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x45d6a0
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 0x45d6b8
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe70], 0
jmp 0x45d6d3
mov edx, dword [ebp - 0xe70]
add edx, 1
mov dword [ebp - 0xe70], edx
cmp dword [ebp - 0xe70], 3
jge 0x45d720
cmp dword [ebp - 0x1c], 0
jge 0x45d6ea
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 0x45d700
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xe74], 0xfa
lea edx, [ebp - 0xe74]
push edx
lea eax, [ebp - 0x1070]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x45d6c4
mov dword [ebp - 0x1074], 0
jmp 0x45d73b
mov ecx, dword [ebp - 0x1074]
add ecx, 1
mov dword [ebp - 0x1074], ecx
cmp dword [ebp - 0x1074], 3
jge 0x45d752
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1074]
mov dword [ebp - 0x1c], edx
jmp 0x45d72c
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x45d764
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 0x45d77c
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1078], 0
jmp 0x45d797
mov edx, dword [ebp - 0x1078]
add edx, 1
mov dword [ebp - 0x1078], edx
cmp dword [ebp - 0x1078], 2
jge 0x45d7e4
mov eax, dword [ebp - 0x1078]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x45d7c6
mov eax, dword [ebp - 0x1078]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x45d7d6
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1078]
mov dword [ebp - 0x1c], edx
jmp 0x45d7e2
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1078]
mov dword [ebp - 0x1c], eax
jmp 0x45d788
mov dword [ebp - 0x107c], 0
jmp 0x45d7ff
mov ecx, dword [ebp - 0x107c]
add ecx, 1
mov dword [ebp - 0x107c], ecx
cmp dword [ebp - 0x107c], 0
jge 0x45d816
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x107c]
mov dword [ebp - 0x1c], edx
jmp 0x45d7f0
cmp dword [ebp - 0x1c], 0
jge 0x45d824
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 0x45d83c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1080], 0
jmp 0x45d857
mov edx, dword [ebp - 0x1080]
add edx, 1
mov dword [ebp - 0x1080], edx
cmp dword [ebp - 0x1080], 4
jge 0x45d8a4
cmp dword [ebp - 0x1c], 0
jge 0x45d86e
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 0x45d884
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1084], 0xfa
lea edx, [ebp - 0x1084]
push edx
lea eax, [ebp - 0x1280]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x45d848
mov dword [ebp - 0x1284], 0
jmp 0x45d8bf
mov ecx, dword [ebp - 0x1284]
add ecx, 1
mov dword [ebp - 0x1284], ecx
cmp dword [ebp - 0x1284], 2
jge 0x45d900
cmp dword [ebp - 0x1c], 0
jge 0x45d8d6
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 0x45d8ec
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1480]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x45d8b0
mov dword [ebp - 4], 3
mov dword [ebp - 0x1484], 0xffffffff
mov dword [ebp - 0x1488], 0
jmp 0x45d92c
mov eax, dword [ebp - 0x1488]
add eax, 1
mov dword [ebp - 0x1488], eax
cmp dword [ebp - 0x1488], 4
jge 0x45d95e
mov eax, dword [ebp - 0x1488]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x45d953
mov edx, dword [ebp - 0x1484]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x45d91d
mov dword [ebp - 4], 0xfffffffe
jmp 0x45d97e
mov dword [ebp - 0x148c], 0
jmp 0x45d999
mov edx, dword [ebp - 0x148c]
add edx, 1
mov dword [ebp - 0x148c], edx
cmp dword [ebp - 0x148c], 2
jge 0x45d9e6
mov eax, dword [ebp - 0x148c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x45d9c8
mov eax, dword [ebp - 0x148c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x45d9d8
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x148c]
mov dword [ebp - 0x1c], edx
jmp 0x45d9e4
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x148c]
mov dword [ebp - 0x1c], eax
jmp 0x45d98a
mov dword [ebp - 0x1490], 0
jmp 0x45da01
mov ecx, dword [ebp - 0x1490]
add ecx, 1
mov dword [ebp - 0x1490], ecx
cmp dword [ebp - 0x1490], 0
jge 0x45da42
cmp dword [ebp - 0x1c], 0
jge 0x45da18
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 0x45da2e
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1688]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x45d9f2
mov dword [ebp - 0x168c], 0
jmp 0x45da5d
mov eax, dword [ebp - 0x168c]
add eax, 1
mov dword [ebp - 0x168c], eax
cmp dword [ebp - 0x168c], 3
jge 0x45daaa
cmp dword [ebp - 0x1c], 0
jge 0x45da74
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 0x45da8a
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1690], 0xfa
lea edx, [ebp - 0x1690]
push edx
lea eax, [ebp - 0x1888]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x45da4e
mov dword [ebp - 0x188c], 0
jmp 0x45dac5
mov ecx, dword [ebp - 0x188c]
add ecx, 1
mov dword [ebp - 0x188c], ecx
cmp dword [ebp - 0x188c], 0
jge 0x45db12
cmp dword [ebp - 0x1c], 0
jge 0x45dadc
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 0x45daf2
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1890], 0xfa
lea edx, [ebp - 0x1890]
push edx
lea eax, [ebp - 0x1a88]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x45dab6
mov dword [ebp - 0x1a8c], 0
jmp 0x45db2d
mov ecx, dword [ebp - 0x1a8c]
add ecx, 1
mov dword [ebp - 0x1a8c], ecx
cmp dword [ebp - 0x1a8c], 3
jge 0x45db6e
cmp dword [ebp - 0x1c], 0
jge 0x45db44
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 0x45db5a
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1c88]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x45db1e
mov dword [ebp - 0x1c8c], 0
jmp 0x45db89
mov eax, dword [ebp - 0x1c8c]
add eax, 1
mov dword [ebp - 0x1c8c], eax
cmp dword [ebp - 0x1c8c], 3
jge 0x45dba0
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x1c8c]
mov dword [ebp - 0x1c], ecx
jmp 0x45db7a
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x45dbb2
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 0x45dbca
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x45dc04
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1c90], eax
mov eax, dword [ebp - 0x1c90]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x45dbf6
jmp 0x45dc04
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1c90]
mov dword [ebp - 0x1c], edx
jmp 0x45dbca
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c94], 0
jmp 0x45dc28
mov ecx, dword [ebp - 0x1c94]
add ecx, 1
mov dword [ebp - 0x1c94], ecx
cmp dword [ebp - 0x1c94], 3
jge 0x45dc75
mov eax, dword [ebp - 0x1c94]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x45dc57
mov eax, dword [ebp - 0x1c94]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x45dc67
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1c94]
mov dword [ebp - 0x1c], edx
jmp 0x45dc73
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1c94]
mov dword [ebp - 0x1c], eax
jmp 0x45dc19
mov dword [ebp - 0x1c98], 0
jmp 0x45dc90
mov ecx, dword [ebp - 0x1c98]
add ecx, 1
mov dword [ebp - 0x1c98], ecx
cmp dword [ebp - 0x1c98], 0
jge 0x45dcd1
cmp dword [ebp - 0x1c], 0
jge 0x45dca7
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 0x45dcbd
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1e90]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x45dc81
mov dword [ebp - 0x1e94], 0
jmp 0x45dcec
mov eax, dword [ebp - 0x1e94]
add eax, 1
mov dword [ebp - 0x1e94], eax
cmp dword [ebp - 0x1e94], 4
jge 0x45dd03
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x1e94]
mov dword [ebp - 0x1c], ecx
jmp 0x45dcdd
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x45dd15
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 0x45dd2d
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1e98], 0
jmp 0x45dd48
mov edx, dword [ebp - 0x1e98]
add edx, 1
mov dword [ebp - 0x1e98], edx
cmp dword [ebp - 0x1e98], 0
jge 0x45dd5f
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1e98]
mov dword [ebp - 0x1c], eax
jmp 0x45dd39
cmp dword [ebp - 0x1c], 0
jge 0x45dd6d
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 0x45dd85
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1e9c], 0
jmp 0x45dda0
mov edx, dword [ebp - 0x1e9c]
add edx, 1
mov dword [ebp - 0x1e9c], edx
cmp dword [ebp - 0x1e9c], 3
jge 0x45dded
cmp dword [ebp - 0x1c], 0
jge 0x45ddb7
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 0x45ddcd
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1ea0], 0xfa
lea edx, [ebp - 0x1ea0]
push edx
lea eax, [ebp - 0x2098]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x45dd91
mov ecx, 1
test ecx, ecx
je 0x45de27
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x209c], eax
mov eax, dword [ebp - 0x209c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x45de19
jmp 0x45de27
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x209c]
mov dword [ebp - 0x1c], edx
jmp 0x45dded
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20a0], 0
jmp 0x45de4b
mov ecx, dword [ebp - 0x20a0]
add ecx, 1
mov dword [ebp - 0x20a0], ecx
cmp dword [ebp - 0x20a0], 3
jge 0x45de98
cmp dword [ebp - 0x1c], 0
jge 0x45de62
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 0x45de78
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20a4], 0xfa
lea edx, [ebp - 0x20a4]
push edx
lea eax, [ebp - 0x22a0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x45de3c
mov dword [ebp - 4], 4
mov dword [ebp - 0x22a4], 0xffffffff
mov dword [ebp - 0x22a8], 0
jmp 0x45dec4
mov ecx, dword [ebp - 0x22a8]
add ecx, 1
mov dword [ebp - 0x22a8], ecx
cmp dword [ebp - 0x22a8], 3
jge 0x45def6
mov eax, dword [ebp - 0x22a8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x45deeb
mov edx, dword [ebp - 0x22a4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x45deb5
mov dword [ebp - 4], 0xfffffffe
jmp 0x45df16
mov dword [ebp - 0x22ac], 0
jmp 0x45df31
cmp dword [ebp - 0x22ac], 4
jge 0x45df72
cmp dword [ebp - 0x1c], 0
jge 0x45df48
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 0x45df5e
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x24a8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x45df22
mov dword [ebp - 0x24ac], 0
jmp 0x45df8d
cmp dword [ebp - 0x24ac], 4
jge 0x45dfda
mov eax, dword [ebp - 0x24ac]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x45dfbc
mov dword [ebp - 0x24b0], 0
jmp 0x45dff5