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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x511380
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x2ed8
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x2c], 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 0x455c39
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x19
jge 0x455c77
mov eax, dword [ebp - 0x20]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x455c5f
mov eax, dword [ebp - 0x20]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x455c6c
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x455c75
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x455c30
mov dword [ebp - 0x24], 0
jmp 0x455c89
mov ecx, dword [ebp - 0x24]
add ecx, 1
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], 6
jge 0x455ccd
cmp dword [ebp - 0x1c], 0
jge 0x455c9d
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 0x455cb3
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x28], 0xfa
lea edx, [ebp - 0x28]
push edx
lea eax, [ebp - 0x228]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x455c80
mov dword [ebp - 4], 0
mov dword [ebp - 0x22c], 0xffffffff
mov dword [ebp - 0x230], 0
jmp 0x455cf9
mov ecx, dword [ebp - 0x230]
add ecx, 1
mov dword [ebp - 0x230], ecx
cmp dword [ebp - 0x230], 9
jge 0x455d2b
mov eax, dword [ebp - 0x230]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x455d20
mov edx, dword [ebp - 0x22c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x455cea
mov dword [ebp - 4], 0xfffffffe
jmp 0x455d4b
mov dword [ebp - 0x234], 0
jmp 0x455d66
mov edx, dword [ebp - 0x234]
add edx, 1
mov dword [ebp - 0x234], edx
cmp dword [ebp - 0x234], 1
jge 0x455db3
cmp dword [ebp - 0x1c], 0
jge 0x455d7d
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 0x455d93
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x238], 0xfa
lea edx, [ebp - 0x238]
push edx
lea eax, [ebp - 0x430]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x455d57
mov dword [ebp - 0x434], 0
jmp 0x455dce
mov ecx, dword [ebp - 0x434]
add ecx, 1
mov dword [ebp - 0x434], ecx
cmp dword [ebp - 0x434], 0xf
jge 0x455de5
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x434]
mov dword [ebp - 0x1c], edx
jmp 0x455dbf
cmp dword [ebp - 0x1c], 0
jge 0x455df3
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 0x455e0b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x438], 0
jmp 0x455e26
mov edx, dword [ebp - 0x438]
add edx, 1
mov dword [ebp - 0x438], edx
cmp dword [ebp - 0x438], 2
jge 0x455e3d
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x438]
mov dword [ebp - 0x1c], eax
jmp 0x455e17
cmp dword [ebp - 0x1c], 0
jge 0x455e4b
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 0x455e63
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x43c], 0xffffffff
mov dword [ebp - 0x440], 0
jmp 0x455e8f
mov edx, dword [ebp - 0x440]
add edx, 1
mov dword [ebp - 0x440], edx
cmp dword [ebp - 0x440], 0xc
jge 0x455ec1
mov eax, dword [ebp - 0x440]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x455eb6
mov edx, dword [ebp - 0x43c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x455e80
mov dword [ebp - 4], 0xfffffffe
jmp 0x455ee1
mov dword [ebp - 0x444], 0
jmp 0x455efc
mov edx, dword [ebp - 0x444]
add edx, 1
mov dword [ebp - 0x444], edx
cmp dword [ebp - 0x444], 0xf
jge 0x455f49
mov eax, dword [ebp - 0x444]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x455f2b
mov eax, dword [ebp - 0x444]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x455f3b
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x444]
mov dword [ebp - 0x1c], edx
jmp 0x455f47
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x444]
mov dword [ebp - 0x1c], eax
jmp 0x455eed
mov dword [ebp - 0x448], 0
jmp 0x455f64
mov ecx, dword [ebp - 0x448]
add ecx, 1
mov dword [ebp - 0x448], ecx
cmp dword [ebp - 0x448], 3
jge 0x455fa5
cmp dword [ebp - 0x1c], 0
jge 0x455f7b
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 0x455f91
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x640]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x455f55
mov eax, 1
test eax, eax
je 0x455fdf
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x644], eax
mov eax, dword [ebp - 0x644]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x455fd1
jmp 0x455fdf
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x644]
mov dword [ebp - 0x1c], edx
jmp 0x455fa5
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x456022
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x648], eax
mov eax, dword [ebp - 0x648]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x456014
jmp 0x456022
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x648]
mov dword [ebp - 0x1c], edx
jmp 0x455fe8
mov eax, dword [ebp - 0x1c]
add eax, 9
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x64c], 0
jmp 0x456046
mov ecx, dword [ebp - 0x64c]
add ecx, 1
mov dword [ebp - 0x64c], ecx
cmp dword [ebp - 0x64c], 0xc
jge 0x456087
cmp dword [ebp - 0x1c], 0
jge 0x45605d
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 0x456073
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x848]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x456037
mov dword [ebp - 0x84c], 0
jmp 0x4560a2
mov eax, dword [ebp - 0x84c]
add eax, 1
mov dword [ebp - 0x84c], eax
cmp dword [ebp - 0x84c], 8
jge 0x4560b9
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x84c]
mov dword [ebp - 0x1c], ecx
jmp 0x456093
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4560cb
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 0x4560e3
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x850], 0
jmp 0x4560fe
mov edx, dword [ebp - 0x850]
add edx, 1
mov dword [ebp - 0x850], edx
cmp dword [ebp - 0x850], 0
jge 0x45614b
cmp dword [ebp - 0x1c], 0
jge 0x456115
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 0x45612b
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x854], 0xfa
lea edx, [ebp - 0x854]
push edx
lea eax, [ebp - 0xa50]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4560ef
mov dword [ebp - 0xa54], 0
jmp 0x456166
mov ecx, dword [ebp - 0xa54]
add ecx, 1
mov dword [ebp - 0xa54], ecx
cmp dword [ebp - 0xa54], 2
jge 0x45617d
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa54]
mov dword [ebp - 0x1c], edx
jmp 0x456157
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x45618f
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 0x4561a7
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4561e1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa58], eax
mov eax, dword [ebp - 0xa58]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4561d3
jmp 0x4561e1
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xa58]
mov dword [ebp - 0x1c], edx
jmp 0x4561a7
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x456224
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa5c], eax
mov eax, dword [ebp - 0xa5c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x456216
jmp 0x456224
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xa5c]
mov dword [ebp - 0x1c], edx
jmp 0x4561ea
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa60], 0
jmp 0x456248
mov ecx, dword [ebp - 0xa60]
add ecx, 1
mov dword [ebp - 0xa60], ecx
cmp dword [ebp - 0xa60], 6
jge 0x45625f
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xa60]
mov dword [ebp - 0x1c], edx
jmp 0x456239
cmp dword [ebp - 0x1c], 0
jge 0x45626d
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 0x456285
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa64], 0
jmp 0x4562a0
mov edx, dword [ebp - 0xa64]
add edx, 1
mov dword [ebp - 0xa64], edx
cmp dword [ebp - 0xa64], 2
jge 0x4562b7
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xa64]
mov dword [ebp - 0x1c], eax
jmp 0x456291
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4562c9
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 0x4562e1
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa68], 0
jmp 0x4562fc
mov edx, dword [ebp - 0xa68]
add edx, 1
mov dword [ebp - 0xa68], edx
cmp dword [ebp - 0xa68], 2
jge 0x45633d
cmp dword [ebp - 0x1c], 0
jge 0x456313
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 0x456329
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc60]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4562ed
mov dword [ebp - 0xc64], 0
jmp 0x456358
mov eax, dword [ebp - 0xc64]
add eax, 1
mov dword [ebp - 0xc64], eax
cmp dword [ebp - 0xc64], 2
jge 0x4563a5
mov eax, dword [ebp - 0xc64]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x456387
mov eax, dword [ebp - 0xc64]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x456397
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc64]
mov dword [ebp - 0x1c], edx
jmp 0x4563a3
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xc64]
mov dword [ebp - 0x1c], eax
jmp 0x456349
mov dword [ebp - 0xc68], 0
jmp 0x4563c0
mov ecx, dword [ebp - 0xc68]
add ecx, 1
mov dword [ebp - 0xc68], ecx
cmp dword [ebp - 0xc68], 5
jge 0x45640d
cmp dword [ebp - 0x1c], 0
jge 0x4563d7
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 0x4563ed
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc6c], 0xfa
lea edx, [ebp - 0xc6c]
push edx
lea eax, [ebp - 0xe68]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4563b1
mov dword [ebp - 0xe6c], 0
jmp 0x456428
mov ecx, dword [ebp - 0xe6c]
add ecx, 1
mov dword [ebp - 0xe6c], ecx
cmp dword [ebp - 0xe6c], 1
jge 0x456469
cmp dword [ebp - 0x1c], 0
jge 0x45643f
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 0x456455
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1068]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x456419
mov dword [ebp - 4], 2
mov dword [ebp - 0x106c], 0xffffffff
mov dword [ebp - 0x1070], 0
jmp 0x456495
mov eax, dword [ebp - 0x1070]
add eax, 1
mov dword [ebp - 0x1070], eax
cmp dword [ebp - 0x1070], 2
jge 0x4564c7
mov eax, dword [ebp - 0x1070]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4564bc
mov edx, dword [ebp - 0x106c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x456486
mov dword [ebp - 4], 0xfffffffe
jmp 0x4564e7
mov dword [ebp - 0x1074], 0
jmp 0x456502
mov edx, dword [ebp - 0x1074]
add edx, 1
mov dword [ebp - 0x1074], edx
cmp dword [ebp - 0x1074], 2
jge 0x456519
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1074]
mov dword [ebp - 0x1c], eax
jmp 0x4564f3
cmp dword [ebp - 0x1c], 0
jge 0x456527
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 0x45653f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1078], 0
jmp 0x45655a
mov edx, dword [ebp - 0x1078]
add edx, 1
mov dword [ebp - 0x1078], edx
cmp dword [ebp - 0x1078], 2
jge 0x45659b
cmp dword [ebp - 0x1c], 0
jge 0x456571
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 0x456587
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1270]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x45654b
mov eax, 1
test eax, eax
je 0x4565d5
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1274], eax
mov eax, dword [ebp - 0x1274]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4565c7
jmp 0x4565d5
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1274]
mov dword [ebp - 0x1c], edx
jmp 0x45659b
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x456618
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1278], eax
mov eax, dword [ebp - 0x1278]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x45660a
jmp 0x456618
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1278]
mov dword [ebp - 0x1c], edx
jmp 0x4565de
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x127c], 0
jmp 0x45663c
mov ecx, dword [ebp - 0x127c]
add ecx, 1
mov dword [ebp - 0x127c], ecx
cmp dword [ebp - 0x127c], 2
jge 0x456689
cmp dword [ebp - 0x1c], 0
jge 0x456653
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 0x456669
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1280], 0xfa
lea edx, [ebp - 0x1280]
push edx
lea eax, [ebp - 0x1478]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x45662d
mov dword [ebp - 0x147c], 0
jmp 0x4566a4
mov ecx, dword [ebp - 0x147c]
add ecx, 1
mov dword [ebp - 0x147c], ecx
cmp dword [ebp - 0x147c], 4
jge 0x4566bb
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x147c]
mov dword [ebp - 0x1c], edx
jmp 0x456695
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4566cd
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 0x4566e5
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1480], 0
jmp 0x456700
mov edx, dword [ebp - 0x1480]
add edx, 1
mov dword [ebp - 0x1480], edx
cmp dword [ebp - 0x1480], 4
jge 0x456717
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1480]
mov dword [ebp - 0x1c], eax
jmp 0x4566f1
cmp dword [ebp - 0x1c], 0
jge 0x456725
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 0x45673d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1484], 0
jmp 0x456758
mov edx, dword [ebp - 0x1484]
add edx, 1
mov dword [ebp - 0x1484], edx
cmp dword [ebp - 0x1484], 2
jge 0x456799
cmp dword [ebp - 0x1c], 0
jge 0x45676f
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 0x456785
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1680]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x456749
mov eax, 1
test eax, eax
je 0x4567d3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1684], eax
mov eax, dword [ebp - 0x1684]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4567c5
jmp 0x4567d3
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1684]
mov dword [ebp - 0x1c], edx
jmp 0x456799
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1688], 0
jmp 0x4567f7
mov ecx, dword [ebp - 0x1688]
add ecx, 1
mov dword [ebp - 0x1688], ecx
cmp dword [ebp - 0x1688], 2
jge 0x45680e
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1688]
mov dword [ebp - 0x1c], edx
jmp 0x4567e8
cmp dword [ebp - 0x1c], 0
jge 0x45681c
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 0x456834
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x168c], 0
jmp 0x45684f
mov edx, dword [ebp - 0x168c]
add edx, 1
mov dword [ebp - 0x168c], edx
cmp dword [ebp - 0x168c], 4
jge 0x456890
cmp dword [ebp - 0x1c], 0
jge 0x456866
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 0x45687c
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1888]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x456840
mov dword [ebp - 0x188c], 0
jmp 0x4568ab
mov eax, dword [ebp - 0x188c]
add eax, 1
mov dword [ebp - 0x188c], eax
cmp dword [ebp - 0x188c], 4
jge 0x4568f8
cmp dword [ebp - 0x1c], 0
jge 0x4568c2
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 0x4568d8
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 0x45689c
mov dword [ebp - 0x1a8c], 0
jmp 0x456913
mov ecx, dword [ebp - 0x1a8c]
add ecx, 1
mov dword [ebp - 0x1a8c], ecx
cmp dword [ebp - 0x1a8c], 2
jge 0x456960
cmp dword [ebp - 0x1c], 0
jge 0x45692a
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 0x456940
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1a90], 0xfa
lea edx, [ebp - 0x1a90]
push edx
lea eax, [ebp - 0x1c88]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x456904
mov dword [ebp - 4], 3
mov dword [ebp - 0x1c8c], 0xffffffff
mov dword [ebp - 0x1c90], 0
jmp 0x45698c
mov ecx, dword [ebp - 0x1c90]
add ecx, 1
mov dword [ebp - 0x1c90], ecx
cmp dword [ebp - 0x1c90], 0
jge 0x4569be
mov eax, dword [ebp - 0x1c90]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4569b3
mov edx, dword [ebp - 0x1c8c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x45697d
mov dword [ebp - 4], 0xfffffffe
jmp 0x4569de
mov dword [ebp - 0x1c94], 0
jmp 0x4569f9
mov edx, dword [ebp - 0x1c94]
add edx, 1
mov dword [ebp - 0x1c94], edx
cmp dword [ebp - 0x1c94], 3
jge 0x456a46
cmp dword [ebp - 0x1c], 0
jge 0x456a10
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 0x456a26
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1c98], 0xfa
lea edx, [ebp - 0x1c98]
push edx
lea eax, [ebp - 0x1e90]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4569ea
mov dword [ebp - 0x1e94], 0
jmp 0x456a61
mov ecx, dword [ebp - 0x1e94]
add ecx, 1
mov dword [ebp - 0x1e94], ecx
cmp dword [ebp - 0x1e94], 1
jge 0x456aae
mov eax, dword [ebp - 0x1e94]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x456a90
mov eax, dword [ebp - 0x1e94]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x456aa0
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1e94]
mov dword [ebp - 0x1c], edx
jmp 0x456aac
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1e94]
mov dword [ebp - 0x1c], eax
jmp 0x456a52
mov dword [ebp - 0x1e98], 0
jmp 0x456ac9
mov ecx, dword [ebp - 0x1e98]
add ecx, 1
mov dword [ebp - 0x1e98], ecx
cmp dword [ebp - 0x1e98], 0
jge 0x456b16
cmp dword [ebp - 0x1c], 0
jge 0x456ae0
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 0x456af6
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1e9c], 0xfa
lea edx, [ebp - 0x1e9c]
push edx
lea eax, [ebp - 0x2098]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x456aba
mov dword [ebp - 0x209c], 0
jmp 0x456b31
mov ecx, dword [ebp - 0x209c]
add ecx, 1
mov dword [ebp - 0x209c], ecx
cmp dword [ebp - 0x209c], 1
jge 0x456b72
cmp dword [ebp - 0x1c], 0
jge 0x456b48
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 0x456b5e
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x2298]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x456b22
mov dword [ebp - 0x229c], 0
jmp 0x456b8d
mov eax, dword [ebp - 0x229c]
add eax, 1
mov dword [ebp - 0x229c], eax
cmp dword [ebp - 0x229c], 3
jge 0x456ba4
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x229c]
mov dword [ebp - 0x1c], ecx
jmp 0x456b7e
cmp dword [ebp - 0x1c], 0
jge 0x456bb2
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 0x456bca
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 4
mov dword [ebp - 0x22a0], 0xffffffff
mov dword [ebp - 0x22a4], 0
jmp 0x456bf6
mov edx, dword [ebp - 0x22a4]
add edx, 1
mov dword [ebp - 0x22a4], edx
cmp dword [ebp - 0x22a4], 0
jge 0x456c28
mov eax, dword [ebp - 0x22a4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x456c1d
mov edx, dword [ebp - 0x22a0]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x456be7
mov dword [ebp - 4], 0xfffffffe
jmp 0x456c48
mov edx, 1
test edx, edx
je 0x456c82
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x22a8], eax
mov eax, dword [ebp - 0x22a8]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x456c74
jmp 0x456c82
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x22a8]
mov dword [ebp - 0x1c], edx
jmp 0x456c48
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 5
mov dword [ebp - 0x22ac], 0xffffffff
mov dword [ebp - 0x22b0], 0
jmp 0x456cb7
mov ecx, dword [ebp - 0x22b0]
add ecx, 1
mov dword [ebp - 0x22b0], ecx
cmp dword [ebp - 0x22b0], 3
jge 0x456ce9
mov eax, dword [ebp - 0x22b0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x456cde
mov edx, dword [ebp - 0x22ac]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x456ca8
mov dword [ebp - 4], 0xfffffffe
jmp 0x456d09
mov dword [ebp - 0x22b4], 0
jmp 0x456d24
mov edx, dword [ebp - 0x22b4]
add edx, 1
mov dword [ebp - 0x22b4], edx
cmp dword [ebp - 0x22b4], 1
jge 0x456d3b
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x22b4]
mov dword [ebp - 0x1c], eax
jmp 0x456d15
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x456d4d
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 0x456d65
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x22b8], 0
jmp 0x456d80
mov edx, dword [ebp - 0x22b8]
add edx, 1
mov dword [ebp - 0x22b8], edx
cmp dword [ebp - 0x22b8], 0
jge 0x456dc1
cmp dword [ebp - 0x1c], 0
jge 0x456d97
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 0x456dad
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x24b0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x456d71
mov dword [ebp - 4], 6
mov dword [ebp - 0x24b4], 0xffffffff
mov dword [ebp - 0x24b8], 0
jmp 0x456ded
mov eax, dword [ebp - 0x24b8]
add eax, 1
mov dword [ebp - 0x24b8], eax
cmp dword [ebp - 0x24b8], 0
jge 0x456e1f
mov eax, dword [ebp - 0x24b8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x456e14
mov edx, dword [ebp - 0x24b4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x456dde
mov dword [ebp - 4], 0xfffffffe
jmp 0x456e3f
mov dword [ebp - 0x24bc], 0
jmp 0x456e5a
mov edx, dword [ebp - 0x24bc]
add edx, 1
mov dword [ebp - 0x24bc], edx
cmp dword [ebp - 0x24bc], 1
jge 0x456ea7
cmp dword [ebp - 0x1c], 0
jge 0x456e71
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 0x456e87
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x24c0], 0xfa
lea edx, [ebp - 0x24c0]
push edx
lea eax, [ebp - 0x26b8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x456e4b
mov dword [ebp - 4], 7
mov dword [ebp - 0x26bc], 0xffffffff
mov dword [ebp - 0x26c0], 0
jmp 0x456ed3
mov ecx, dword [ebp - 0x26c0]
add ecx, 1
mov dword [ebp - 0x26c0], ecx
cmp dword [ebp - 0x26c0], 1
jge 0x456f05
mov eax, dword [ebp - 0x26c0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x456efa
mov edx, dword [ebp - 0x26bc]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x456ec4
mov dword [ebp - 4], 0xfffffffe
jmp 0x456f25
mov dword [ebp - 0x26c4], 0
jmp 0x456f40
cmp dword [ebp - 0x26c4], 4
jge 0x456f57
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x26c4]
mov dword [ebp - 0x1c], eax
jmp 0x456f31
cmp dword [ebp - 0x1c], 0
jge 0x456f65