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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x511238
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x22bc
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 0x452019
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x40
jge 0x452057
cmp dword [ebp - 0x1c], 0
jge 0x45202d
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 0x452043
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x220]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x452010
mov eax, 1
test eax, eax
je 0x452091
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x224], eax
mov eax, dword [ebp - 0x224]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x452083
jmp 0x452091
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x224]
mov dword [ebp - 0x1c], edx
jmp 0x452057
mov eax, dword [ebp - 0x1c]
add eax, 0x3a
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x228], 0
jmp 0x4520b5
mov ecx, dword [ebp - 0x228]
add ecx, 1
mov dword [ebp - 0x228], ecx
cmp dword [ebp - 0x228], 0x21
jge 0x452102
cmp dword [ebp - 0x1c], 0
jge 0x4520cc
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 0x4520e2
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x22c], 0xfa
lea edx, [ebp - 0x22c]
push edx
lea eax, [ebp - 0x428]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4520a6
mov dword [ebp - 0x42c], 0
jmp 0x45211d
mov ecx, dword [ebp - 0x42c]
add ecx, 1
mov dword [ebp - 0x42c], ecx
cmp dword [ebp - 0x42c], 3
jge 0x45216a
mov eax, dword [ebp - 0x42c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x45214c
mov eax, dword [ebp - 0x42c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x45215c
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x42c]
mov dword [ebp - 0x1c], edx
jmp 0x452168
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x42c]
mov dword [ebp - 0x1c], eax
jmp 0x45210e
mov dword [ebp - 0x430], 0
jmp 0x452185
mov ecx, dword [ebp - 0x430]
add ecx, 1
mov dword [ebp - 0x430], ecx
cmp dword [ebp - 0x430], 0xf
jge 0x45219c
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x430]
mov dword [ebp - 0x1c], edx
jmp 0x452176
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4521ae
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 0x4521c6
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x434], 0
jmp 0x4521e1
mov edx, dword [ebp - 0x434]
add edx, 1
mov dword [ebp - 0x434], edx
cmp dword [ebp - 0x434], 0x12
jge 0x4521f8
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x434]
mov dword [ebp - 0x1c], eax
jmp 0x4521d2
cmp dword [ebp - 0x1c], 0
jge 0x452206
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 0x45221e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x438], 0
jmp 0x452239
mov edx, dword [ebp - 0x438]
add edx, 1
mov dword [ebp - 0x438], edx
cmp dword [ebp - 0x438], 0x17
jge 0x452250
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x438]
mov dword [ebp - 0x1c], eax
jmp 0x45222a
cmp dword [ebp - 0x1c], 0
jge 0x45225e
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 0x452276
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4522b0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x43c], eax
mov eax, dword [ebp - 0x43c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4522a2
jmp 0x4522b0
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x43c]
mov dword [ebp - 0x1c], edx
jmp 0x452276
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x440], 0
jmp 0x4522d4
mov ecx, dword [ebp - 0x440]
add ecx, 1
mov dword [ebp - 0x440], ecx
cmp dword [ebp - 0x440], 2
jge 0x452321
cmp dword [ebp - 0x1c], 0
jge 0x4522eb
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 0x452301
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x444], 0xfa
lea edx, [ebp - 0x444]
push edx
lea eax, [ebp - 0x640]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4522c5
mov dword [ebp - 0x644], 0
jmp 0x45233c
mov ecx, dword [ebp - 0x644]
add ecx, 1
mov dword [ebp - 0x644], ecx
cmp dword [ebp - 0x644], 8
jge 0x45237d
cmp dword [ebp - 0x1c], 0
jge 0x452353
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 0x452369
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x840]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x45232d
mov dword [ebp - 4], 0
mov dword [ebp - 0x844], 0xffffffff
mov dword [ebp - 0x848], 0
jmp 0x4523a9
mov eax, dword [ebp - 0x848]
add eax, 1
mov dword [ebp - 0x848], eax
cmp dword [ebp - 0x848], 0xa
jge 0x4523db
mov eax, dword [ebp - 0x848]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4523d0
mov edx, dword [ebp - 0x844]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x45239a
mov dword [ebp - 4], 0xfffffffe
jmp 0x4523fb
mov dword [ebp - 0x84c], 0
jmp 0x452416
mov edx, dword [ebp - 0x84c]
add edx, 1
mov dword [ebp - 0x84c], edx
cmp dword [ebp - 0x84c], 0xe
jge 0x452457
cmp dword [ebp - 0x1c], 0
jge 0x45242d
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 0x452443
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa48]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x452407
mov eax, 1
test eax, eax
je 0x452491
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa4c], eax
mov eax, dword [ebp - 0xa4c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x452483
jmp 0x452491
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xa4c]
mov dword [ebp - 0x1c], edx
jmp 0x452457
mov eax, dword [ebp - 0x1c]
add eax, 0xa
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa50], 0
jmp 0x4524b5
mov ecx, dword [ebp - 0xa50]
add ecx, 1
mov dword [ebp - 0xa50], ecx
cmp dword [ebp - 0xa50], 8
jge 0x4524f6
cmp dword [ebp - 0x1c], 0
jge 0x4524cc
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 0x4524e2
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc48]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4524a6
mov dword [ebp - 0xc4c], 0
jmp 0x452511
mov eax, dword [ebp - 0xc4c]
add eax, 1
mov dword [ebp - 0xc4c], eax
cmp dword [ebp - 0xc4c], 0x10
jge 0x452552
cmp dword [ebp - 0x1c], 0
jge 0x452528
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 0x45253e
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xe48]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x452502
mov dword [ebp - 0xe4c], 0
jmp 0x45256d
mov eax, dword [ebp - 0xe4c]
add eax, 1
mov dword [ebp - 0xe4c], eax
cmp dword [ebp - 0xe4c], 5
jge 0x452584
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0xe4c]
mov dword [ebp - 0x1c], ecx
jmp 0x45255e
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x452596
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 0x4525ae
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4525e8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xe50], eax
mov eax, dword [ebp - 0xe50]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4525da
jmp 0x4525e8
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xe50]
mov dword [ebp - 0x1c], edx
jmp 0x4525ae
mov eax, dword [ebp - 0x1c]
add eax, 0xd
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe54], 0
jmp 0x45260c
mov ecx, dword [ebp - 0xe54]
add ecx, 1
mov dword [ebp - 0xe54], ecx
cmp dword [ebp - 0xe54], 4
jge 0x452659
cmp dword [ebp - 0x1c], 0
jge 0x452623
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 0x452639
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xe58], 0xfa
lea edx, [ebp - 0xe58]
push edx
lea eax, [ebp - 0x1050]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4525fd
mov ecx, 1
test ecx, ecx
je 0x452693
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1054], eax
mov eax, dword [ebp - 0x1054]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x452685
jmp 0x452693
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1054]
mov dword [ebp - 0x1c], edx
jmp 0x452659
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x1058], 0xffffffff
mov dword [ebp - 0x105c], 0
jmp 0x4526c8
mov ecx, dword [ebp - 0x105c]
add ecx, 1
mov dword [ebp - 0x105c], ecx
cmp dword [ebp - 0x105c], 7
jge 0x4526fa
mov eax, dword [ebp - 0x105c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4526ef
mov edx, dword [ebp - 0x1058]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4526b9
mov dword [ebp - 4], 0xfffffffe
jmp 0x45271a
mov dword [ebp - 0x1060], 0
jmp 0x452735
mov edx, dword [ebp - 0x1060]
add edx, 1
mov dword [ebp - 0x1060], edx
cmp dword [ebp - 0x1060], 4
jge 0x45274c
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1060]
mov dword [ebp - 0x1c], eax
jmp 0x452726
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x45275e
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 0x452776
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1064], 0
jmp 0x452791
mov edx, dword [ebp - 0x1064]
add edx, 1
mov dword [ebp - 0x1064], edx
cmp dword [ebp - 0x1064], 5
jge 0x4527de
cmp dword [ebp - 0x1c], 0
jge 0x4527a8
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 0x4527be
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1068], 0xfa
lea edx, [ebp - 0x1068]
push edx
lea eax, [ebp - 0x1260]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x452782
mov dword [ebp - 4], 2
mov dword [ebp - 0x1264], 0xffffffff
mov dword [ebp - 0x1268], 0
jmp 0x45280a
mov ecx, dword [ebp - 0x1268]
add ecx, 1
mov dword [ebp - 0x1268], ecx
cmp dword [ebp - 0x1268], 1
jge 0x45283c
mov eax, dword [ebp - 0x1268]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x452831
mov edx, dword [ebp - 0x1264]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4527fb
mov dword [ebp - 4], 0xfffffffe
jmp 0x45285c
mov dword [ebp - 0x126c], 0
jmp 0x452877
mov edx, dword [ebp - 0x126c]
add edx, 1
mov dword [ebp - 0x126c], edx
cmp dword [ebp - 0x126c], 3
jge 0x4528c4
mov eax, dword [ebp - 0x126c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4528a6
mov eax, dword [ebp - 0x126c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4528b6
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x126c]
mov dword [ebp - 0x1c], edx
jmp 0x4528c2
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x126c]
mov dword [ebp - 0x1c], eax
jmp 0x452868
mov dword [ebp - 4], 3
mov dword [ebp - 0x1270], 0xffffffff
mov dword [ebp - 0x1274], 0
jmp 0x4528f0
mov ecx, dword [ebp - 0x1274]
add ecx, 1
mov dword [ebp - 0x1274], ecx
cmp dword [ebp - 0x1274], 6
jge 0x452922
mov eax, dword [ebp - 0x1274]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x452917
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 0x4528e1
mov dword [ebp - 4], 0xfffffffe
jmp 0x452942
mov dword [ebp - 0x1278], 0
jmp 0x45295d
mov edx, dword [ebp - 0x1278]
add edx, 1
mov dword [ebp - 0x1278], edx
cmp dword [ebp - 0x1278], 6
jge 0x452974
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1278]
mov dword [ebp - 0x1c], eax
jmp 0x45294e
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x452986
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 0x45299e
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x127c], 0
jmp 0x4529b9
mov edx, dword [ebp - 0x127c]
add edx, 1
mov dword [ebp - 0x127c], edx
cmp dword [ebp - 0x127c], 1
jge 0x4529fa
cmp dword [ebp - 0x1c], 0
jge 0x4529d0
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 0x4529e6
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1478]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4529aa
mov dword [ebp - 0x147c], 0
jmp 0x452a15
mov eax, dword [ebp - 0x147c]
add eax, 1
mov dword [ebp - 0x147c], eax
cmp dword [ebp - 0x147c], 1
jge 0x452a2c
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x147c]
mov dword [ebp - 0x1c], ecx
jmp 0x452a06
cmp dword [ebp - 0x1c], 0
jge 0x452a3a
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 0x452a52
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1480], 0
jmp 0x452a6d
mov edx, dword [ebp - 0x1480]
add edx, 1
mov dword [ebp - 0x1480], edx
cmp dword [ebp - 0x1480], 6
jge 0x452aae
cmp dword [ebp - 0x1c], 0
jge 0x452a84
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 0x452a9a
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1678]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x452a5e
mov dword [ebp - 4], 4
mov dword [ebp - 0x167c], 0xffffffff
mov dword [ebp - 0x1680], 0
jmp 0x452ada
mov eax, dword [ebp - 0x1680]
add eax, 1
mov dword [ebp - 0x1680], eax
cmp dword [ebp - 0x1680], 6
jge 0x452b0c
mov eax, dword [ebp - 0x1680]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x452b01
mov edx, dword [ebp - 0x167c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x452acb
mov dword [ebp - 4], 0xfffffffe
jmp 0x452b2c
mov dword [ebp - 0x1684], 0
jmp 0x452b47
mov edx, dword [ebp - 0x1684]
add edx, 1
mov dword [ebp - 0x1684], edx
cmp dword [ebp - 0x1684], 2
jge 0x452b94
mov eax, dword [ebp - 0x1684]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x452b76
mov eax, dword [ebp - 0x1684]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x452b86
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1684]
mov dword [ebp - 0x1c], edx
jmp 0x452b92
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1684]
mov dword [ebp - 0x1c], eax
jmp 0x452b38
mov dword [ebp - 0x1688], 0
jmp 0x452baf
mov ecx, dword [ebp - 0x1688]
add ecx, 1
mov dword [ebp - 0x1688], ecx
cmp dword [ebp - 0x1688], 1
jge 0x452bfc
cmp dword [ebp - 0x1c], 0
jge 0x452bc6
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 0x452bdc
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x168c], 0xfa
lea edx, [ebp - 0x168c]
push edx
lea eax, [ebp - 0x1888]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x452ba0
mov dword [ebp - 0x188c], 0
jmp 0x452c17
mov ecx, dword [ebp - 0x188c]
add ecx, 1
mov dword [ebp - 0x188c], ecx
cmp dword [ebp - 0x188c], 4
jge 0x452c2e
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x188c]
mov dword [ebp - 0x1c], edx
jmp 0x452c08
cmp dword [ebp - 0x1c], 0
jge 0x452c3c
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 0x452c54
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 5
mov dword [ebp - 0x1890], 0xffffffff
mov dword [ebp - 0x1894], 0
jmp 0x452c80
mov edx, dword [ebp - 0x1894]
add edx, 1
mov dword [ebp - 0x1894], edx
cmp dword [ebp - 0x1894], 0
jge 0x452cb2
mov eax, dword [ebp - 0x1894]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x452ca7
mov edx, dword [ebp - 0x1890]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x452c71
mov dword [ebp - 4], 0xfffffffe
jmp 0x452cd2
mov dword [ebp - 0x1898], 0
jmp 0x452ced
mov edx, dword [ebp - 0x1898]
add edx, 1
mov dword [ebp - 0x1898], edx
cmp dword [ebp - 0x1898], 2
jge 0x452d04
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1898]
mov dword [ebp - 0x1c], eax
jmp 0x452cde
cmp dword [ebp - 0x1c], 0
jge 0x452d12
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 0x452d2a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x189c], 0
jmp 0x452d45
mov edx, dword [ebp - 0x189c]
add edx, 1
mov dword [ebp - 0x189c], edx
cmp dword [ebp - 0x189c], 4
jge 0x452d86
cmp dword [ebp - 0x1c], 0
jge 0x452d5c
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 0x452d72
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1a98]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x452d36
mov dword [ebp - 0x1a9c], 0
jmp 0x452da1
mov eax, dword [ebp - 0x1a9c]
add eax, 1
mov dword [ebp - 0x1a9c], eax
cmp dword [ebp - 0x1a9c], 0
jge 0x452db8
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x1a9c]
mov dword [ebp - 0x1c], ecx
jmp 0x452d92
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x452dca
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 0x452de2
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1aa0], 0
jmp 0x452dfd
mov edx, dword [ebp - 0x1aa0]
add edx, 1
mov dword [ebp - 0x1aa0], edx
cmp dword [ebp - 0x1aa0], 4
jge 0x452e3e
cmp dword [ebp - 0x1c], 0
jge 0x452e14
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 0x452e2a
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1c98]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x452dee
mov dword [ebp - 0x1c9c], 0
jmp 0x452e59
mov eax, dword [ebp - 0x1c9c]
add eax, 1
mov dword [ebp - 0x1c9c], eax
cmp dword [ebp - 0x1c9c], 4
jge 0x452ea6
mov eax, dword [ebp - 0x1c9c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x452e88
mov eax, dword [ebp - 0x1c9c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x452e98
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1c9c]
mov dword [ebp - 0x1c], edx
jmp 0x452ea4
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1c9c]
mov dword [ebp - 0x1c], eax
jmp 0x452e4a
mov ecx, 1
test ecx, ecx
je 0x452ee0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1ca0], eax
mov eax, dword [ebp - 0x1ca0]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x452ed2
jmp 0x452ee0
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1ca0]
mov dword [ebp - 0x1c], edx
jmp 0x452ea6
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ca4], 0
jmp 0x452f01
mov ecx, dword [ebp - 0x1ca4]
add ecx, 1
mov dword [ebp - 0x1ca4], ecx
cmp dword [ebp - 0x1ca4], 0
jge 0x452f18
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1ca4]
mov dword [ebp - 0x1c], edx
jmp 0x452ef2
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x452f2a
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 0x452f42
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ca8], 0
jmp 0x452f5d
mov edx, dword [ebp - 0x1ca8]
add edx, 1
mov dword [ebp - 0x1ca8], edx
cmp dword [ebp - 0x1ca8], 4
jge 0x452faa
cmp dword [ebp - 0x1c], 0
jge 0x452f74
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 0x452f8a
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1cac], 0xfa
lea edx, [ebp - 0x1cac]
push edx
lea eax, [ebp - 0x1ea8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x452f4e
mov dword [ebp - 4], 6
mov dword [ebp - 0x1eac], 0xffffffff
mov dword [ebp - 0x1eb0], 0
jmp 0x452fd6
mov ecx, dword [ebp - 0x1eb0]
add ecx, 1
mov dword [ebp - 0x1eb0], ecx
cmp dword [ebp - 0x1eb0], 1
jge 0x453008
mov eax, dword [ebp - 0x1eb0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x452ffd
mov edx, dword [ebp - 0x1eac]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x452fc7
mov dword [ebp - 4], 0xfffffffe
jmp 0x453028
mov dword [ebp - 0x1eb4], 0
jmp 0x453043
mov edx, dword [ebp - 0x1eb4]
add edx, 1
mov dword [ebp - 0x1eb4], edx
cmp dword [ebp - 0x1eb4], 2
jge 0x453090
mov eax, dword [ebp - 0x1eb4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x453072
mov eax, dword [ebp - 0x1eb4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x453082
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1eb4]
mov dword [ebp - 0x1c], edx
jmp 0x45308e
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1eb4]
mov dword [ebp - 0x1c], eax
jmp 0x453034
mov ecx, 1
test ecx, ecx
je 0x4530ca
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1eb8], eax
mov eax, dword [ebp - 0x1eb8]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4530bc
jmp 0x4530ca
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1eb8]
mov dword [ebp - 0x1c], edx
jmp 0x453090
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ebc], 0
jmp 0x4530ee
mov ecx, dword [ebp - 0x1ebc]
add ecx, 1
mov dword [ebp - 0x1ebc], ecx
cmp dword [ebp - 0x1ebc], 4
jge 0x453105
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1ebc]
mov dword [ebp - 0x1c], edx
jmp 0x4530df
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x453117
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 0x45312f
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ec0], 0
jmp 0x45314a
mov edx, dword [ebp - 0x1ec0]
add edx, 1
mov dword [ebp - 0x1ec0], edx
cmp dword [ebp - 0x1ec0], 3
jge 0x453197
cmp dword [ebp - 0x1c], 0
jge 0x453161
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 0x453177
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1ec4], 0xfa
lea edx, [ebp - 0x1ec4]
push edx
lea eax, [ebp - 0x20c0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x45313b
mov ecx, 1
test ecx, ecx
je 0x4531d1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x20c4], eax
mov eax, dword [ebp - 0x20c4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4531c3
jmp 0x4531d1
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x20c4]
mov dword [ebp - 0x1c], edx
jmp 0x453197
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20c8], 0
jmp 0x4531f2
mov ecx, dword [ebp - 0x20c8]
add ecx, 1
mov dword [ebp - 0x20c8], ecx
cmp dword [ebp - 0x20c8], 2
jge 0x453233
cmp dword [ebp - 0x1c], 0
jge 0x453209
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 0x45321f
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x22c0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4531e3
mov dword [ebp - 0x22c4], 0
jmp 0x45324e
mov eax, dword [ebp - 0x22c4]
add eax, 1
mov dword [ebp - 0x22c4], eax
cmp dword [ebp - 0x22c4], 1
jge 0x453265
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x22c4]
mov dword [ebp - 0x1c], ecx
jmp 0x45323f
cmp dword [ebp - 0x1c], 0
jge 0x453273
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 0x45328b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x22c8], 0
jmp 0x4532a6
cmp dword [ebp - 0x22c8], 0
jge 0x4532f3
mov eax, dword [ebp - 0x22c8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4532d5
mov eax, dword [ebp - 0x22c8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4532e5
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x22c8]
mov dword [ebp - 0x1c], edx
jmp 0x4532f1
mov dword [ebp - 4], 7
mov dword [ebp - 0x22cc], 0xffffffff
mov dword [ebp - 0x22d0], 0
jmp 0x45331f
cmp dword [ebp - 0x22d0], 1
jge 0x453351