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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x511f98
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x22b8
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x2c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
jmp 0x47af39
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x10
jge 0x47af4a
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
jmp 0x47af30
cmp dword [ebp - 0x1c], 0
jge 0x47af58
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 0x47af70
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0
jmp 0x47af82
mov edx, dword [ebp - 0x24]
add edx, 1
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0x19
jge 0x47afc0
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x47afa8
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x47afb5
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], edx
jmp 0x47afbe
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
jmp 0x47af79
mov dword [ebp - 0x28], 0
jmp 0x47afd2
mov ecx, dword [ebp - 0x28]
add ecx, 1
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], 0x33
jge 0x47b010
cmp dword [ebp - 0x1c], 0
jge 0x47afe6
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 0x47affc
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x228]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x47afc9
mov dword [ebp - 0x22c], 0
jmp 0x47b02b
mov eax, dword [ebp - 0x22c]
add eax, 1
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x22c], 5
jge 0x47b078
mov eax, dword [ebp - 0x22c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x47b05a
mov eax, dword [ebp - 0x22c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x47b06a
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x22c]
mov dword [ebp - 0x1c], edx
jmp 0x47b076
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x22c]
mov dword [ebp - 0x1c], eax
jmp 0x47b01c
mov dword [ebp - 0x230], 0
jmp 0x47b093
mov ecx, dword [ebp - 0x230]
add ecx, 1
mov dword [ebp - 0x230], ecx
cmp dword [ebp - 0x230], 0x1b
jge 0x47b0aa
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x230]
mov dword [ebp - 0x1c], edx
jmp 0x47b084
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x47b0bc
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 0x47b0d4
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x47b10e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x234], eax
mov eax, dword [ebp - 0x234]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x47b100
jmp 0x47b10e
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x234]
mov dword [ebp - 0x1c], edx
jmp 0x47b0d4
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x238], 0
jmp 0x47b132
mov ecx, dword [ebp - 0x238]
add ecx, 1
mov dword [ebp - 0x238], ecx
cmp dword [ebp - 0x238], 8
jge 0x47b17f
mov eax, dword [ebp - 0x238]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x47b161
mov eax, dword [ebp - 0x238]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x47b171
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x238]
mov dword [ebp - 0x1c], edx
jmp 0x47b17d
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x238]
mov dword [ebp - 0x1c], eax
jmp 0x47b123
mov dword [ebp - 0x23c], 0
jmp 0x47b19a
mov ecx, dword [ebp - 0x23c]
add ecx, 1
mov dword [ebp - 0x23c], ecx
cmp dword [ebp - 0x23c], 6
jge 0x47b1b1
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x23c]
mov dword [ebp - 0x1c], edx
jmp 0x47b18b
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x47b1c3
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 0x47b1db
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x240], 0
jmp 0x47b1f6
mov edx, dword [ebp - 0x240]
add edx, 1
mov dword [ebp - 0x240], edx
cmp dword [ebp - 0x240], 5
jge 0x47b237
cmp dword [ebp - 0x1c], 0
jge 0x47b20d
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 0x47b223
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x438]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x47b1e7
mov dword [ebp - 0x43c], 0
jmp 0x47b252
mov eax, dword [ebp - 0x43c]
add eax, 1
mov dword [ebp - 0x43c], eax
cmp dword [ebp - 0x43c], 6
jge 0x47b269
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x43c]
mov dword [ebp - 0x1c], ecx
jmp 0x47b243
cmp dword [ebp - 0x1c], 0
jge 0x47b277
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 0x47b28f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x440], 0
jmp 0x47b2aa
mov edx, dword [ebp - 0x440]
add edx, 1
mov dword [ebp - 0x440], edx
cmp dword [ebp - 0x440], 4
jge 0x47b2c1
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x440]
mov dword [ebp - 0x1c], eax
jmp 0x47b29b
cmp dword [ebp - 0x1c], 0
jge 0x47b2cf
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 0x47b2e7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x47b321
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 0x47b313
jmp 0x47b321
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x444]
mov dword [ebp - 0x1c], edx
jmp 0x47b2e7
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x47b364
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x448], eax
mov eax, dword [ebp - 0x448]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x47b356
jmp 0x47b364
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x448]
mov dword [ebp - 0x1c], edx
jmp 0x47b32a
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x44c], 0
jmp 0x47b388
mov ecx, dword [ebp - 0x44c]
add ecx, 1
mov dword [ebp - 0x44c], ecx
cmp dword [ebp - 0x44c], 3
jge 0x47b3d5
cmp dword [ebp - 0x1c], 0
jge 0x47b39f
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 0x47b3b5
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x450], 0xfa
lea edx, [ebp - 0x450]
push edx
lea eax, [ebp - 0x648]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x47b379
mov ecx, 1
test ecx, ecx
je 0x47b40f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x64c], eax
mov eax, dword [ebp - 0x64c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x47b401
jmp 0x47b40f
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x64c]
mov dword [ebp - 0x1c], edx
jmp 0x47b3d5
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x650], 0
jmp 0x47b433
mov ecx, dword [ebp - 0x650]
add ecx, 1
mov dword [ebp - 0x650], ecx
cmp dword [ebp - 0x650], 8
jge 0x47b480
cmp dword [ebp - 0x1c], 0
jge 0x47b44a
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 0x47b460
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x654], 0xfa
lea edx, [ebp - 0x654]
push edx
lea eax, [ebp - 0x850]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x47b424
mov dword [ebp - 0x854], 0
jmp 0x47b49b
mov ecx, dword [ebp - 0x854]
add ecx, 1
mov dword [ebp - 0x854], ecx
cmp dword [ebp - 0x854], 4
jge 0x47b4e8
mov eax, dword [ebp - 0x854]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x47b4ca
mov eax, dword [ebp - 0x854]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x47b4da
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x854]
mov dword [ebp - 0x1c], edx
jmp 0x47b4e6
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x854]
mov dword [ebp - 0x1c], eax
jmp 0x47b48c
mov dword [ebp - 0x858], 0
jmp 0x47b503
mov ecx, dword [ebp - 0x858]
add ecx, 1
mov dword [ebp - 0x858], ecx
cmp dword [ebp - 0x858], 4
jge 0x47b550
mov eax, dword [ebp - 0x858]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x47b532
mov eax, dword [ebp - 0x858]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x47b542
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x858]
mov dword [ebp - 0x1c], edx
jmp 0x47b54e
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x858]
mov dword [ebp - 0x1c], eax
jmp 0x47b4f4
mov dword [ebp - 4], 0
mov dword [ebp - 0x85c], 0xffffffff
mov dword [ebp - 0x860], 0
jmp 0x47b57c
mov ecx, dword [ebp - 0x860]
add ecx, 1
mov dword [ebp - 0x860], ecx
cmp dword [ebp - 0x860], 8
jge 0x47b5ae
mov eax, dword [ebp - 0x860]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x47b5a3
mov edx, dword [ebp - 0x85c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x47b56d
mov dword [ebp - 4], 0xfffffffe
jmp 0x47b5ce
mov dword [ebp - 0x864], 0
jmp 0x47b5e9
mov edx, dword [ebp - 0x864]
add edx, 1
mov dword [ebp - 0x864], edx
cmp dword [ebp - 0x864], 3
jge 0x47b600
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x864]
mov dword [ebp - 0x1c], eax
jmp 0x47b5da
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x47b612
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 0x47b62a
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x868], 0
jmp 0x47b645
mov edx, dword [ebp - 0x868]
add edx, 1
mov dword [ebp - 0x868], edx
cmp dword [ebp - 0x868], 3
jge 0x47b65c
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x868]
mov dword [ebp - 0x1c], eax
jmp 0x47b636
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x47b66e
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 0x47b686
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x86c], 0
jmp 0x47b6a1
mov edx, dword [ebp - 0x86c]
add edx, 1
mov dword [ebp - 0x86c], edx
cmp dword [ebp - 0x86c], 1
jge 0x47b6e2
cmp dword [ebp - 0x1c], 0
jge 0x47b6b8
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 0x47b6ce
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa68]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x47b692
mov dword [ebp - 0xa6c], 0
jmp 0x47b6fd
mov eax, dword [ebp - 0xa6c]
add eax, 1
mov dword [ebp - 0xa6c], eax
cmp dword [ebp - 0xa6c], 3
jge 0x47b74a
cmp dword [ebp - 0x1c], 0
jge 0x47b714
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 0x47b72a
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa70], 0xfa
lea edx, [ebp - 0xa70]
push edx
lea eax, [ebp - 0xc68]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x47b6ee
mov dword [ebp - 0xc6c], 0
jmp 0x47b765
mov ecx, dword [ebp - 0xc6c]
add ecx, 1
mov dword [ebp - 0xc6c], ecx
cmp dword [ebp - 0xc6c], 5
jge 0x47b7b2
mov eax, dword [ebp - 0xc6c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x47b794
mov eax, dword [ebp - 0xc6c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x47b7a4
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc6c]
mov dword [ebp - 0x1c], edx
jmp 0x47b7b0
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xc6c]
mov dword [ebp - 0x1c], eax
jmp 0x47b756
mov dword [ebp - 0xc70], 0
jmp 0x47b7cd
mov ecx, dword [ebp - 0xc70]
add ecx, 1
mov dword [ebp - 0xc70], ecx
cmp dword [ebp - 0xc70], 1
jge 0x47b7e4
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc70]
mov dword [ebp - 0x1c], edx
jmp 0x47b7be
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x47b7f6
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 0x47b80e
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc74], 0
jmp 0x47b829
mov edx, dword [ebp - 0xc74]
add edx, 1
mov dword [ebp - 0xc74], edx
cmp dword [ebp - 0xc74], 4
jge 0x47b840
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xc74]
mov dword [ebp - 0x1c], eax
jmp 0x47b81a
cmp dword [ebp - 0x1c], 0
jge 0x47b84e
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 0x47b866
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc78], 0
jmp 0x47b881
mov edx, dword [ebp - 0xc78]
add edx, 1
mov dword [ebp - 0xc78], edx
cmp dword [ebp - 0xc78], 5
jge 0x47b8c2
cmp dword [ebp - 0x1c], 0
jge 0x47b898
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 0x47b8ae
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xe70]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x47b872
mov dword [ebp - 0xe74], 0
jmp 0x47b8dd
mov eax, dword [ebp - 0xe74]
add eax, 1
mov dword [ebp - 0xe74], eax
cmp dword [ebp - 0xe74], 5
jge 0x47b91e
cmp dword [ebp - 0x1c], 0
jge 0x47b8f4
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 0x47b90a
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1070]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x47b8ce
mov dword [ebp - 0x1074], 0
jmp 0x47b939
mov eax, dword [ebp - 0x1074]
add eax, 1
mov dword [ebp - 0x1074], eax
cmp dword [ebp - 0x1074], 2
jge 0x47b950
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x1074]
mov dword [ebp - 0x1c], ecx
jmp 0x47b92a
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x47b962
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 0x47b97a
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x47b9b4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1078], eax
mov eax, dword [ebp - 0x1078]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x47b9a6
jmp 0x47b9b4
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1078]
mov dword [ebp - 0x1c], edx
jmp 0x47b97a
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x107c], 0
jmp 0x47b9d5
mov ecx, dword [ebp - 0x107c]
add ecx, 1
mov dword [ebp - 0x107c], ecx
cmp dword [ebp - 0x107c], 8
jge 0x47ba22
mov eax, dword [ebp - 0x107c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x47ba04
mov eax, dword [ebp - 0x107c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x47ba14
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x107c]
mov dword [ebp - 0x1c], edx
jmp 0x47ba20
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x107c]
mov dword [ebp - 0x1c], eax
jmp 0x47b9c6
mov dword [ebp - 0x1080], 0
jmp 0x47ba3d
mov ecx, dword [ebp - 0x1080]
add ecx, 1
mov dword [ebp - 0x1080], ecx
cmp dword [ebp - 0x1080], 2
jge 0x47ba54
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1080]
mov dword [ebp - 0x1c], edx
jmp 0x47ba2e
cmp dword [ebp - 0x1c], 0
jge 0x47ba62
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 0x47ba7a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1084], 0
jmp 0x47ba95
mov edx, dword [ebp - 0x1084]
add edx, 1
mov dword [ebp - 0x1084], edx
cmp dword [ebp - 0x1084], 4
jge 0x47baac
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1084]
mov dword [ebp - 0x1c], eax
jmp 0x47ba86
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x47babe
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 0x47bad6
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1088], 0
jmp 0x47baf1
mov edx, dword [ebp - 0x1088]
add edx, 1
mov dword [ebp - 0x1088], edx
cmp dword [ebp - 0x1088], 4
jge 0x47bb32
cmp dword [ebp - 0x1c], 0
jge 0x47bb08
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 0x47bb1e
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1280]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x47bae2
mov dword [ebp - 0x1284], 0
jmp 0x47bb4d
mov eax, dword [ebp - 0x1284]
add eax, 1
mov dword [ebp - 0x1284], eax
cmp dword [ebp - 0x1284], 4
jge 0x47bb64
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x1284]
mov dword [ebp - 0x1c], ecx
jmp 0x47bb3e
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x47bb76
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 0x47bb8e
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x47bbc8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1288], eax
mov eax, dword [ebp - 0x1288]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x47bbba
jmp 0x47bbc8
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1288]
mov dword [ebp - 0x1c], edx
jmp 0x47bb8e
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x47bc0b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x128c], eax
mov eax, dword [ebp - 0x128c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x47bbfd
jmp 0x47bc0b
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x128c]
mov dword [ebp - 0x1c], edx
jmp 0x47bbd1
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1290], 0
jmp 0x47bc2f
mov ecx, dword [ebp - 0x1290]
add ecx, 1
mov dword [ebp - 0x1290], ecx
cmp dword [ebp - 0x1290], 3
jge 0x47bc7c
mov eax, dword [ebp - 0x1290]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x47bc5e
mov eax, dword [ebp - 0x1290]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x47bc6e
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1290]
mov dword [ebp - 0x1c], edx
jmp 0x47bc7a
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1290]
mov dword [ebp - 0x1c], eax
jmp 0x47bc20
mov dword [ebp - 0x1294], 0
jmp 0x47bc97
mov ecx, dword [ebp - 0x1294]
add ecx, 1
mov dword [ebp - 0x1294], ecx
cmp dword [ebp - 0x1294], 2
jge 0x47bce4
cmp dword [ebp - 0x1c], 0
jge 0x47bcae
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 0x47bcc4
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1298], 0xfa
lea edx, [ebp - 0x1298]
push edx
lea eax, [ebp - 0x1490]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x47bc88
mov dword [ebp - 0x1494], 0
jmp 0x47bcff
mov ecx, dword [ebp - 0x1494]
add ecx, 1
mov dword [ebp - 0x1494], ecx
cmp dword [ebp - 0x1494], 2
jge 0x47bd4c
mov eax, dword [ebp - 0x1494]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x47bd2e
mov eax, dword [ebp - 0x1494]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x47bd3e
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1494]
mov dword [ebp - 0x1c], edx
jmp 0x47bd4a
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1494]
mov dword [ebp - 0x1c], eax
jmp 0x47bcf0
mov dword [ebp - 0x1498], 0
jmp 0x47bd67
mov ecx, dword [ebp - 0x1498]
add ecx, 1
mov dword [ebp - 0x1498], ecx
cmp dword [ebp - 0x1498], 3
jge 0x47bd7e
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1498]
mov dword [ebp - 0x1c], edx
jmp 0x47bd58
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x47bd90
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 0x47bda8
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x47bde2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x149c], eax
mov eax, dword [ebp - 0x149c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x47bdd4
jmp 0x47bde2
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x149c]
mov dword [ebp - 0x1c], edx
jmp 0x47bda8
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14a0], 0
jmp 0x47be06
mov ecx, dword [ebp - 0x14a0]
add ecx, 1
mov dword [ebp - 0x14a0], ecx
cmp dword [ebp - 0x14a0], 2
jge 0x47be47
cmp dword [ebp - 0x1c], 0
jge 0x47be1d
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 0x47be33
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1698]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x47bdf7
mov dword [ebp - 0x169c], 0
jmp 0x47be62
mov eax, dword [ebp - 0x169c]
add eax, 1
mov dword [ebp - 0x169c], eax
cmp dword [ebp - 0x169c], 3
jge 0x47beaf
cmp dword [ebp - 0x1c], 0
jge 0x47be79
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 0x47be8f
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x16a0], 0xfa
lea edx, [ebp - 0x16a0]
push edx
lea eax, [ebp - 0x1898]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x47be53
mov dword [ebp - 0x189c], 0
jmp 0x47beca
mov ecx, dword [ebp - 0x189c]
add ecx, 1
mov dword [ebp - 0x189c], ecx
cmp dword [ebp - 0x189c], 0
jge 0x47bf17
mov eax, dword [ebp - 0x189c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x47bef9
mov eax, dword [ebp - 0x189c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x47bf09
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x189c]
mov dword [ebp - 0x1c], edx
jmp 0x47bf15
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x189c]
mov dword [ebp - 0x1c], eax
jmp 0x47bebb
mov dword [ebp - 0x18a0], 0
jmp 0x47bf32
mov ecx, dword [ebp - 0x18a0]
add ecx, 1
mov dword [ebp - 0x18a0], ecx
cmp dword [ebp - 0x18a0], 0
jge 0x47bf73
cmp dword [ebp - 0x1c], 0
jge 0x47bf49
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 0x47bf5f
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1a98]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x47bf23
mov eax, 1
test eax, eax
je 0x47bfad
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1a9c], eax
mov eax, dword [ebp - 0x1a9c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x47bf9f
jmp 0x47bfad
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1a9c]
mov dword [ebp - 0x1c], edx
jmp 0x47bf73
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1aa0], 0
jmp 0x47bfd1
mov ecx, dword [ebp - 0x1aa0]
add ecx, 1
mov dword [ebp - 0x1aa0], ecx
cmp dword [ebp - 0x1aa0], 4
jge 0x47c01e
mov eax, dword [ebp - 0x1aa0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x47c000
mov eax, dword [ebp - 0x1aa0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x47c010
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1aa0]
mov dword [ebp - 0x1c], edx
jmp 0x47c01c
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1aa0]
mov dword [ebp - 0x1c], eax
jmp 0x47bfc2
mov dword [ebp - 0x1aa4], 0
jmp 0x47c039
mov ecx, dword [ebp - 0x1aa4]
add ecx, 1
mov dword [ebp - 0x1aa4], ecx
cmp dword [ebp - 0x1aa4], 2
jge 0x47c050
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1aa4]
mov dword [ebp - 0x1c], edx
jmp 0x47c02a
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x47c062
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 0x47c07a
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x1aa8], 0xffffffff
mov dword [ebp - 0x1aac], 0
jmp 0x47c0a6
mov edx, dword [ebp - 0x1aac]
add edx, 1
mov dword [ebp - 0x1aac], edx
cmp dword [ebp - 0x1aac], 1
jge 0x47c0d8
mov eax, dword [ebp - 0x1aac]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x47c0cd
mov edx, dword [ebp - 0x1aa8]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x47c097
mov dword [ebp - 4], 0xfffffffe
jmp 0x47c0f8
mov dword [ebp - 0x1ab0], 0
jmp 0x47c113
mov edx, dword [ebp - 0x1ab0]
add edx, 1
mov dword [ebp - 0x1ab0], edx
cmp dword [ebp - 0x1ab0], 3
jge 0x47c154
cmp dword [ebp - 0x1c], 0
jge 0x47c12a
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 0x47c140
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1ca8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x47c104
mov eax, 1
test eax, eax
je 0x47c18e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1cac], eax
mov eax, dword [ebp - 0x1cac]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x47c180
jmp 0x47c18e
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1cac]
mov dword [ebp - 0x1c], edx
jmp 0x47c154
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0x1cb0], 0xffffffff
mov dword [ebp - 0x1cb4], 0
jmp 0x47c1c3
cmp dword [ebp - 0x1cb4], 3
jge 0x47c1f5
mov eax, dword [ebp - 0x1cb4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x47c1ea
mov dword [ebp - 4], 0xfffffffe
jmp 0x47c215