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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x5106e8
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x26fc
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x24], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
jmp 0x430e09
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x16
jge 0x430e47
cmp dword [ebp - 0x1c], 0
jge 0x430e1d
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 0x430e33
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x220]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x430e00
mov dword [ebp - 0x224], 0
jmp 0x430e62
mov eax, dword [ebp - 0x224]
add eax, 1
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x224], 0xd
jge 0x430eaf
mov eax, dword [ebp - 0x224]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x430e91
mov eax, dword [ebp - 0x224]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x430ea1
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x224]
mov dword [ebp - 0x1c], edx
jmp 0x430ead
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x224]
mov dword [ebp - 0x1c], eax
jmp 0x430e53
mov dword [ebp - 4], 0
mov dword [ebp - 0x228], 0xffffffff
mov dword [ebp - 0x22c], 0
jmp 0x430edb
mov ecx, dword [ebp - 0x22c]
add ecx, 1
mov dword [ebp - 0x22c], ecx
cmp dword [ebp - 0x22c], 0x18
jge 0x430f0d
mov eax, dword [ebp - 0x22c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x430f02
mov edx, dword [ebp - 0x228]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x430ecc
mov dword [ebp - 4], 0xfffffffe
jmp 0x430f2d
mov dword [ebp - 0x230], 0
jmp 0x430f48
mov edx, dword [ebp - 0x230]
add edx, 1
mov dword [ebp - 0x230], edx
cmp dword [ebp - 0x230], 0x15
jge 0x430f5f
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x230]
mov dword [ebp - 0x1c], eax
jmp 0x430f39
cmp dword [ebp - 0x1c], 0
jge 0x430f6d
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 0x430f85
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x234], 0
jmp 0x430fa0
mov edx, dword [ebp - 0x234]
add edx, 1
mov dword [ebp - 0x234], edx
cmp dword [ebp - 0x234], 0x11
jge 0x430fb7
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x234]
mov dword [ebp - 0x1c], eax
jmp 0x430f91
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x430fc9
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 0x430fe1
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x238], 0
jmp 0x430ffc
mov edx, dword [ebp - 0x238]
add edx, 1
mov dword [ebp - 0x238], edx
cmp dword [ebp - 0x238], 0x16
jge 0x431049
mov eax, dword [ebp - 0x238]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x43102b
mov eax, dword [ebp - 0x238]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x43103b
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x238]
mov dword [ebp - 0x1c], edx
jmp 0x431047
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x238]
mov dword [ebp - 0x1c], eax
jmp 0x430fed
mov dword [ebp - 4], 1
mov dword [ebp - 0x23c], 0xffffffff
mov dword [ebp - 0x240], 0
jmp 0x431075
mov ecx, dword [ebp - 0x240]
add ecx, 1
mov dword [ebp - 0x240], ecx
cmp dword [ebp - 0x240], 0xa
jge 0x4310a7
mov eax, dword [ebp - 0x240]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x43109c
mov edx, dword [ebp - 0x23c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x431066
mov dword [ebp - 4], 0xfffffffe
jmp 0x4310c7
mov edx, 1
test edx, edx
je 0x431101
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x244], eax
mov eax, dword [ebp - 0x244]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4310f3
jmp 0x431101
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x244]
mov dword [ebp - 0x1c], edx
jmp 0x4310c7
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0x248], 0xffffffff
mov dword [ebp - 0x24c], 0
jmp 0x431136
mov ecx, dword [ebp - 0x24c]
add ecx, 1
mov dword [ebp - 0x24c], ecx
cmp dword [ebp - 0x24c], 6
jge 0x431168
mov eax, dword [ebp - 0x24c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x43115d
mov edx, dword [ebp - 0x248]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x431127
mov dword [ebp - 4], 0xfffffffe
jmp 0x431188
mov dword [ebp - 0x250], 0
jmp 0x4311a3
mov edx, dword [ebp - 0x250]
add edx, 1
mov dword [ebp - 0x250], edx
cmp dword [ebp - 0x250], 0xa
jge 0x4311ba
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x250]
mov dword [ebp - 0x1c], eax
jmp 0x431194
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4311cc
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 0x4311e4
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x254], 0
jmp 0x4311ff
mov edx, dword [ebp - 0x254]
add edx, 1
mov dword [ebp - 0x254], edx
cmp dword [ebp - 0x254], 3
jge 0x431216
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x254]
mov dword [ebp - 0x1c], eax
jmp 0x4311f0
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x431228
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 0x431240
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 3
mov dword [ebp - 0x258], 0xffffffff
mov dword [ebp - 0x25c], 0
jmp 0x43126c
mov edx, dword [ebp - 0x25c]
add edx, 1
mov dword [ebp - 0x25c], edx
cmp dword [ebp - 0x25c], 5
jge 0x43129e
mov eax, dword [ebp - 0x25c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x431293
mov edx, dword [ebp - 0x258]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x43125d
mov dword [ebp - 4], 0xfffffffe
jmp 0x4312be
mov dword [ebp - 0x260], 0
jmp 0x4312d9
mov edx, dword [ebp - 0x260]
add edx, 1
mov dword [ebp - 0x260], edx
cmp dword [ebp - 0x260], 0x10
jge 0x431326
mov eax, dword [ebp - 0x260]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x431308
mov eax, dword [ebp - 0x260]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x431318
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x260]
mov dword [ebp - 0x1c], edx
jmp 0x431324
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x260]
mov dword [ebp - 0x1c], eax
jmp 0x4312ca
mov dword [ebp - 4], 4
mov dword [ebp - 0x264], 0xffffffff
mov dword [ebp - 0x268], 0
jmp 0x431352
mov ecx, dword [ebp - 0x268]
add ecx, 1
mov dword [ebp - 0x268], ecx
cmp dword [ebp - 0x268], 0xb
jge 0x431384
mov eax, dword [ebp - 0x268]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x431379
mov edx, dword [ebp - 0x264]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x431343
mov dword [ebp - 4], 0xfffffffe
jmp 0x4313a4
mov dword [ebp - 0x26c], 0
jmp 0x4313bf
mov edx, dword [ebp - 0x26c]
add edx, 1
mov dword [ebp - 0x26c], edx
cmp dword [ebp - 0x26c], 5
jge 0x431400
cmp dword [ebp - 0x1c], 0
jge 0x4313d6
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 0x4313ec
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x468]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4313b0
mov dword [ebp - 0x46c], 0
jmp 0x43141b
mov eax, dword [ebp - 0x46c]
add eax, 1
mov dword [ebp - 0x46c], eax
cmp dword [ebp - 0x46c], 3
jge 0x43145c
cmp dword [ebp - 0x1c], 0
jge 0x431432
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 0x431448
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x668]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x43140c
mov dword [ebp - 0x66c], 0
jmp 0x431477
mov eax, dword [ebp - 0x66c]
add eax, 1
mov dword [ebp - 0x66c], eax
cmp dword [ebp - 0x66c], 4
jge 0x4314c4
cmp dword [ebp - 0x1c], 0
jge 0x43148e
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 0x4314a4
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x670], 0xfa
lea edx, [ebp - 0x670]
push edx
lea eax, [ebp - 0x868]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x431468
mov dword [ebp - 0x86c], 0
jmp 0x4314df
mov ecx, dword [ebp - 0x86c]
add ecx, 1
mov dword [ebp - 0x86c], ecx
cmp dword [ebp - 0x86c], 3
jge 0x43152c
cmp dword [ebp - 0x1c], 0
jge 0x4314f6
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 0x43150c
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x870], 0xfa
lea edx, [ebp - 0x870]
push edx
lea eax, [ebp - 0xa68]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4314d0
mov dword [ebp - 0xa6c], 0
jmp 0x431547
mov ecx, dword [ebp - 0xa6c]
add ecx, 1
mov dword [ebp - 0xa6c], ecx
cmp dword [ebp - 0xa6c], 8
jge 0x43155e
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa6c]
mov dword [ebp - 0x1c], edx
jmp 0x431538
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x431570
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 0x431588
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa70], 0
jmp 0x4315a3
mov edx, dword [ebp - 0xa70]
add edx, 1
mov dword [ebp - 0xa70], edx
cmp dword [ebp - 0xa70], 0
jge 0x4315f0
cmp dword [ebp - 0x1c], 0
jge 0x4315ba
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 0x4315d0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa74], 0xfa
lea edx, [ebp - 0xa74]
push edx
lea eax, [ebp - 0xc70]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x431594
mov dword [ebp - 4], 5
mov dword [ebp - 0xc74], 0xffffffff
mov dword [ebp - 0xc78], 0
jmp 0x43161c
mov ecx, dword [ebp - 0xc78]
add ecx, 1
mov dword [ebp - 0xc78], ecx
cmp dword [ebp - 0xc78], 4
jge 0x43164e
mov eax, dword [ebp - 0xc78]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x431643
mov edx, dword [ebp - 0xc74]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x43160d
mov dword [ebp - 4], 0xfffffffe
jmp 0x43166e
mov dword [ebp - 0xc7c], 0
jmp 0x431689
mov edx, dword [ebp - 0xc7c]
add edx, 1
mov dword [ebp - 0xc7c], edx
cmp dword [ebp - 0xc7c], 1
jge 0x4316a0
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xc7c]
mov dword [ebp - 0x1c], eax
jmp 0x43167a
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4316b2
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 0x4316ca
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc80], 0
jmp 0x4316e5
mov edx, dword [ebp - 0xc80]
add edx, 1
mov dword [ebp - 0xc80], edx
cmp dword [ebp - 0xc80], 0
jge 0x4316fc
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xc80]
mov dword [ebp - 0x1c], eax
jmp 0x4316d6
cmp dword [ebp - 0x1c], 0
jge 0x43170a
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 0x431722
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc84], 0
jmp 0x43173d
mov edx, dword [ebp - 0xc84]
add edx, 1
mov dword [ebp - 0xc84], edx
cmp dword [ebp - 0xc84], 3
jge 0x43177e
cmp dword [ebp - 0x1c], 0
jge 0x431754
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 0x43176a
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xe80]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x43172e
mov dword [ebp - 0xe84], 0
jmp 0x431799
mov eax, dword [ebp - 0xe84]
add eax, 1
mov dword [ebp - 0xe84], eax
cmp dword [ebp - 0xe84], 2
jge 0x4317da
cmp dword [ebp - 0x1c], 0
jge 0x4317b0
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 0x4317c6
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1080]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x43178a
mov dword [ebp - 0x1084], 0
jmp 0x4317f5
mov eax, dword [ebp - 0x1084]
add eax, 1
mov dword [ebp - 0x1084], eax
cmp dword [ebp - 0x1084], 2
jge 0x431836
cmp dword [ebp - 0x1c], 0
jge 0x43180c
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 0x431822
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1280]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4317e6
mov dword [ebp - 0x1284], 0
jmp 0x431851
mov eax, dword [ebp - 0x1284]
add eax, 1
mov dword [ebp - 0x1284], eax
cmp dword [ebp - 0x1284], 4
jge 0x431892
cmp dword [ebp - 0x1c], 0
jge 0x431868
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 0x43187e
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1480]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x431842
mov dword [ebp - 0x1484], 0
jmp 0x4318ad
mov eax, dword [ebp - 0x1484]
add eax, 1
mov dword [ebp - 0x1484], eax
cmp dword [ebp - 0x1484], 4
jge 0x4318c4
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x1484]
mov dword [ebp - 0x1c], ecx
jmp 0x43189e
cmp dword [ebp - 0x1c], 0
jge 0x4318d2
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 0x4318ea
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1488], 0
jmp 0x431905
mov edx, dword [ebp - 0x1488]
add edx, 1
mov dword [ebp - 0x1488], edx
cmp dword [ebp - 0x1488], 1
jge 0x431952
mov eax, dword [ebp - 0x1488]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x431934
mov eax, dword [ebp - 0x1488]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x431944
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1488]
mov dword [ebp - 0x1c], edx
jmp 0x431950
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1488]
mov dword [ebp - 0x1c], eax
jmp 0x4318f6
mov ecx, 1
test ecx, ecx
je 0x43198c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x148c], eax
mov eax, dword [ebp - 0x148c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x43197e
jmp 0x43198c
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x148c]
mov dword [ebp - 0x1c], edx
jmp 0x431952
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1490], 0
jmp 0x4319b0
mov ecx, dword [ebp - 0x1490]
add ecx, 1
mov dword [ebp - 0x1490], ecx
cmp dword [ebp - 0x1490], 2
jge 0x4319c7
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1490]
mov dword [ebp - 0x1c], edx
jmp 0x4319a1
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4319d9
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 0x4319f1
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 6
mov dword [ebp - 0x1494], 0xffffffff
mov dword [ebp - 0x1498], 0
jmp 0x431a1d
mov edx, dword [ebp - 0x1498]
add edx, 1
mov dword [ebp - 0x1498], edx
cmp dword [ebp - 0x1498], 1
jge 0x431a4f
mov eax, dword [ebp - 0x1498]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x431a44
mov edx, dword [ebp - 0x1494]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x431a0e
mov dword [ebp - 4], 0xfffffffe
jmp 0x431a6f
mov dword [ebp - 4], 7
mov dword [ebp - 0x149c], 0xffffffff
mov dword [ebp - 0x14a0], 0
jmp 0x431a9b
mov edx, dword [ebp - 0x14a0]
add edx, 1
mov dword [ebp - 0x14a0], edx
cmp dword [ebp - 0x14a0], 0
jge 0x431acd
mov eax, dword [ebp - 0x14a0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x431ac2
mov edx, dword [ebp - 0x149c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x431a8c
mov dword [ebp - 4], 0xfffffffe
jmp 0x431aed
mov dword [ebp - 0x14a4], 0
jmp 0x431b08
mov edx, dword [ebp - 0x14a4]
add edx, 1
mov dword [ebp - 0x14a4], edx
cmp dword [ebp - 0x14a4], 1
jge 0x431b49
cmp dword [ebp - 0x1c], 0
jge 0x431b1f
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 0x431b35
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x16a0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x431af9
mov dword [ebp - 4], 8
mov dword [ebp - 0x16a4], 0xffffffff
mov dword [ebp - 0x16a8], 0
jmp 0x431b75
mov eax, dword [ebp - 0x16a8]
add eax, 1
mov dword [ebp - 0x16a8], eax
cmp dword [ebp - 0x16a8], 1
jge 0x431ba7
mov eax, dword [ebp - 0x16a8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x431b9c
mov edx, dword [ebp - 0x16a4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x431b66
mov dword [ebp - 4], 0xfffffffe
jmp 0x431bc7
mov dword [ebp - 0x16ac], 0
jmp 0x431be2
mov edx, dword [ebp - 0x16ac]
add edx, 1
mov dword [ebp - 0x16ac], edx
cmp dword [ebp - 0x16ac], 1
jge 0x431c2f
cmp dword [ebp - 0x1c], 0
jge 0x431bf9
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 0x431c0f
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x16b0], 0xfa
lea edx, [ebp - 0x16b0]
push edx
lea eax, [ebp - 0x18a8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x431bd3
mov dword [ebp - 0x18ac], 0
jmp 0x431c4a
mov ecx, dword [ebp - 0x18ac]
add ecx, 1
mov dword [ebp - 0x18ac], ecx
cmp dword [ebp - 0x18ac], 2
jge 0x431c61
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x18ac]
mov dword [ebp - 0x1c], edx
jmp 0x431c3b
cmp dword [ebp - 0x1c], 0
jge 0x431c6f
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 0x431c87
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x431cc1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x18b0], eax
mov eax, dword [ebp - 0x18b0]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x431cb3
jmp 0x431cc1
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x18b0]
mov dword [ebp - 0x1c], edx
jmp 0x431c87
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x431d04
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x18b4], eax
mov eax, dword [ebp - 0x18b4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x431cf6
jmp 0x431d04
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x18b4]
mov dword [ebp - 0x1c], edx
jmp 0x431cca
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18b8], 0
jmp 0x431d28
mov ecx, dword [ebp - 0x18b8]
add ecx, 1
mov dword [ebp - 0x18b8], ecx
cmp dword [ebp - 0x18b8], 0
jge 0x431d75
mov eax, dword [ebp - 0x18b8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x431d57
mov eax, dword [ebp - 0x18b8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x431d67
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x18b8]
mov dword [ebp - 0x1c], edx
jmp 0x431d73
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x18b8]
mov dword [ebp - 0x1c], eax
jmp 0x431d19
mov ecx, 1
test ecx, ecx
je 0x431daf
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x18bc], eax
mov eax, dword [ebp - 0x18bc]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x431da1
jmp 0x431daf
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x18bc]
mov dword [ebp - 0x1c], edx
jmp 0x431d75
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 9
mov dword [ebp - 0x18c0], 0xffffffff
mov dword [ebp - 0x18c4], 0
jmp 0x431de4
mov ecx, dword [ebp - 0x18c4]
add ecx, 1
mov dword [ebp - 0x18c4], ecx
cmp dword [ebp - 0x18c4], 3
jge 0x431e16
mov eax, dword [ebp - 0x18c4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x431e0b
mov edx, dword [ebp - 0x18c0]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x431dd5
mov dword [ebp - 4], 0xfffffffe
jmp 0x431e36
mov dword [ebp - 0x18c8], 0
jmp 0x431e51
mov edx, dword [ebp - 0x18c8]
add edx, 1
mov dword [ebp - 0x18c8], edx
cmp dword [ebp - 0x18c8], 1
jge 0x431e9e
mov eax, dword [ebp - 0x18c8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x431e80
mov eax, dword [ebp - 0x18c8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x431e90
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x18c8]
mov dword [ebp - 0x1c], edx
jmp 0x431e9c
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x18c8]
mov dword [ebp - 0x1c], eax
jmp 0x431e42
mov ecx, 1
test ecx, ecx
je 0x431ed8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x18cc], eax
mov eax, dword [ebp - 0x18cc]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x431eca
jmp 0x431ed8
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x18cc]
mov dword [ebp - 0x1c], edx
jmp 0x431e9e
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x431f1b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x18d0], eax
mov eax, dword [ebp - 0x18d0]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x431f0d
jmp 0x431f1b
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x18d0]
mov dword [ebp - 0x1c], edx
jmp 0x431ee1
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18d4], 0
jmp 0x431f3f
mov ecx, dword [ebp - 0x18d4]
add ecx, 1
mov dword [ebp - 0x18d4], ecx
cmp dword [ebp - 0x18d4], 1
jge 0x431f80
cmp dword [ebp - 0x1c], 0
jge 0x431f56
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 0x431f6c
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1ad0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x431f30
mov dword [ebp - 0x1ad4], 0
jmp 0x431f9b
mov eax, dword [ebp - 0x1ad4]
add eax, 1
mov dword [ebp - 0x1ad4], eax
cmp dword [ebp - 0x1ad4], 1
jge 0x431fdc
cmp dword [ebp - 0x1c], 0
jge 0x431fb2
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 0x431fc8
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1cd0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x431f8c
mov dword [ebp - 0x1cd4], 0
jmp 0x431ff7
mov eax, dword [ebp - 0x1cd4]
add eax, 1
mov dword [ebp - 0x1cd4], eax
cmp dword [ebp - 0x1cd4], 2
jge 0x43200e
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x1cd4]
mov dword [ebp - 0x1c], ecx
jmp 0x431fe8
cmp dword [ebp - 0x1c], 0
jge 0x43201c
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 0x432034
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1cd8], 0
jmp 0x43204f
mov edx, dword [ebp - 0x1cd8]
add edx, 1
mov dword [ebp - 0x1cd8], edx
cmp dword [ebp - 0x1cd8], 2
jge 0x432066
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1cd8]
mov dword [ebp - 0x1c], eax
jmp 0x432040
cmp dword [ebp - 0x1c], 0
jge 0x432074
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 0x43208c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1cdc], 0
jmp 0x4320a7
cmp dword [ebp - 0x1cdc], 4
jge 0x4320e8
cmp dword [ebp - 0x1c], 0
jge 0x4320be
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 0x4320d4
mov dword [ebp - 0x1edc], 0
jmp 0x432103
cmp dword [ebp - 0x1edc], 0
jge 0x432144