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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x513230
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x2ae0
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x34], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x1c], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x24], 0
jmp 0x4b44a7
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x30
jge 0x4b44d0
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4b44c5
mov edx, dword [ebp - 0x20]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4b449e
mov dword [ebp - 4], 0xfffffffe
jmp 0x4b44f0
mov dword [ebp - 0x28], 0
jmp 0x4b4502
mov edx, dword [ebp - 0x28]
add edx, 1
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x28], 0x1b
jge 0x4b4540
mov eax, dword [ebp - 0x28]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4b4528
mov eax, dword [ebp - 0x28]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4b4535
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x28]
mov dword [ebp - 0x1c], edx
jmp 0x4b453e
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
jmp 0x4b44f9
mov dword [ebp - 0x2c], 0
jmp 0x4b4552
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], 0xe
jge 0x4b4596
cmp dword [ebp - 0x1c], 0
jge 0x4b4566
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 0x4b457c
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x30], 0xfa
lea edx, [ebp - 0x30]
push edx
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4b4549
mov dword [ebp - 0x234], 0
jmp 0x4b45b1
mov ecx, dword [ebp - 0x234]
add ecx, 1
mov dword [ebp - 0x234], ecx
cmp dword [ebp - 0x234], 0x12
jge 0x4b45c8
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x234]
mov dword [ebp - 0x1c], edx
jmp 0x4b45a2
cmp dword [ebp - 0x1c], 0
jge 0x4b45d6
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 0x4b45ee
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4b4628
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x238], eax
mov eax, dword [ebp - 0x238]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4b461a
jmp 0x4b4628
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x238]
mov dword [ebp - 0x1c], edx
jmp 0x4b45ee
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x23c], 0
jmp 0x4b4649
mov ecx, dword [ebp - 0x23c]
add ecx, 1
mov dword [ebp - 0x23c], ecx
cmp dword [ebp - 0x23c], 5
jge 0x4b4660
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x23c]
mov dword [ebp - 0x1c], edx
jmp 0x4b463a
cmp dword [ebp - 0x1c], 0
jge 0x4b466e
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 0x4b4686
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x240], 0
jmp 0x4b46a1
mov edx, dword [ebp - 0x240]
add edx, 1
mov dword [ebp - 0x240], edx
cmp dword [ebp - 0x240], 5
jge 0x4b46e2
cmp dword [ebp - 0x1c], 0
jge 0x4b46b8
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 0x4b46ce
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x438]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4b4692
mov dword [ebp - 0x43c], 0
jmp 0x4b46fd
mov eax, dword [ebp - 0x43c]
add eax, 1
mov dword [ebp - 0x43c], eax
cmp dword [ebp - 0x43c], 4
jge 0x4b4714
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x43c]
mov dword [ebp - 0x1c], ecx
jmp 0x4b46ee
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4b4726
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 0x4b473e
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x440], 0xffffffff
mov dword [ebp - 0x444], 0
jmp 0x4b476a
mov edx, dword [ebp - 0x444]
add edx, 1
mov dword [ebp - 0x444], edx
cmp dword [ebp - 0x444], 7
jge 0x4b479c
mov eax, dword [ebp - 0x444]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4b4791
mov edx, dword [ebp - 0x440]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4b475b
mov dword [ebp - 4], 0xfffffffe
jmp 0x4b47bc
mov dword [ebp - 0x448], 0
jmp 0x4b47d7
mov edx, dword [ebp - 0x448]
add edx, 1
mov dword [ebp - 0x448], edx
cmp dword [ebp - 0x448], 1
jge 0x4b4818
cmp dword [ebp - 0x1c], 0
jge 0x4b47ee
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 0x4b4804
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x640]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4b47c8
mov dword [ebp - 0x644], 0
jmp 0x4b4833
mov eax, dword [ebp - 0x644]
add eax, 1
mov dword [ebp - 0x644], eax
cmp dword [ebp - 0x644], 0xb
jge 0x4b484a
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x644]
mov dword [ebp - 0x1c], ecx
jmp 0x4b4824
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4b485c
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 0x4b4874
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x648], 0
jmp 0x4b488f
mov edx, dword [ebp - 0x648]
add edx, 1
mov dword [ebp - 0x648], edx
cmp dword [ebp - 0x648], 1
jge 0x4b48d0
cmp dword [ebp - 0x1c], 0
jge 0x4b48a6
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 0x4b48bc
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x840]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4b4880
mov dword [ebp - 0x844], 0
jmp 0x4b48eb
mov eax, dword [ebp - 0x844]
add eax, 1
mov dword [ebp - 0x844], eax
cmp dword [ebp - 0x844], 8
jge 0x4b492c
cmp dword [ebp - 0x1c], 0
jge 0x4b4902
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 0x4b4918
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa40]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4b48dc
mov dword [ebp - 0xa44], 0
jmp 0x4b4947
mov eax, dword [ebp - 0xa44]
add eax, 1
mov dword [ebp - 0xa44], eax
cmp dword [ebp - 0xa44], 0xe
jge 0x4b495e
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0xa44]
mov dword [ebp - 0x1c], ecx
jmp 0x4b4938
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4b4970
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 0x4b4988
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa48], 0
jmp 0x4b49a3
mov edx, dword [ebp - 0xa48]
add edx, 1
mov dword [ebp - 0xa48], edx
cmp dword [ebp - 0xa48], 7
jge 0x4b49ba
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xa48]
mov dword [ebp - 0x1c], eax
jmp 0x4b4994
cmp dword [ebp - 0x1c], 0
jge 0x4b49c8
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 0x4b49e0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa4c], 0
jmp 0x4b49fb
mov edx, dword [ebp - 0xa4c]
add edx, 1
mov dword [ebp - 0xa4c], edx
cmp dword [ebp - 0xa4c], 0
jge 0x4b4a48
mov eax, dword [ebp - 0xa4c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4b4a2a
mov eax, dword [ebp - 0xa4c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4b4a3a
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa4c]
mov dword [ebp - 0x1c], edx
jmp 0x4b4a46
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa4c]
mov dword [ebp - 0x1c], eax
jmp 0x4b49ec
mov dword [ebp - 0xa50], 0
jmp 0x4b4a63
mov ecx, dword [ebp - 0xa50]
add ecx, 1
mov dword [ebp - 0xa50], ecx
cmp dword [ebp - 0xa50], 0xd
jge 0x4b4ab0
cmp dword [ebp - 0x1c], 0
jge 0x4b4a7a
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 0x4b4a90
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa54], 0xfa
lea edx, [ebp - 0xa54]
push edx
lea eax, [ebp - 0xc50]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4b4a54
mov dword [ebp - 0xc54], 0
jmp 0x4b4acb
mov ecx, dword [ebp - 0xc54]
add ecx, 1
mov dword [ebp - 0xc54], ecx
cmp dword [ebp - 0xc54], 8
jge 0x4b4b0c
cmp dword [ebp - 0x1c], 0
jge 0x4b4ae2
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 0x4b4af8
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xe50]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4b4abc
mov dword [ebp - 4], 2
mov dword [ebp - 0xe54], 0xffffffff
mov dword [ebp - 0xe58], 0
jmp 0x4b4b38
mov eax, dword [ebp - 0xe58]
add eax, 1
mov dword [ebp - 0xe58], eax
cmp dword [ebp - 0xe58], 0xd
jge 0x4b4b6a
mov eax, dword [ebp - 0xe58]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4b4b5f
mov edx, dword [ebp - 0xe54]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4b4b29
mov dword [ebp - 4], 0xfffffffe
jmp 0x4b4b8a
mov dword [ebp - 0xe5c], 0
jmp 0x4b4ba5
mov edx, dword [ebp - 0xe5c]
add edx, 1
mov dword [ebp - 0xe5c], edx
cmp dword [ebp - 0xe5c], 0xd
jge 0x4b4bf2
cmp dword [ebp - 0x1c], 0
jge 0x4b4bbc
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 0x4b4bd2
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xe60], 0xfa
lea edx, [ebp - 0xe60]
push edx
lea eax, [ebp - 0x1058]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4b4b96
mov dword [ebp - 0x105c], 0
jmp 0x4b4c0d
mov ecx, dword [ebp - 0x105c]
add ecx, 1
mov dword [ebp - 0x105c], ecx
cmp dword [ebp - 0x105c], 2
jge 0x4b4c5a
mov eax, dword [ebp - 0x105c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4b4c3c
mov eax, dword [ebp - 0x105c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4b4c4c
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x105c]
mov dword [ebp - 0x1c], edx
jmp 0x4b4c58
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x105c]
mov dword [ebp - 0x1c], eax
jmp 0x4b4bfe
mov ecx, 1
test ecx, ecx
je 0x4b4c94
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1060], eax
mov eax, dword [ebp - 0x1060]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4b4c86
jmp 0x4b4c94
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1060]
mov dword [ebp - 0x1c], edx
jmp 0x4b4c5a
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1064], 0
jmp 0x4b4cb8
mov ecx, dword [ebp - 0x1064]
add ecx, 1
mov dword [ebp - 0x1064], ecx
cmp dword [ebp - 0x1064], 4
jge 0x4b4ccf
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1064]
mov dword [ebp - 0x1c], edx
jmp 0x4b4ca9
cmp dword [ebp - 0x1c], 0
jge 0x4b4cdd
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 0x4b4cf5
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4b4d2f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1068], eax
mov eax, dword [ebp - 0x1068]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4b4d21
jmp 0x4b4d2f
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1068]
mov dword [ebp - 0x1c], edx
jmp 0x4b4cf5
mov eax, dword [ebp - 0x1c]
add eax, 6
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x106c], 0
jmp 0x4b4d53
mov ecx, dword [ebp - 0x106c]
add ecx, 1
mov dword [ebp - 0x106c], ecx
cmp dword [ebp - 0x106c], 2
jge 0x4b4d6a
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x106c]
mov dword [ebp - 0x1c], edx
jmp 0x4b4d44
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4b4d7c
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 0x4b4d94
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4b4dce
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1070], eax
mov eax, dword [ebp - 0x1070]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4b4dc0
jmp 0x4b4dce
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1070]
mov dword [ebp - 0x1c], edx
jmp 0x4b4d94
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1074], 0
jmp 0x4b4def
mov ecx, dword [ebp - 0x1074]
add ecx, 1
mov dword [ebp - 0x1074], ecx
cmp dword [ebp - 0x1074], 1
jge 0x4b4e3c
mov eax, dword [ebp - 0x1074]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4b4e1e
mov eax, dword [ebp - 0x1074]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4b4e2e
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1074]
mov dword [ebp - 0x1c], edx
jmp 0x4b4e3a
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1074]
mov dword [ebp - 0x1c], eax
jmp 0x4b4de0
mov dword [ebp - 0x1078], 0
jmp 0x4b4e57
mov ecx, dword [ebp - 0x1078]
add ecx, 1
mov dword [ebp - 0x1078], ecx
cmp dword [ebp - 0x1078], 1
jge 0x4b4ea4
mov eax, dword [ebp - 0x1078]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4b4e86
mov eax, dword [ebp - 0x1078]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4b4e96
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1078]
mov dword [ebp - 0x1c], edx
jmp 0x4b4ea2
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1078]
mov dword [ebp - 0x1c], eax
jmp 0x4b4e48
mov dword [ebp - 0x107c], 0
jmp 0x4b4ebf
mov ecx, dword [ebp - 0x107c]
add ecx, 1
mov dword [ebp - 0x107c], ecx
cmp dword [ebp - 0x107c], 0
jge 0x4b4f0c
cmp dword [ebp - 0x1c], 0
jge 0x4b4ed6
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 0x4b4eec
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1080], 0xfa
lea edx, [ebp - 0x1080]
push edx
lea eax, [ebp - 0x1278]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4b4eb0
mov dword [ebp - 4], 3
mov dword [ebp - 0x127c], 0xffffffff
mov dword [ebp - 0x1280], 0
jmp 0x4b4f38
mov ecx, dword [ebp - 0x1280]
add ecx, 1
mov dword [ebp - 0x1280], ecx
cmp dword [ebp - 0x1280], 0
jge 0x4b4f6a
mov eax, dword [ebp - 0x1280]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4b4f5f
mov edx, dword [ebp - 0x127c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4b4f29
mov dword [ebp - 4], 0xfffffffe
jmp 0x4b4f8a
mov dword [ebp - 0x1284], 0
jmp 0x4b4fa5
mov edx, dword [ebp - 0x1284]
add edx, 1
mov dword [ebp - 0x1284], edx
cmp dword [ebp - 0x1284], 3
jge 0x4b4fe6
cmp dword [ebp - 0x1c], 0
jge 0x4b4fbc
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 0x4b4fd2
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1480]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4b4f96
mov eax, 1
test eax, eax
je 0x4b5020
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1484], eax
mov eax, dword [ebp - 0x1484]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4b5012
jmp 0x4b5020
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1484]
mov dword [ebp - 0x1c], edx
jmp 0x4b4fe6
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1488], 0
jmp 0x4b5044
mov ecx, dword [ebp - 0x1488]
add ecx, 1
mov dword [ebp - 0x1488], ecx
cmp dword [ebp - 0x1488], 1
jge 0x4b5085
cmp dword [ebp - 0x1c], 0
jge 0x4b505b
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 0x4b5071
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1680]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4b5035
mov dword [ebp - 0x1684], 0
jmp 0x4b50a0
mov eax, dword [ebp - 0x1684]
add eax, 1
mov dword [ebp - 0x1684], eax
cmp dword [ebp - 0x1684], 0
jge 0x4b50b7
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x1684]
mov dword [ebp - 0x1c], ecx
jmp 0x4b5091
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4b50c9
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 0x4b50e1
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1688], 0
jmp 0x4b50fc
mov edx, dword [ebp - 0x1688]
add edx, 1
mov dword [ebp - 0x1688], edx
cmp dword [ebp - 0x1688], 1
jge 0x4b5113
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1688]
mov dword [ebp - 0x1c], eax
jmp 0x4b50ed
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4b5125
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 0x4b513d
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x168c], 0
jmp 0x4b5158
mov edx, dword [ebp - 0x168c]
add edx, 1
mov dword [ebp - 0x168c], edx
cmp dword [ebp - 0x168c], 1
jge 0x4b516f
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x168c]
mov dword [ebp - 0x1c], eax
jmp 0x4b5149
cmp dword [ebp - 0x1c], 0
jge 0x4b517d
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 0x4b5195
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1690], 0
jmp 0x4b51b0
mov edx, dword [ebp - 0x1690]
add edx, 1
mov dword [ebp - 0x1690], edx
cmp dword [ebp - 0x1690], 1
jge 0x4b51fd
mov eax, dword [ebp - 0x1690]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4b51df
mov eax, dword [ebp - 0x1690]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4b51ef
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1690]
mov dword [ebp - 0x1c], edx
jmp 0x4b51fb
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1690]
mov dword [ebp - 0x1c], eax
jmp 0x4b51a1
mov dword [ebp - 0x1694], 0
jmp 0x4b5218
mov ecx, dword [ebp - 0x1694]
add ecx, 1
mov dword [ebp - 0x1694], ecx
cmp dword [ebp - 0x1694], 2
jge 0x4b5265
cmp dword [ebp - 0x1c], 0
jge 0x4b522f
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 0x4b5245
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1698], 0xfa
lea edx, [ebp - 0x1698]
push edx
lea eax, [ebp - 0x1890]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4b5209
mov dword [ebp - 4], 4
mov dword [ebp - 0x1894], 0xffffffff
mov dword [ebp - 0x1898], 0
jmp 0x4b5291
mov ecx, dword [ebp - 0x1898]
add ecx, 1
mov dword [ebp - 0x1898], ecx
cmp dword [ebp - 0x1898], 4
jge 0x4b52c3
mov eax, dword [ebp - 0x1898]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4b52b8
mov edx, dword [ebp - 0x1894]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4b5282
mov dword [ebp - 4], 0xfffffffe
jmp 0x4b52e3
mov dword [ebp - 0x189c], 0
jmp 0x4b52fe
mov edx, dword [ebp - 0x189c]
add edx, 1
mov dword [ebp - 0x189c], edx
cmp dword [ebp - 0x189c], 4
jge 0x4b5315
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x189c]
mov dword [ebp - 0x1c], eax
jmp 0x4b52ef
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4b5327
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 0x4b533f
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18a0], 0
jmp 0x4b535a
mov edx, dword [ebp - 0x18a0]
add edx, 1
mov dword [ebp - 0x18a0], edx
cmp dword [ebp - 0x18a0], 3
jge 0x4b53a7
cmp dword [ebp - 0x1c], 0
jge 0x4b5371
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 0x4b5387
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18a4], 0xfa
lea edx, [ebp - 0x18a4]
push edx
lea eax, [ebp - 0x1aa0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4b534b
mov dword [ebp - 0x1aa4], 0
jmp 0x4b53c2
mov ecx, dword [ebp - 0x1aa4]
add ecx, 1
mov dword [ebp - 0x1aa4], ecx
cmp dword [ebp - 0x1aa4], 2
jge 0x4b53d9
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1aa4]
mov dword [ebp - 0x1c], edx
jmp 0x4b53b3
cmp dword [ebp - 0x1c], 0
jge 0x4b53e7
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 0x4b53ff
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1aa8], 0
jmp 0x4b541a
mov edx, dword [ebp - 0x1aa8]
add edx, 1
mov dword [ebp - 0x1aa8], edx
cmp dword [ebp - 0x1aa8], 3
jge 0x4b545b
cmp dword [ebp - 0x1c], 0
jge 0x4b5431
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 0x4b5447
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1ca0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4b540b
mov dword [ebp - 4], 5
mov dword [ebp - 0x1ca4], 0xffffffff
mov dword [ebp - 0x1ca8], 0
jmp 0x4b5487
mov eax, dword [ebp - 0x1ca8]
add eax, 1
mov dword [ebp - 0x1ca8], eax
cmp dword [ebp - 0x1ca8], 3
jge 0x4b54b9
mov eax, dword [ebp - 0x1ca8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4b54ae
mov edx, dword [ebp - 0x1ca4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4b5478
mov dword [ebp - 4], 0xfffffffe
jmp 0x4b54d9
mov dword [ebp - 0x1cac], 0
jmp 0x4b54f4
mov edx, dword [ebp - 0x1cac]
add edx, 1
mov dword [ebp - 0x1cac], edx
cmp dword [ebp - 0x1cac], 4
jge 0x4b5541
cmp dword [ebp - 0x1c], 0
jge 0x4b550b
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 0x4b5521
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1cb0], 0xfa
lea edx, [ebp - 0x1cb0]
push edx
lea eax, [ebp - 0x1ea8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4b54e5
mov dword [ebp - 0x1eac], 0
jmp 0x4b555c
mov ecx, dword [ebp - 0x1eac]
add ecx, 1
mov dword [ebp - 0x1eac], ecx
cmp dword [ebp - 0x1eac], 0
jge 0x4b5573
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1eac]
mov dword [ebp - 0x1c], edx
jmp 0x4b554d
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4b5585
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 0x4b559d
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1eb0], 0
jmp 0x4b55b8
mov edx, dword [ebp - 0x1eb0]
add edx, 1
mov dword [ebp - 0x1eb0], edx
cmp dword [ebp - 0x1eb0], 4
jge 0x4b5605
mov eax, dword [ebp - 0x1eb0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4b55e7
mov eax, dword [ebp - 0x1eb0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4b55f7
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1eb0]
mov dword [ebp - 0x1c], edx
jmp 0x4b5603
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1eb0]
mov dword [ebp - 0x1c], eax
jmp 0x4b55a9
mov dword [ebp - 0x1eb4], 0
jmp 0x4b5620
mov ecx, dword [ebp - 0x1eb4]
add ecx, 1
mov dword [ebp - 0x1eb4], ecx
cmp dword [ebp - 0x1eb4], 0
jge 0x4b566d
mov eax, dword [ebp - 0x1eb4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4b564f
mov eax, dword [ebp - 0x1eb4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4b565f
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1eb4]
mov dword [ebp - 0x1c], edx
jmp 0x4b566b
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1eb4]
mov dword [ebp - 0x1c], eax
jmp 0x4b5611
mov dword [ebp - 0x1eb8], 0
jmp 0x4b5688
mov ecx, dword [ebp - 0x1eb8]
add ecx, 1
mov dword [ebp - 0x1eb8], ecx
cmp dword [ebp - 0x1eb8], 4
jge 0x4b569f
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1eb8]
mov dword [ebp - 0x1c], edx
jmp 0x4b5679
cmp dword [ebp - 0x1c], 0
jge 0x4b56ad
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 0x4b56c5