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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x5109b0
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x24cc
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x38], 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 0x437c09
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x33
jge 0x437c1a
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
jmp 0x437c00
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x437c2c
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 0x437c44
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x437c75
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x437c6a
jmp 0x437c75
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], edx
jmp 0x437c44
mov eax, dword [ebp - 0x1c]
add eax, 0x3b
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], 0
jmp 0x437c90
mov ecx, dword [ebp - 0x28]
add ecx, 1
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], 0x2d
jge 0x437cce
mov eax, dword [ebp - 0x28]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x437cb6
mov eax, dword [ebp - 0x28]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x437cc3
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x28]
mov dword [ebp - 0x1c], edx
jmp 0x437ccc
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
jmp 0x437c87
mov dword [ebp - 0x2c], 0
jmp 0x437ce0
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], 0x11
jge 0x437d1e
mov eax, dword [ebp - 0x2c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x437d06
mov eax, dword [ebp - 0x2c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x437d13
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], edx
jmp 0x437d1c
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
jmp 0x437cd7
mov dword [ebp - 0x30], 0
jmp 0x437d30
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 0x30], 0x1a
jge 0x437d74
cmp dword [ebp - 0x1c], 0
jge 0x437d44
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 0x437d5a
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x34], 0xfa
lea edx, [ebp - 0x34]
push edx
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x437d27
mov dword [ebp - 4], 0
mov dword [ebp - 0x234], 0xffffffff
mov dword [ebp - 0x238], 0
jmp 0x437da0
mov ecx, dword [ebp - 0x238]
add ecx, 1
mov dword [ebp - 0x238], ecx
cmp dword [ebp - 0x238], 0xb
jge 0x437dd2
mov eax, dword [ebp - 0x238]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x437dc7
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 0x437d91
mov dword [ebp - 4], 0xfffffffe
jmp 0x437df2
mov dword [ebp - 0x23c], 0
jmp 0x437e0d
mov edx, dword [ebp - 0x23c]
add edx, 1
mov dword [ebp - 0x23c], edx
cmp dword [ebp - 0x23c], 3
jge 0x437e24
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x23c]
mov dword [ebp - 0x1c], eax
jmp 0x437dfe
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x437e36
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 0x437e4e
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x240], 0
jmp 0x437e69
mov edx, dword [ebp - 0x240]
add edx, 1
mov dword [ebp - 0x240], edx
cmp dword [ebp - 0x240], 0x16
jge 0x437eaa
cmp dword [ebp - 0x1c], 0
jge 0x437e80
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 0x437e96
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x438]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x437e5a
mov dword [ebp - 4], 1
mov dword [ebp - 0x43c], 0xffffffff
mov dword [ebp - 0x440], 0
jmp 0x437ed6
mov eax, dword [ebp - 0x440]
add eax, 1
mov dword [ebp - 0x440], eax
cmp dword [ebp - 0x440], 0x1d
jge 0x437f08
mov eax, dword [ebp - 0x440]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x437efd
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 0x437ec7
mov dword [ebp - 4], 0xfffffffe
jmp 0x437f28
mov dword [ebp - 0x444], 0
jmp 0x437f43
mov edx, dword [ebp - 0x444]
add edx, 1
mov dword [ebp - 0x444], edx
cmp dword [ebp - 0x444], 0xb
jge 0x437f5a
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x444]
mov dword [ebp - 0x1c], eax
jmp 0x437f34
cmp dword [ebp - 0x1c], 0
jge 0x437f68
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 0x437f80
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x448], 0
jmp 0x437f9b
mov edx, dword [ebp - 0x448]
add edx, 1
mov dword [ebp - 0x448], edx
cmp dword [ebp - 0x448], 6
jge 0x437fb2
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x448]
mov dword [ebp - 0x1c], eax
jmp 0x437f8c
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x437fc4
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 0x437fdc
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x44c], 0
jmp 0x437ff7
mov edx, dword [ebp - 0x44c]
add edx, 1
mov dword [ebp - 0x44c], edx
cmp dword [ebp - 0x44c], 0xe
jge 0x438038
cmp dword [ebp - 0x1c], 0
jge 0x43800e
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 0x438024
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x648]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x437fe8
mov dword [ebp - 0x64c], 0
jmp 0x438053
mov eax, dword [ebp - 0x64c]
add eax, 1
mov dword [ebp - 0x64c], eax
cmp dword [ebp - 0x64c], 0xd
jge 0x4380a0
mov eax, dword [ebp - 0x64c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x438082
mov eax, dword [ebp - 0x64c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x438092
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x64c]
mov dword [ebp - 0x1c], edx
jmp 0x43809e
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x64c]
mov dword [ebp - 0x1c], eax
jmp 0x438044
mov dword [ebp - 0x650], 0
jmp 0x4380bb
mov ecx, dword [ebp - 0x650]
add ecx, 1
mov dword [ebp - 0x650], ecx
cmp dword [ebp - 0x650], 0xc
jge 0x438108
mov eax, dword [ebp - 0x650]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4380ea
mov eax, dword [ebp - 0x650]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4380fa
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x650]
mov dword [ebp - 0x1c], edx
jmp 0x438106
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x650]
mov dword [ebp - 0x1c], eax
jmp 0x4380ac
mov dword [ebp - 0x654], 0
jmp 0x438123
mov ecx, dword [ebp - 0x654]
add ecx, 1
mov dword [ebp - 0x654], ecx
cmp dword [ebp - 0x654], 4
jge 0x438164
cmp dword [ebp - 0x1c], 0
jge 0x43813a
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 0x438150
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x850]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x438114
mov dword [ebp - 0x854], 0
jmp 0x43817f
mov eax, dword [ebp - 0x854]
add eax, 1
mov dword [ebp - 0x854], eax
cmp dword [ebp - 0x854], 0
jge 0x4381c0
cmp dword [ebp - 0x1c], 0
jge 0x438196
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 0x4381ac
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa50]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x438170
mov dword [ebp - 0xa54], 0
jmp 0x4381db
mov eax, dword [ebp - 0xa54]
add eax, 1
mov dword [ebp - 0xa54], eax
cmp dword [ebp - 0xa54], 9
jge 0x438228
mov eax, dword [ebp - 0xa54]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x43820a
mov eax, dword [ebp - 0xa54]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x43821a
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa54]
mov dword [ebp - 0x1c], edx
jmp 0x438226
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa54]
mov dword [ebp - 0x1c], eax
jmp 0x4381cc
mov dword [ebp - 0xa58], 0
jmp 0x438243
mov ecx, dword [ebp - 0xa58]
add ecx, 1
mov dword [ebp - 0xa58], ecx
cmp dword [ebp - 0xa58], 3
jge 0x438284
cmp dword [ebp - 0x1c], 0
jge 0x43825a
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 0x438270
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc50]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x438234
mov dword [ebp - 0xc54], 0
jmp 0x43829f
mov eax, dword [ebp - 0xc54]
add eax, 1
mov dword [ebp - 0xc54], eax
cmp dword [ebp - 0xc54], 6
jge 0x4382ec
cmp dword [ebp - 0x1c], 0
jge 0x4382b6
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 0x4382cc
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc58], 0xfa
lea edx, [ebp - 0xc58]
push edx
lea eax, [ebp - 0xe50]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x438290
mov ecx, 1
test ecx, ecx
je 0x438326
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xe54], eax
mov eax, dword [ebp - 0xe54]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x438318
jmp 0x438326
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xe54]
mov dword [ebp - 0x1c], edx
jmp 0x4382ec
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe58], 0
jmp 0x43834a
mov ecx, dword [ebp - 0xe58]
add ecx, 1
mov dword [ebp - 0xe58], ecx
cmp dword [ebp - 0xe58], 0xd
jge 0x43838b
cmp dword [ebp - 0x1c], 0
jge 0x438361
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 0x438377
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1050]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x43833b
mov dword [ebp - 0x1054], 0
jmp 0x4383a6
mov eax, dword [ebp - 0x1054]
add eax, 1
mov dword [ebp - 0x1054], eax
cmp dword [ebp - 0x1054], 3
jge 0x4383f3
mov eax, dword [ebp - 0x1054]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4383d5
mov eax, dword [ebp - 0x1054]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4383e5
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1054]
mov dword [ebp - 0x1c], edx
jmp 0x4383f1
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1054]
mov dword [ebp - 0x1c], eax
jmp 0x438397
mov dword [ebp - 0x1058], 0
jmp 0x43840e
mov ecx, dword [ebp - 0x1058]
add ecx, 1
mov dword [ebp - 0x1058], ecx
cmp dword [ebp - 0x1058], 7
jge 0x438425
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1058]
mov dword [ebp - 0x1c], edx
jmp 0x4383ff
cmp dword [ebp - 0x1c], 0
jge 0x438433
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 0x43844b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x438485
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x105c], eax
mov eax, dword [ebp - 0x105c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x438477
jmp 0x438485
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x105c]
mov dword [ebp - 0x1c], edx
jmp 0x43844b
mov eax, dword [ebp - 0x1c]
add eax, 7
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1060], 0
jmp 0x4384a9
mov ecx, dword [ebp - 0x1060]
add ecx, 1
mov dword [ebp - 0x1060], ecx
cmp dword [ebp - 0x1060], 6
jge 0x4384c0
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1060]
mov dword [ebp - 0x1c], edx
jmp 0x43849a
cmp dword [ebp - 0x1c], 0
jge 0x4384ce
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 0x4384e6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1064], 0
jmp 0x438501
mov edx, dword [ebp - 0x1064]
add edx, 1
mov dword [ebp - 0x1064], edx
cmp dword [ebp - 0x1064], 4
jge 0x43854e
mov eax, dword [ebp - 0x1064]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x438530
mov eax, dword [ebp - 0x1064]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x438540
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1064]
mov dword [ebp - 0x1c], edx
jmp 0x43854c
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1064]
mov dword [ebp - 0x1c], eax
jmp 0x4384f2
mov ecx, 1
test ecx, ecx
je 0x438588
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 0x43857a
jmp 0x438588
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1068]
mov dword [ebp - 0x1c], edx
jmp 0x43854e
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0x106c], 0xffffffff
mov dword [ebp - 0x1070], 0
jmp 0x4385bd
mov ecx, dword [ebp - 0x1070]
add ecx, 1
mov dword [ebp - 0x1070], ecx
cmp dword [ebp - 0x1070], 2
jge 0x4385ef
mov eax, dword [ebp - 0x1070]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4385e4
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 0x4385ae
mov dword [ebp - 4], 0xfffffffe
jmp 0x43860f
mov dword [ebp - 0x1074], 0
jmp 0x43862a
mov edx, dword [ebp - 0x1074]
add edx, 1
mov dword [ebp - 0x1074], edx
cmp dword [ebp - 0x1074], 2
jge 0x43866b
cmp dword [ebp - 0x1c], 0
jge 0x438641
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 0x438657
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1270]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x43861b
mov dword [ebp - 0x1274], 0
jmp 0x438686
mov eax, dword [ebp - 0x1274]
add eax, 1
mov dword [ebp - 0x1274], eax
cmp dword [ebp - 0x1274], 8
jge 0x43869d
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x1274]
mov dword [ebp - 0x1c], ecx
jmp 0x438677
cmp dword [ebp - 0x1c], 0
jge 0x4386ab
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 0x4386c3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1278], 0
jmp 0x4386de
mov edx, dword [ebp - 0x1278]
add edx, 1
mov dword [ebp - 0x1278], edx
cmp dword [ebp - 0x1278], 5
jge 0x43871f
cmp dword [ebp - 0x1c], 0
jge 0x4386f5
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 0x43870b
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1470]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4386cf
mov dword [ebp - 0x1474], 0
jmp 0x43873a
mov eax, dword [ebp - 0x1474]
add eax, 1
mov dword [ebp - 0x1474], eax
cmp dword [ebp - 0x1474], 8
jge 0x438787
cmp dword [ebp - 0x1c], 0
jge 0x438751
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 0x438767
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1478], 0xfa
lea edx, [ebp - 0x1478]
push edx
lea eax, [ebp - 0x1670]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x43872b
mov dword [ebp - 0x1674], 0
jmp 0x4387a2
mov ecx, dword [ebp - 0x1674]
add ecx, 1
mov dword [ebp - 0x1674], ecx
cmp dword [ebp - 0x1674], 3
jge 0x4387e3
cmp dword [ebp - 0x1c], 0
jge 0x4387b9
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 0x4387cf
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1870]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x438793
mov dword [ebp - 4], 3
mov dword [ebp - 0x1874], 0xffffffff
mov dword [ebp - 0x1878], 0
jmp 0x43880f
mov eax, dword [ebp - 0x1878]
add eax, 1
mov dword [ebp - 0x1878], eax
cmp dword [ebp - 0x1878], 1
jge 0x438841
mov eax, dword [ebp - 0x1878]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x438836
mov edx, dword [ebp - 0x1874]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x438800
mov dword [ebp - 4], 0xfffffffe
jmp 0x438861
mov dword [ebp - 0x187c], 0
jmp 0x43887c
mov edx, dword [ebp - 0x187c]
add edx, 1
mov dword [ebp - 0x187c], edx
cmp dword [ebp - 0x187c], 3
jge 0x4388c9
mov eax, dword [ebp - 0x187c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4388ab
mov eax, dword [ebp - 0x187c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4388bb
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x187c]
mov dword [ebp - 0x1c], edx
jmp 0x4388c7
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x187c]
mov dword [ebp - 0x1c], eax
jmp 0x43886d
mov ecx, 1
test ecx, ecx
je 0x438903
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1880], eax
mov eax, dword [ebp - 0x1880]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4388f5
jmp 0x438903
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1880]
mov dword [ebp - 0x1c], edx
jmp 0x4388c9
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1884], 0
jmp 0x438927
mov ecx, dword [ebp - 0x1884]
add ecx, 1
mov dword [ebp - 0x1884], ecx
cmp dword [ebp - 0x1884], 5
jge 0x43893e
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1884]
mov dword [ebp - 0x1c], edx
jmp 0x438918
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x438950
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 0x438968
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1888], 0
jmp 0x438983
mov edx, dword [ebp - 0x1888]
add edx, 1
mov dword [ebp - 0x1888], edx
cmp dword [ebp - 0x1888], 6
jge 0x43899a
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1888]
mov dword [ebp - 0x1c], eax
jmp 0x438974
cmp dword [ebp - 0x1c], 0
jge 0x4389a8
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 0x4389c0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x188c], 0
jmp 0x4389db
mov edx, dword [ebp - 0x188c]
add edx, 1
mov dword [ebp - 0x188c], edx
cmp dword [ebp - 0x188c], 8
jge 0x4389f2
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x188c]
mov dword [ebp - 0x1c], eax
jmp 0x4389cc
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x438a04
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 0x438a1c
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1890], 0
jmp 0x438a37
mov edx, dword [ebp - 0x1890]
add edx, 1
mov dword [ebp - 0x1890], edx
cmp dword [ebp - 0x1890], 3
jge 0x438a4e
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1890]
mov dword [ebp - 0x1c], eax
jmp 0x438a28
cmp dword [ebp - 0x1c], 0
jge 0x438a5c
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 0x438a74
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1894], 0
jmp 0x438a8f
mov edx, dword [ebp - 0x1894]
add edx, 1
mov dword [ebp - 0x1894], edx
cmp dword [ebp - 0x1894], 3
jge 0x438adc
cmp dword [ebp - 0x1c], 0
jge 0x438aa6
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 0x438abc
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1898], 0xfa
lea edx, [ebp - 0x1898]
push edx
lea eax, [ebp - 0x1a90]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x438a80
mov dword [ebp - 0x1a94], 0
jmp 0x438af7
mov ecx, dword [ebp - 0x1a94]
add ecx, 1
mov dword [ebp - 0x1a94], ecx
cmp dword [ebp - 0x1a94], 7
jge 0x438b0e
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1a94]
mov dword [ebp - 0x1c], edx
jmp 0x438ae8
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x438b20
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 0x438b38
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1a98], 0
jmp 0x438b53
mov edx, dword [ebp - 0x1a98]
add edx, 1
mov dword [ebp - 0x1a98], edx
cmp dword [ebp - 0x1a98], 8
jge 0x438b6a
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1a98]
mov dword [ebp - 0x1c], eax
jmp 0x438b44
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x438b7c
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 0x438b94
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1a9c], 0
jmp 0x438baf
mov edx, dword [ebp - 0x1a9c]
add edx, 1
mov dword [ebp - 0x1a9c], edx
cmp dword [ebp - 0x1a9c], 5
jge 0x438bc6
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1a9c]
mov dword [ebp - 0x1c], eax
jmp 0x438ba0
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x438bd8
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 0x438bf0
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 4
mov dword [ebp - 0x1aa0], 0xffffffff
mov dword [ebp - 0x1aa4], 0
jmp 0x438c1c
mov edx, dword [ebp - 0x1aa4]
add edx, 1
mov dword [ebp - 0x1aa4], edx
cmp dword [ebp - 0x1aa4], 3
jge 0x438c4e
mov eax, dword [ebp - 0x1aa4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x438c43
mov edx, dword [ebp - 0x1aa0]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x438c0d
mov dword [ebp - 4], 0xfffffffe
jmp 0x438c6e
mov dword [ebp - 0x1aa8], 0
jmp 0x438c89
mov edx, dword [ebp - 0x1aa8]
add edx, 1
mov dword [ebp - 0x1aa8], edx
cmp dword [ebp - 0x1aa8], 7
jge 0x438ca0
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1aa8]
mov dword [ebp - 0x1c], eax
jmp 0x438c7a
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x438cb2
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 0x438cca
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1aac], 0
jmp 0x438ce5
mov edx, dword [ebp - 0x1aac]
add edx, 1
mov dword [ebp - 0x1aac], edx
cmp dword [ebp - 0x1aac], 5
jge 0x438d32
mov eax, dword [ebp - 0x1aac]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x438d14
mov eax, dword [ebp - 0x1aac]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x438d24
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1aac]
mov dword [ebp - 0x1c], edx
jmp 0x438d30
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1aac]
mov dword [ebp - 0x1c], eax
jmp 0x438cd6
mov dword [ebp - 0x1ab0], 0
jmp 0x438d4d
cmp dword [ebp - 0x1ab0], 2
jge 0x438d9a
mov eax, dword [ebp - 0x1ab0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x438d7c
mov eax, dword [ebp - 0x1ab0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x438d8c
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1ab0]
mov dword [ebp - 0x1c], edx
jmp 0x438d98
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1ab0]
mov dword [ebp - 0x1c], eax
jmp 0x438d3e
mov dword [ebp - 0x1ab4], 0
jmp 0x438db5
cmp dword [ebp - 0x1ab4], 3
jge 0x438e02
cmp dword [ebp - 0x1c], 0
jge 0x438dcc
mov dword [ebp - 0x1cb4], 0
jmp 0x438e1d