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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x512118
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x1a80
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 eax, 1
test eax, eax
je 0x4809e8
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 0x4809dd
jmp 0x4809e8
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x4809b7
mov eax, dword [ebp - 0x1c]
add eax, 0x22
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0
jmp 0x480a03
mov ecx, dword [ebp - 0x24]
add ecx, 1
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], 0x2b
jge 0x480a47
cmp dword [ebp - 0x1c], 0
jge 0x480a17
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 0x480a2d
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x28], 0xfa
lea edx, [ebp - 0x28]
push edx
lea eax, [ebp - 0x228]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4809fa
mov ecx, 1
test ecx, ecx
je 0x480a81
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x22c], eax
mov eax, dword [ebp - 0x22c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x480a73
jmp 0x480a81
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x22c]
mov dword [ebp - 0x1c], edx
jmp 0x480a47
mov eax, dword [ebp - 0x1c]
add eax, 0xb
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x480ac4
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 0x480ab6
jmp 0x480ac4
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x230]
mov dword [ebp - 0x1c], edx
jmp 0x480a8a
mov eax, dword [ebp - 0x1c]
add eax, 7
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x234], 0
jmp 0x480ae8
mov ecx, dword [ebp - 0x234]
add ecx, 1
mov dword [ebp - 0x234], ecx
cmp dword [ebp - 0x234], 0x11
jge 0x480aff
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x234]
mov dword [ebp - 0x1c], edx
jmp 0x480ad9
cmp dword [ebp - 0x1c], 0
jge 0x480b0d
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 0x480b25
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x238], 0
jmp 0x480b40
mov edx, dword [ebp - 0x238]
add edx, 1
mov dword [ebp - 0x238], edx
cmp dword [ebp - 0x238], 0x1b
jge 0x480b8d
cmp dword [ebp - 0x1c], 0
jge 0x480b57
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 0x480b6d
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x23c], 0xfa
lea edx, [ebp - 0x23c]
push edx
lea eax, [ebp - 0x438]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x480b31
mov dword [ebp - 0x43c], 0
jmp 0x480ba8
mov ecx, dword [ebp - 0x43c]
add ecx, 1
mov dword [ebp - 0x43c], ecx
cmp dword [ebp - 0x43c], 0x17
jge 0x480bf5
mov eax, dword [ebp - 0x43c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x480bd7
mov eax, dword [ebp - 0x43c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x480be7
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x43c]
mov dword [ebp - 0x1c], edx
jmp 0x480bf3
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x43c]
mov dword [ebp - 0x1c], eax
jmp 0x480b99
mov dword [ebp - 0x440], 0
jmp 0x480c10
mov ecx, dword [ebp - 0x440]
add ecx, 1
mov dword [ebp - 0x440], ecx
cmp dword [ebp - 0x440], 2
jge 0x480c5d
cmp dword [ebp - 0x1c], 0
jge 0x480c27
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 0x480c3d
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x444], 0xfa
lea edx, [ebp - 0x444]
push edx
lea eax, [ebp - 0x640]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x480c01
mov dword [ebp - 0x644], 0
jmp 0x480c78
mov ecx, dword [ebp - 0x644]
add ecx, 1
mov dword [ebp - 0x644], ecx
cmp dword [ebp - 0x644], 6
jge 0x480cb9
cmp dword [ebp - 0x1c], 0
jge 0x480c8f
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 0x480ca5
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x840]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x480c69
mov dword [ebp - 0x844], 0
jmp 0x480cd4
mov eax, dword [ebp - 0x844]
add eax, 1
mov dword [ebp - 0x844], eax
cmp dword [ebp - 0x844], 2
jge 0x480d15
cmp dword [ebp - 0x1c], 0
jge 0x480ceb
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 0x480d01
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa40]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x480cc5
mov dword [ebp - 4], 0
mov dword [ebp - 0xa44], 0xffffffff
mov dword [ebp - 0xa48], 0
jmp 0x480d41
mov eax, dword [ebp - 0xa48]
add eax, 1
mov dword [ebp - 0xa48], eax
cmp dword [ebp - 0xa48], 0
jge 0x480d73
mov eax, dword [ebp - 0xa48]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x480d68
mov edx, dword [ebp - 0xa44]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x480d32
mov dword [ebp - 4], 0xfffffffe
jmp 0x480d93
mov dword [ebp - 0xa4c], 0
jmp 0x480dae
mov edx, dword [ebp - 0xa4c]
add edx, 1
mov dword [ebp - 0xa4c], edx
cmp dword [ebp - 0xa4c], 3
jge 0x480dc5
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xa4c]
mov dword [ebp - 0x1c], eax
jmp 0x480d9f
cmp dword [ebp - 0x1c], 0
jge 0x480dd3
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 0x480deb
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa50], 0
jmp 0x480e06
mov edx, dword [ebp - 0xa50]
add edx, 1
mov dword [ebp - 0xa50], edx
cmp dword [ebp - 0xa50], 1
jge 0x480e47
cmp dword [ebp - 0x1c], 0
jge 0x480e1d
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 0x480e33
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc48]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x480df7
mov dword [ebp - 0xc4c], 0
jmp 0x480e62
mov eax, dword [ebp - 0xc4c]
add eax, 1
mov dword [ebp - 0xc4c], eax
cmp dword [ebp - 0xc4c], 3
jge 0x480e79
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0xc4c]
mov dword [ebp - 0x1c], ecx
jmp 0x480e53
cmp dword [ebp - 0x1c], 0
jge 0x480e87
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 0x480e9f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc50], 0
jmp 0x480eba
mov edx, dword [ebp - 0xc50]
add edx, 1
mov dword [ebp - 0xc50], edx
cmp dword [ebp - 0xc50], 4
jge 0x480efb
cmp dword [ebp - 0x1c], 0
jge 0x480ed1
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 0x480ee7
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xe48]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x480eab
mov dword [ebp - 4], 1
mov dword [ebp - 0xe4c], 0xffffffff
mov dword [ebp - 0xe50], 0
jmp 0x480f27
mov eax, dword [ebp - 0xe50]
add eax, 1
mov dword [ebp - 0xe50], eax
cmp dword [ebp - 0xe50], 2
jge 0x480f59
mov eax, dword [ebp - 0xe50]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x480f4e
mov edx, dword [ebp - 0xe4c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x480f18
mov dword [ebp - 4], 0xfffffffe
jmp 0x480f79
mov dword [ebp - 4], 2
mov dword [ebp - 0xe54], 0xffffffff
mov dword [ebp - 0xe58], 0
jmp 0x480fa5
mov edx, dword [ebp - 0xe58]
add edx, 1
mov dword [ebp - 0xe58], edx
cmp dword [ebp - 0xe58], 2
jge 0x480fd7
mov eax, dword [ebp - 0xe58]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x480fcc
mov edx, dword [ebp - 0xe54]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x480f96
mov dword [ebp - 4], 0xfffffffe
jmp 0x480ff7
mov dword [ebp - 0xe5c], 0
jmp 0x481012
mov edx, dword [ebp - 0xe5c]
add edx, 1
mov dword [ebp - 0xe5c], edx
cmp dword [ebp - 0xe5c], 6
jge 0x481029
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xe5c]
mov dword [ebp - 0x1c], eax
jmp 0x481003
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x48103b
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 0x481053
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x48108d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xe60], eax
mov eax, dword [ebp - 0xe60]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x48107f
jmp 0x48108d
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xe60]
mov dword [ebp - 0x1c], edx
jmp 0x481053
mov eax, dword [ebp - 0x1c]
add eax, 6
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4810d0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xe64], eax
mov eax, dword [ebp - 0xe64]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4810c2
jmp 0x4810d0
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xe64]
mov dword [ebp - 0x1c], edx
jmp 0x481096
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe68], 0
jmp 0x4810f4
mov ecx, dword [ebp - 0xe68]
add ecx, 1
mov dword [ebp - 0xe68], ecx
cmp dword [ebp - 0xe68], 5
jge 0x48110b
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe68]
mov dword [ebp - 0x1c], edx
jmp 0x4810e5
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x48111d
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 0x481135
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe6c], 0
jmp 0x481150
mov edx, dword [ebp - 0xe6c]
add edx, 1
mov dword [ebp - 0xe6c], edx
cmp dword [ebp - 0xe6c], 3
jge 0x48119d
mov eax, dword [ebp - 0xe6c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x48117f
mov eax, dword [ebp - 0xe6c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x48118f
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe6c]
mov dword [ebp - 0x1c], edx
jmp 0x48119b
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xe6c]
mov dword [ebp - 0x1c], eax
jmp 0x481141
mov dword [ebp - 0xe70], 0
jmp 0x4811b8
mov ecx, dword [ebp - 0xe70]
add ecx, 1
mov dword [ebp - 0xe70], ecx
cmp dword [ebp - 0xe70], 8
jge 0x481205
cmp dword [ebp - 0x1c], 0
jge 0x4811cf
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 0x4811e5
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xe74], 0xfa
lea edx, [ebp - 0xe74]
push edx
lea eax, [ebp - 0x1070]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4811a9
mov dword [ebp - 0x1074], 0
jmp 0x481220
mov ecx, dword [ebp - 0x1074]
add ecx, 1
mov dword [ebp - 0x1074], ecx
cmp dword [ebp - 0x1074], 2
jge 0x481261
cmp dword [ebp - 0x1c], 0
jge 0x481237
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 0x48124d
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1270]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x481211
mov eax, 1
test eax, eax
je 0x48129b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1274], eax
mov eax, dword [ebp - 0x1274]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x48128d
jmp 0x48129b
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1274]
mov dword [ebp - 0x1c], edx
jmp 0x481261
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1278], 0
jmp 0x4812bf
mov ecx, dword [ebp - 0x1278]
add ecx, 1
mov dword [ebp - 0x1278], ecx
cmp dword [ebp - 0x1278], 1
jge 0x481300
cmp dword [ebp - 0x1c], 0
jge 0x4812d6
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 0x4812ec
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1470]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4812b0
mov eax, 1
test eax, eax
je 0x48133a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1474], eax
mov eax, dword [ebp - 0x1474]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x48132c
jmp 0x48133a
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1474]
mov dword [ebp - 0x1c], edx
jmp 0x481300
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1478], 0
jmp 0x48135e
mov ecx, dword [ebp - 0x1478]
add ecx, 1
mov dword [ebp - 0x1478], ecx
cmp dword [ebp - 0x1478], 3
jge 0x4813ab
cmp dword [ebp - 0x1c], 0
jge 0x481375
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 0x48138b
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x147c], 0xfa
lea edx, [ebp - 0x147c]
push edx
lea eax, [ebp - 0x1678]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x48134f
mov dword [ebp - 4], 3
mov dword [ebp - 0x167c], 0xffffffff
mov dword [ebp - 0x1680], 0
jmp 0x4813d7
mov ecx, dword [ebp - 0x1680]
add ecx, 1
mov dword [ebp - 0x1680], ecx
cmp dword [ebp - 0x1680], 1
jge 0x481409
mov eax, dword [ebp - 0x1680]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4813fe
mov edx, dword [ebp - 0x167c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4813c8
mov dword [ebp - 4], 0xfffffffe
jmp 0x481429
mov dword [ebp - 0x1684], 0
jmp 0x481444
mov edx, dword [ebp - 0x1684]
add edx, 1
mov dword [ebp - 0x1684], edx
cmp dword [ebp - 0x1684], 1
jge 0x481485
cmp dword [ebp - 0x1c], 0
jge 0x48145b
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 0x481471
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1880]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x481435
mov dword [ebp - 4], 4
mov dword [ebp - 0x1884], 0xffffffff
mov dword [ebp - 0x1888], 0
jmp 0x4814b1
mov eax, dword [ebp - 0x1888]
add eax, 1
mov dword [ebp - 0x1888], eax
cmp dword [ebp - 0x1888], 1
jge 0x4814e3
mov eax, dword [ebp - 0x1888]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4814d8
mov edx, dword [ebp - 0x1884]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4814a2
mov dword [ebp - 4], 0xfffffffe
jmp 0x481503
mov dword [ebp - 4], 5
mov dword [ebp - 0x188c], 0xffffffff
mov dword [ebp - 0x1890], 0
jmp 0x48152f
mov edx, dword [ebp - 0x1890]
add edx, 1
mov dword [ebp - 0x1890], edx
cmp dword [ebp - 0x1890], 2
jge 0x481561
mov eax, dword [ebp - 0x1890]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x481556
mov edx, dword [ebp - 0x188c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x481520
mov dword [ebp - 4], 0xfffffffe
jmp 0x481581
mov dword [ebp - 4], 6
mov dword [ebp - 0x1894], 0xffffffff
mov dword [ebp - 0x1898], 0
jmp 0x4815ad
mov edx, dword [ebp - 0x1898]
add edx, 1
mov dword [ebp - 0x1898], edx
cmp dword [ebp - 0x1898], 3
jge 0x4815df
mov eax, dword [ebp - 0x1898]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4815d4
mov edx, dword [ebp - 0x1894]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x48159e
mov dword [ebp - 4], 0xfffffffe
jmp 0x4815ff
mov dword [ebp - 0x189c], 0
jmp 0x48161a
mov edx, dword [ebp - 0x189c]
add edx, 1
mov dword [ebp - 0x189c], edx
cmp dword [ebp - 0x189c], 0
jge 0x481667
cmp dword [ebp - 0x1c], 0
jge 0x481631
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 0x481647
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18a0], 0xfa
lea edx, [ebp - 0x18a0]
push edx
lea eax, [ebp - 0x1a98]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x48160b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x2c]
xor ecx, ebp
call fcn.004079a5
mov esp, ebp
pop ebp
ret