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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x510b00
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x290c
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 eax, 1
test eax, eax
je 0x43bed8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x43becd
jmp 0x43bed8
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x43bea7
mov eax, dword [ebp - 0x1c]
add eax, 0xb
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0
jmp 0x43bef3
mov ecx, dword [ebp - 0x24]
add ecx, 1
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], 0x20
jge 0x43bf31
cmp dword [ebp - 0x1c], 0
jge 0x43bf07
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 0x43bf1d
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x220]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x43beea
mov dword [ebp - 4], 0
mov dword [ebp - 0x224], 0xffffffff
mov dword [ebp - 0x228], 0
jmp 0x43bf5d
mov eax, dword [ebp - 0x228]
add eax, 1
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], 0x2e
jge 0x43bf8f
mov eax, dword [ebp - 0x228]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x43bf84
mov edx, dword [ebp - 0x224]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x43bf4e
mov dword [ebp - 4], 0xfffffffe
jmp 0x43bfaf
mov dword [ebp - 0x22c], 0
jmp 0x43bfca
mov edx, dword [ebp - 0x22c]
add edx, 1
mov dword [ebp - 0x22c], edx
cmp dword [ebp - 0x22c], 0x29
jge 0x43bfe1
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x22c]
mov dword [ebp - 0x1c], eax
jmp 0x43bfbb
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x43bff3
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 0x43c00b
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x43c045
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x230], eax
mov eax, dword [ebp - 0x230]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x43c037
jmp 0x43c045
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x230]
mov dword [ebp - 0x1c], edx
jmp 0x43c00b
mov eax, dword [ebp - 0x1c]
add eax, 0x1d
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x234], 0xffffffff
mov dword [ebp - 0x238], 0
jmp 0x43c07a
mov ecx, dword [ebp - 0x238]
add ecx, 1
mov dword [ebp - 0x238], ecx
cmp dword [ebp - 0x238], 3
jge 0x43c0ac
mov eax, dword [ebp - 0x238]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x43c0a1
mov edx, dword [ebp - 0x234]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x43c06b
mov dword [ebp - 4], 0xfffffffe
jmp 0x43c0cc
mov dword [ebp - 0x23c], 0
jmp 0x43c0e7
mov edx, dword [ebp - 0x23c]
add edx, 1
mov dword [ebp - 0x23c], edx
cmp dword [ebp - 0x23c], 6
jge 0x43c0fe
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x23c]
mov dword [ebp - 0x1c], eax
jmp 0x43c0d8
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x43c110
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 0x43c128
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0x240], 0xffffffff
mov dword [ebp - 0x244], 0
jmp 0x43c154
mov edx, dword [ebp - 0x244]
add edx, 1
mov dword [ebp - 0x244], edx
cmp dword [ebp - 0x244], 0xa
jge 0x43c186
mov eax, dword [ebp - 0x244]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x43c17b
mov edx, dword [ebp - 0x240]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x43c145
mov dword [ebp - 4], 0xfffffffe
jmp 0x43c1a6
mov dword [ebp - 0x248], 0
jmp 0x43c1c1
mov edx, dword [ebp - 0x248]
add edx, 1
mov dword [ebp - 0x248], edx
cmp dword [ebp - 0x248], 0xe
jge 0x43c202
cmp dword [ebp - 0x1c], 0
jge 0x43c1d8
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 0x43c1ee
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x440]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x43c1b2
mov eax, 1
test eax, eax
je 0x43c23c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x444], eax
mov eax, dword [ebp - 0x444]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x43c22e
jmp 0x43c23c
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x444]
mov dword [ebp - 0x1c], edx
jmp 0x43c202
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x448], 0
jmp 0x43c260
mov ecx, dword [ebp - 0x448]
add ecx, 1
mov dword [ebp - 0x448], ecx
cmp dword [ebp - 0x448], 0xd
jge 0x43c277
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x448]
mov dword [ebp - 0x1c], edx
jmp 0x43c251
cmp dword [ebp - 0x1c], 0
jge 0x43c285
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 0x43c29d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 3
mov dword [ebp - 0x44c], 0xffffffff
mov dword [ebp - 0x450], 0
jmp 0x43c2c9
mov edx, dword [ebp - 0x450]
add edx, 1
mov dword [ebp - 0x450], edx
cmp dword [ebp - 0x450], 2
jge 0x43c2fb
mov eax, dword [ebp - 0x450]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x43c2f0
mov edx, dword [ebp - 0x44c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x43c2ba
mov dword [ebp - 4], 0xfffffffe
jmp 0x43c31b
mov dword [ebp - 4], 4
mov dword [ebp - 0x454], 0xffffffff
mov dword [ebp - 0x458], 0
jmp 0x43c347
mov edx, dword [ebp - 0x458]
add edx, 1
mov dword [ebp - 0x458], edx
cmp dword [ebp - 0x458], 5
jge 0x43c379
mov eax, dword [ebp - 0x458]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x43c36e
mov edx, dword [ebp - 0x454]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x43c338
mov dword [ebp - 4], 0xfffffffe
jmp 0x43c399
mov dword [ebp - 0x45c], 0
jmp 0x43c3b4
mov edx, dword [ebp - 0x45c]
add edx, 1
mov dword [ebp - 0x45c], edx
cmp dword [ebp - 0x45c], 8
jge 0x43c3cb
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x45c]
mov dword [ebp - 0x1c], eax
jmp 0x43c3a5
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x43c3dd
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 0x43c3f5
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x460], 0
jmp 0x43c410
mov edx, dword [ebp - 0x460]
add edx, 1
mov dword [ebp - 0x460], edx
cmp dword [ebp - 0x460], 8
jge 0x43c451
cmp dword [ebp - 0x1c], 0
jge 0x43c427
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 0x43c43d
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x658]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x43c401
mov eax, 1
test eax, eax
je 0x43c48b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x65c], eax
mov eax, dword [ebp - 0x65c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x43c47d
jmp 0x43c48b
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x65c]
mov dword [ebp - 0x1c], edx
jmp 0x43c451
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x660], 0
jmp 0x43c4af
mov ecx, dword [ebp - 0x660]
add ecx, 1
mov dword [ebp - 0x660], ecx
cmp dword [ebp - 0x660], 5
jge 0x43c4c6
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x660]
mov dword [ebp - 0x1c], edx
jmp 0x43c4a0
cmp dword [ebp - 0x1c], 0
jge 0x43c4d4
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 0x43c4ec
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x664], 0
jmp 0x43c507
mov edx, dword [ebp - 0x664]
add edx, 1
mov dword [ebp - 0x664], edx
cmp dword [ebp - 0x664], 3
jge 0x43c554
mov eax, dword [ebp - 0x664]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x43c536
mov eax, dword [ebp - 0x664]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x43c546
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x664]
mov dword [ebp - 0x1c], edx
jmp 0x43c552
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x664]
mov dword [ebp - 0x1c], eax
jmp 0x43c4f8
mov dword [ebp - 0x668], 0
jmp 0x43c56f
mov ecx, dword [ebp - 0x668]
add ecx, 1
mov dword [ebp - 0x668], ecx
cmp dword [ebp - 0x668], 3
jge 0x43c586
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x668]
mov dword [ebp - 0x1c], edx
jmp 0x43c560
cmp dword [ebp - 0x1c], 0
jge 0x43c594
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 0x43c5ac
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x43c5e6
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x66c], eax
mov eax, dword [ebp - 0x66c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x43c5d8
jmp 0x43c5e6
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x66c]
mov dword [ebp - 0x1c], edx
jmp 0x43c5ac
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 5
mov dword [ebp - 0x670], 0xffffffff
mov dword [ebp - 0x674], 0
jmp 0x43c61b
mov ecx, dword [ebp - 0x674]
add ecx, 1
mov dword [ebp - 0x674], ecx
cmp dword [ebp - 0x674], 3
jge 0x43c64d
mov eax, dword [ebp - 0x674]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x43c642
mov edx, dword [ebp - 0x670]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x43c60c
mov dword [ebp - 4], 0xfffffffe
jmp 0x43c66d
mov dword [ebp - 0x678], 0
jmp 0x43c688
mov edx, dword [ebp - 0x678]
add edx, 1
mov dword [ebp - 0x678], edx
cmp dword [ebp - 0x678], 3
jge 0x43c69f
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x678]
mov dword [ebp - 0x1c], eax
jmp 0x43c679
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x43c6b1
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 0x43c6c9
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x67c], 0
jmp 0x43c6e4
mov edx, dword [ebp - 0x67c]
add edx, 1
mov dword [ebp - 0x67c], edx
cmp dword [ebp - 0x67c], 0
jge 0x43c731
cmp dword [ebp - 0x1c], 0
jge 0x43c6fb
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 0x43c711
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x680], 0xfa
lea edx, [ebp - 0x680]
push edx
lea eax, [ebp - 0x878]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x43c6d5
mov dword [ebp - 0x87c], 0
jmp 0x43c74c
mov ecx, dword [ebp - 0x87c]
add ecx, 1
mov dword [ebp - 0x87c], ecx
cmp dword [ebp - 0x87c], 8
jge 0x43c78d
cmp dword [ebp - 0x1c], 0
jge 0x43c763
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 0x43c779
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa78]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x43c73d
mov dword [ebp - 0xa7c], 0
jmp 0x43c7a8
mov eax, dword [ebp - 0xa7c]
add eax, 1
mov dword [ebp - 0xa7c], eax
cmp dword [ebp - 0xa7c], 0
jge 0x43c7bf
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0xa7c]
mov dword [ebp - 0x1c], ecx
jmp 0x43c799
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x43c7d1
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 0x43c7e9
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x43c823
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa80], eax
mov eax, dword [ebp - 0xa80]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x43c815
jmp 0x43c823
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xa80]
mov dword [ebp - 0x1c], edx
jmp 0x43c7e9
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa84], 0
jmp 0x43c847
mov ecx, dword [ebp - 0xa84]
add ecx, 1
mov dword [ebp - 0xa84], ecx
cmp dword [ebp - 0xa84], 3
jge 0x43c888
cmp dword [ebp - 0x1c], 0
jge 0x43c85e
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 0x43c874
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc80]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x43c838
mov eax, 1
test eax, eax
je 0x43c8c2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc84], eax
mov eax, dword [ebp - 0xc84]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x43c8b4
jmp 0x43c8c2
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xc84]
mov dword [ebp - 0x1c], edx
jmp 0x43c888
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc88], 0
jmp 0x43c8e6
mov ecx, dword [ebp - 0xc88]
add ecx, 1
mov dword [ebp - 0xc88], ecx
cmp dword [ebp - 0xc88], 0
jge 0x43c933
cmp dword [ebp - 0x1c], 0
jge 0x43c8fd
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 0x43c913
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc8c], 0xfa
lea edx, [ebp - 0xc8c]
push edx
lea eax, [ebp - 0xe88]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x43c8d7
mov dword [ebp - 4], 6
mov dword [ebp - 0xe8c], 0xffffffff
mov dword [ebp - 0xe90], 0
jmp 0x43c95f
mov ecx, dword [ebp - 0xe90]
add ecx, 1
mov dword [ebp - 0xe90], ecx
cmp dword [ebp - 0xe90], 4
jge 0x43c991
mov eax, dword [ebp - 0xe90]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x43c986
mov edx, dword [ebp - 0xe8c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x43c950
mov dword [ebp - 4], 0xfffffffe
jmp 0x43c9b1
mov dword [ebp - 0xe94], 0
jmp 0x43c9cc
mov edx, dword [ebp - 0xe94]
add edx, 1
mov dword [ebp - 0xe94], edx
cmp dword [ebp - 0xe94], 4
jge 0x43ca19
cmp dword [ebp - 0x1c], 0
jge 0x43c9e3
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 0x43c9f9
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xe98], 0xfa
lea edx, [ebp - 0xe98]
push edx
lea eax, [ebp - 0x1090]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x43c9bd
mov dword [ebp - 0x1094], 0
jmp 0x43ca34
mov ecx, dword [ebp - 0x1094]
add ecx, 1
mov dword [ebp - 0x1094], ecx
cmp dword [ebp - 0x1094], 3
jge 0x43ca75
cmp dword [ebp - 0x1c], 0
jge 0x43ca4b
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 0x43ca61
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1290]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x43ca25
mov dword [ebp - 0x1294], 0
jmp 0x43ca90
mov eax, dword [ebp - 0x1294]
add eax, 1
mov dword [ebp - 0x1294], eax
cmp dword [ebp - 0x1294], 1
jge 0x43cadd
mov eax, dword [ebp - 0x1294]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x43cabf
mov eax, dword [ebp - 0x1294]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x43cacf
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1294]
mov dword [ebp - 0x1c], edx
jmp 0x43cadb
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1294]
mov dword [ebp - 0x1c], eax
jmp 0x43ca81
mov ecx, 1
test ecx, ecx
je 0x43cb17
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1298], eax
mov eax, dword [ebp - 0x1298]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x43cb09
jmp 0x43cb17
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1298]
mov dword [ebp - 0x1c], edx
jmp 0x43cadd
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x43cb5a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x129c], eax
mov eax, dword [ebp - 0x129c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x43cb4c
jmp 0x43cb5a
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x129c]
mov dword [ebp - 0x1c], edx
jmp 0x43cb20
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12a0], 0
jmp 0x43cb7e
mov ecx, dword [ebp - 0x12a0]
add ecx, 1
mov dword [ebp - 0x12a0], ecx
cmp dword [ebp - 0x12a0], 4
jge 0x43cbcb
cmp dword [ebp - 0x1c], 0
jge 0x43cb95
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 0x43cbab
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x12a4], 0xfa
lea edx, [ebp - 0x12a4]
push edx
lea eax, [ebp - 0x14a0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x43cb6f
mov dword [ebp - 0x14a4], 0
jmp 0x43cbe6
mov ecx, dword [ebp - 0x14a4]
add ecx, 1
mov dword [ebp - 0x14a4], ecx
cmp dword [ebp - 0x14a4], 1
jge 0x43cc33
cmp dword [ebp - 0x1c], 0
jge 0x43cbfd
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 0x43cc13
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14a8], 0xfa
lea edx, [ebp - 0x14a8]
push edx
lea eax, [ebp - 0x16a0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x43cbd7
mov dword [ebp - 0x16a4], 0
jmp 0x43cc4e
mov ecx, dword [ebp - 0x16a4]
add ecx, 1
mov dword [ebp - 0x16a4], ecx
cmp dword [ebp - 0x16a4], 0
jge 0x43cc9b
cmp dword [ebp - 0x1c], 0
jge 0x43cc65
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 0x43cc7b
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x16a8], 0xfa
lea edx, [ebp - 0x16a8]
push edx
lea eax, [ebp - 0x18a0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x43cc3f
mov dword [ebp - 0x18a4], 0
jmp 0x43ccb6
mov ecx, dword [ebp - 0x18a4]
add ecx, 1
mov dword [ebp - 0x18a4], ecx
cmp dword [ebp - 0x18a4], 3
jge 0x43cd03
mov eax, dword [ebp - 0x18a4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x43cce5
mov eax, dword [ebp - 0x18a4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x43ccf5
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x18a4]
mov dword [ebp - 0x1c], edx
jmp 0x43cd01
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x18a4]
mov dword [ebp - 0x1c], eax
jmp 0x43cca7
mov dword [ebp - 0x18a8], 0
jmp 0x43cd1e
mov ecx, dword [ebp - 0x18a8]
add ecx, 1
mov dword [ebp - 0x18a8], ecx
cmp dword [ebp - 0x18a8], 4
jge 0x43cd6b
mov eax, dword [ebp - 0x18a8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x43cd4d
mov eax, dword [ebp - 0x18a8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x43cd5d
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x18a8]
mov dword [ebp - 0x1c], edx
jmp 0x43cd69
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x18a8]
mov dword [ebp - 0x1c], eax
jmp 0x43cd0f
mov dword [ebp - 0x18ac], 0
jmp 0x43cd86
mov ecx, dword [ebp - 0x18ac]
add ecx, 1
mov dword [ebp - 0x18ac], ecx
cmp dword [ebp - 0x18ac], 2
jge 0x43cd9d
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x18ac]
mov dword [ebp - 0x1c], edx
jmp 0x43cd77
cmp dword [ebp - 0x1c], 0
jge 0x43cdab
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 0x43cdc3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18b0], 0
jmp 0x43cdde
mov edx, dword [ebp - 0x18b0]
add edx, 1
mov dword [ebp - 0x18b0], edx
cmp dword [ebp - 0x18b0], 3
jge 0x43ce2b
mov eax, dword [ebp - 0x18b0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x43ce0d
mov eax, dword [ebp - 0x18b0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x43ce1d
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x18b0]
mov dword [ebp - 0x1c], edx
jmp 0x43ce29
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x18b0]
mov dword [ebp - 0x1c], eax
jmp 0x43cdcf
mov dword [ebp - 0x18b4], 0
jmp 0x43ce46
mov ecx, dword [ebp - 0x18b4]
add ecx, 1
mov dword [ebp - 0x18b4], ecx
cmp dword [ebp - 0x18b4], 3
jge 0x43ce87
cmp dword [ebp - 0x1c], 0
jge 0x43ce5d
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 0x43ce73
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1ab0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x43ce37
mov dword [ebp - 0x1ab4], 0
jmp 0x43cea2
mov eax, dword [ebp - 0x1ab4]
add eax, 1
mov dword [ebp - 0x1ab4], eax
cmp dword [ebp - 0x1ab4], 1
jge 0x43ceb9
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x1ab4]
mov dword [ebp - 0x1c], ecx
jmp 0x43ce93
cmp dword [ebp - 0x1c], 0
jge 0x43cec7
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 0x43cedf
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ab8], 0
jmp 0x43cefa
mov edx, dword [ebp - 0x1ab8]
add edx, 1
mov dword [ebp - 0x1ab8], edx
cmp dword [ebp - 0x1ab8], 2
jge 0x43cf47
cmp dword [ebp - 0x1c], 0
jge 0x43cf11
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 0x43cf27
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1abc], 0xfa
lea edx, [ebp - 0x1abc]
push edx
lea eax, [ebp - 0x1cb8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x43ceeb
mov dword [ebp - 0x1cbc], 0
jmp 0x43cf62
mov ecx, dword [ebp - 0x1cbc]
add ecx, 1
mov dword [ebp - 0x1cbc], ecx
cmp dword [ebp - 0x1cbc], 3
jge 0x43cf79
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1cbc]
mov dword [ebp - 0x1c], edx
jmp 0x43cf53
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x43cf8b
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 0x43cfa3
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1cc0], 0
jmp 0x43cfbe
mov edx, dword [ebp - 0x1cc0]
add edx, 1
mov dword [ebp - 0x1cc0], edx
cmp dword [ebp - 0x1cc0], 4
jge 0x43d00b
mov eax, dword [ebp - 0x1cc0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x43cfed
mov eax, dword [ebp - 0x1cc0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x43cffd
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1cc0]
mov dword [ebp - 0x1c], edx
jmp 0x43d009
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1cc0]
mov dword [ebp - 0x1c], eax
jmp 0x43cfaf
mov dword [ebp - 4], 7
mov dword [ebp - 0x1cc4], 0xffffffff
mov dword [ebp - 0x1cc8], 0
jmp 0x43d037
mov ecx, dword [ebp - 0x1cc8]
add ecx, 1
mov dword [ebp - 0x1cc8], ecx
cmp dword [ebp - 0x1cc8], 1
jge 0x43d069
mov eax, dword [ebp - 0x1cc8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x43d05e
mov edx, dword [ebp - 0x1cc4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x43d028
mov dword [ebp - 4], 0xfffffffe
jmp 0x43d089
mov dword [ebp - 0x1ccc], 0
jmp 0x43d0a4
mov edx, dword [ebp - 0x1ccc]
add edx, 1
mov dword [ebp - 0x1ccc], edx
cmp dword [ebp - 0x1ccc], 0
jge 0x43d0bb
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1ccc]
mov dword [ebp - 0x1c], eax
jmp 0x43d095
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x43d0cd
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 0x43d0e5
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1cd0], 0
jmp 0x43d100
mov edx, dword [ebp - 0x1cd0]
add edx, 1
mov dword [ebp - 0x1cd0], edx
cmp dword [ebp - 0x1cd0], 4
jge 0x43d141
cmp dword [ebp - 0x1c], 0
jge 0x43d117
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 0x43d12d
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1ec8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x43d0f1
mov dword [ebp - 0x1ecc], 0
jmp 0x43d15c
mov eax, dword [ebp - 0x1ecc]
add eax, 1
mov dword [ebp - 0x1ecc], eax
cmp dword [ebp - 0x1ecc], 0
jge 0x43d173
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x1ecc]
mov dword [ebp - 0x1c], ecx
jmp 0x43d14d
cmp dword [ebp - 0x1c], 0
jge 0x43d181
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 0x43d199
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x43d1d3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1ed0], eax
mov eax, dword [ebp - 0x1ed0]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x43d1c5
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ed4], 0
jmp 0x43d1f7