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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x514c20
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x1098
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x3c], 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 0x501e48
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 0x501e3d
jmp 0x501e48
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x501e17
mov eax, dword [ebp - 0x1c]
add eax, 0x3b
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x28], 0
jmp 0x501e71
mov ecx, dword [ebp - 0x28]
add ecx, 1
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], 0x12
jge 0x501e9a
mov eax, dword [ebp - 0x28]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x501e8f
mov edx, dword [ebp - 0x24]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x501e68
mov dword [ebp - 4], 0xfffffffe
jmp 0x501eba
mov dword [ebp - 4], 1
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x30], 0
jmp 0x501eda
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x30], 0x31
jge 0x501f03
mov eax, dword [ebp - 0x30]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x501ef8
mov edx, dword [ebp - 0x2c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x501ed1
mov dword [ebp - 4], 0xfffffffe
jmp 0x501f23
mov dword [ebp - 0x34], 0
jmp 0x501f35
mov edx, dword [ebp - 0x34]
add edx, 1
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x34], 3
jge 0x501f79
cmp dword [ebp - 0x1c], 0
jge 0x501f49
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 0x501f5f
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x38], 0xfa
lea edx, [ebp - 0x38]
push edx
lea eax, [ebp - 0x238]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x501f2c
mov dword [ebp - 0x23c], 0
jmp 0x501f94
mov ecx, dword [ebp - 0x23c]
add ecx, 1
mov dword [ebp - 0x23c], ecx
cmp dword [ebp - 0x23c], 1
jge 0x501fab
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x23c]
mov dword [ebp - 0x1c], edx
jmp 0x501f85
cmp dword [ebp - 0x1c], 0
jge 0x501fb9
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 0x501fd1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0x240], 0xffffffff
mov dword [ebp - 0x244], 0
jmp 0x501ffd
mov edx, dword [ebp - 0x244]
add edx, 1
mov dword [ebp - 0x244], edx
cmp dword [ebp - 0x244], 0x19
jge 0x50202f
mov eax, dword [ebp - 0x244]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x502024
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 0x501fee
mov dword [ebp - 4], 0xfffffffe
jmp 0x50204f
mov dword [ebp - 0x248], 0
jmp 0x50206a
mov edx, dword [ebp - 0x248]
add edx, 1
mov dword [ebp - 0x248], edx
cmp dword [ebp - 0x248], 0x1f
jge 0x502081
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x248]
mov dword [ebp - 0x1c], eax
jmp 0x50205b
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x502093
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 0x5020ab
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24c], 0
jmp 0x5020c6
mov edx, dword [ebp - 0x24c]
add edx, 1
mov dword [ebp - 0x24c], edx
cmp dword [ebp - 0x24c], 5
jge 0x5020dd
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x24c]
mov dword [ebp - 0x1c], eax
jmp 0x5020b7
cmp dword [ebp - 0x1c], 0
jge 0x5020eb
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 0x502103
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x250], 0
jmp 0x50211e
mov edx, dword [ebp - 0x250]
add edx, 1
mov dword [ebp - 0x250], edx
cmp dword [ebp - 0x250], 0xe
jge 0x50216b
mov eax, dword [ebp - 0x250]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x50214d
mov eax, dword [ebp - 0x250]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x50215d
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x250]
mov dword [ebp - 0x1c], edx
jmp 0x502169
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x250]
mov dword [ebp - 0x1c], eax
jmp 0x50210f
mov dword [ebp - 0x254], 0
jmp 0x502186
mov ecx, dword [ebp - 0x254]
add ecx, 1
mov dword [ebp - 0x254], ecx
cmp dword [ebp - 0x254], 0x19
jge 0x5021d3
cmp dword [ebp - 0x1c], 0
jge 0x50219d
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 0x5021b3
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x258], 0xfa
lea edx, [ebp - 0x258]
push edx
lea eax, [ebp - 0x450]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x502177
mov ecx, 1
test ecx, ecx
je 0x50220d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x454], eax
mov eax, dword [ebp - 0x454]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x5021ff
jmp 0x50220d
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x454]
mov dword [ebp - 0x1c], edx
jmp 0x5021d3
mov eax, dword [ebp - 0x1c]
add eax, 0x19
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x458], 0
jmp 0x502231
mov ecx, dword [ebp - 0x458]
add ecx, 1
mov dword [ebp - 0x458], ecx
cmp dword [ebp - 0x458], 0xa
jge 0x502272
cmp dword [ebp - 0x1c], 0
jge 0x502248
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 0x50225e
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x650]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x502222
mov dword [ebp - 0x654], 0
jmp 0x50228d
mov eax, dword [ebp - 0x654]
add eax, 1
mov dword [ebp - 0x654], eax
cmp dword [ebp - 0x654], 3
jge 0x5022da
mov eax, dword [ebp - 0x654]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x5022bc
mov eax, dword [ebp - 0x654]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x5022cc
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x654]
mov dword [ebp - 0x1c], edx
jmp 0x5022d8
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x654]
mov dword [ebp - 0x1c], eax
jmp 0x50227e
mov dword [ebp - 4], 3
mov dword [ebp - 0x658], 0xffffffff
mov dword [ebp - 0x65c], 0
jmp 0x502306
mov ecx, dword [ebp - 0x65c]
add ecx, 1
mov dword [ebp - 0x65c], ecx
cmp dword [ebp - 0x65c], 5
jge 0x502338
mov eax, dword [ebp - 0x65c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x50232d
mov edx, dword [ebp - 0x658]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x5022f7
mov dword [ebp - 4], 0xfffffffe
jmp 0x502358
mov dword [ebp - 0x660], 0
jmp 0x502373
mov edx, dword [ebp - 0x660]
add edx, 1
mov dword [ebp - 0x660], edx
cmp dword [ebp - 0x660], 0xd
jge 0x5023b4
cmp dword [ebp - 0x1c], 0
jge 0x50238a
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 0x5023a0
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x858]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x502364
mov dword [ebp - 0x85c], 0
jmp 0x5023cf
mov eax, dword [ebp - 0x85c]
add eax, 1
mov dword [ebp - 0x85c], eax
cmp dword [ebp - 0x85c], 5
jge 0x50241c
mov eax, dword [ebp - 0x85c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x5023fe
mov eax, dword [ebp - 0x85c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x50240e
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x85c]
mov dword [ebp - 0x1c], edx
jmp 0x50241a
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x85c]
mov dword [ebp - 0x1c], eax
jmp 0x5023c0
mov dword [ebp - 0x860], 0
jmp 0x502437
mov ecx, dword [ebp - 0x860]
add ecx, 1
mov dword [ebp - 0x860], ecx
cmp dword [ebp - 0x860], 1
jge 0x502484
cmp dword [ebp - 0x1c], 0
jge 0x50244e
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 0x502464
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x864], 0xfa
lea edx, [ebp - 0x864]
push edx
lea eax, [ebp - 0xa60]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x502428
mov ecx, 1
test ecx, ecx
je 0x5024be
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa64], eax
mov eax, dword [ebp - 0xa64]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x5024b0
jmp 0x5024be
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xa64]
mov dword [ebp - 0x1c], edx
jmp 0x502484
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x502501
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa68], eax
mov eax, dword [ebp - 0xa68]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x5024f3
jmp 0x502501
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xa68]
mov dword [ebp - 0x1c], edx
jmp 0x5024c7
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa6c], 0
jmp 0x502525
mov ecx, dword [ebp - 0xa6c]
add ecx, 1
mov dword [ebp - 0xa6c], ecx
cmp dword [ebp - 0xa6c], 1
jge 0x502566
cmp dword [ebp - 0x1c], 0
jge 0x50253c
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 0x502552
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc68]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x502516
mov eax, 1
test eax, eax
je 0x5025a0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc6c], eax
mov eax, dword [ebp - 0xc6c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x502592
jmp 0x5025a0
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xc6c]
mov dword [ebp - 0x1c], edx
jmp 0x502566
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc70], 0
jmp 0x5025c4
mov ecx, dword [ebp - 0xc70]
add ecx, 1
mov dword [ebp - 0xc70], ecx
cmp dword [ebp - 0xc70], 6
jge 0x502611
mov eax, dword [ebp - 0xc70]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x5025f3
mov eax, dword [ebp - 0xc70]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x502603
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc70]
mov dword [ebp - 0x1c], edx
jmp 0x50260f
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xc70]
mov dword [ebp - 0x1c], eax
jmp 0x5025b5
mov dword [ebp - 0xc74], 0
jmp 0x50262c
mov ecx, dword [ebp - 0xc74]
add ecx, 1
mov dword [ebp - 0xc74], ecx
cmp dword [ebp - 0xc74], 6
jge 0x502643
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc74]
mov dword [ebp - 0x1c], edx
jmp 0x50261d
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x502655
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 0x50266d
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc78], 0
jmp 0x502688
mov edx, dword [ebp - 0xc78]
add edx, 1
mov dword [ebp - 0xc78], edx
cmp dword [ebp - 0xc78], 1
jge 0x50269f
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xc78]
mov dword [ebp - 0x1c], eax
jmp 0x502679
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x5026b1
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 0x5026c9
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc7c], 0
jmp 0x5026e4
mov edx, dword [ebp - 0xc7c]
add edx, 1
mov dword [ebp - 0xc7c], edx
cmp dword [ebp - 0xc7c], 7
jge 0x5026fb
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xc7c]
mov dword [ebp - 0x1c], eax
jmp 0x5026d5
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x50270d
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 0x502725
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc80], 0
jmp 0x502740
mov edx, dword [ebp - 0xc80]
add edx, 1
mov dword [ebp - 0xc80], edx
cmp dword [ebp - 0xc80], 0
jge 0x50278d
mov eax, dword [ebp - 0xc80]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x50276f
mov eax, dword [ebp - 0xc80]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x50277f
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc80]
mov dword [ebp - 0x1c], edx
jmp 0x50278b
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xc80]
mov dword [ebp - 0x1c], eax
jmp 0x502731
mov dword [ebp - 4], 4
mov dword [ebp - 0xc84], 0xffffffff
mov dword [ebp - 0xc88], 0
jmp 0x5027b9
mov ecx, dword [ebp - 0xc88]
add ecx, 1
mov dword [ebp - 0xc88], ecx
cmp dword [ebp - 0xc88], 0
jge 0x5027eb
mov eax, dword [ebp - 0xc88]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x5027e0
mov edx, dword [ebp - 0xc84]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x5027aa
mov dword [ebp - 4], 0xfffffffe
jmp 0x50280b
mov dword [ebp - 0xc8c], 0
jmp 0x502826
mov edx, dword [ebp - 0xc8c]
add edx, 1
mov dword [ebp - 0xc8c], edx
cmp dword [ebp - 0xc8c], 1
jge 0x50283d
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xc8c]
mov dword [ebp - 0x1c], eax
jmp 0x502817
cmp dword [ebp - 0x1c], 0
jge 0x50284b
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 0x502863
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x50289d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc90], eax
mov eax, dword [ebp - 0xc90]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x50288f
jmp 0x50289d
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xc90]
mov dword [ebp - 0x1c], edx
jmp 0x502863
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 5
mov dword [ebp - 0xc94], 0xffffffff
mov dword [ebp - 0xc98], 0
jmp 0x5028d2
mov ecx, dword [ebp - 0xc98]
add ecx, 1
mov dword [ebp - 0xc98], ecx
cmp dword [ebp - 0xc98], 3
jge 0x502904
mov eax, dword [ebp - 0xc98]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x5028f9
mov edx, dword [ebp - 0xc94]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x5028c3
mov dword [ebp - 4], 0xfffffffe
jmp 0x502924
mov dword [ebp - 0xc9c], 0
jmp 0x50293f
mov edx, dword [ebp - 0xc9c]
add edx, 1
mov dword [ebp - 0xc9c], edx
cmp dword [ebp - 0xc9c], 4
jge 0x502956
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xc9c]
mov dword [ebp - 0x1c], eax
jmp 0x502930
cmp dword [ebp - 0x1c], 0
jge 0x502964
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 0x50297c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xca0], 0
jmp 0x502997
mov edx, dword [ebp - 0xca0]
add edx, 1
mov dword [ebp - 0xca0], edx
cmp dword [ebp - 0xca0], 2
jge 0x5029ae
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xca0]
mov dword [ebp - 0x1c], eax
jmp 0x502988
cmp dword [ebp - 0x1c], 0
jge 0x5029bc
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 0x5029d4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xca4], 0
jmp 0x5029ef
mov edx, dword [ebp - 0xca4]
add edx, 1
mov dword [ebp - 0xca4], edx
cmp dword [ebp - 0xca4], 1
jge 0x502a3c
mov eax, dword [ebp - 0xca4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x502a1e
mov eax, dword [ebp - 0xca4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x502a2e
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xca4]
mov dword [ebp - 0x1c], edx
jmp 0x502a3a
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xca4]
mov dword [ebp - 0x1c], eax
jmp 0x5029e0
mov dword [ebp - 0xca8], 0
jmp 0x502a57
mov ecx, dword [ebp - 0xca8]
add ecx, 1
mov dword [ebp - 0xca8], ecx
cmp dword [ebp - 0xca8], 1
jge 0x502aa4
cmp dword [ebp - 0x1c], 0
jge 0x502a6e
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 0x502a84
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xcac], 0xfa
lea edx, [ebp - 0xcac]
push edx
lea eax, [ebp - 0xea8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x502a48
mov dword [ebp - 0xeac], 0
jmp 0x502abf
mov ecx, dword [ebp - 0xeac]
add ecx, 1
mov dword [ebp - 0xeac], ecx
cmp dword [ebp - 0xeac], 0
jge 0x502ad6
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xeac]
mov dword [ebp - 0x1c], edx
jmp 0x502ab0
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x502ae8
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 0x502b00
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xeb0], 0
jmp 0x502b1b
mov edx, dword [ebp - 0xeb0]
add edx, 1
mov dword [ebp - 0xeb0], edx
cmp dword [ebp - 0xeb0], 1
jge 0x502b68
mov eax, dword [ebp - 0xeb0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x502b4a
mov eax, dword [ebp - 0xeb0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x502b5a
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xeb0]
mov dword [ebp - 0x1c], edx
jmp 0x502b66
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xeb0]
mov dword [ebp - 0x1c], eax
jmp 0x502b0c
mov dword [ebp - 0xeb4], 0
jmp 0x502b83
mov ecx, dword [ebp - 0xeb4]
add ecx, 1
mov dword [ebp - 0xeb4], ecx
cmp dword [ebp - 0xeb4], 2
jge 0x502bd0
mov eax, dword [ebp - 0xeb4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x502bb2
mov eax, dword [ebp - 0xeb4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x502bc2
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xeb4]
mov dword [ebp - 0x1c], edx
jmp 0x502bce
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xeb4]
mov dword [ebp - 0x1c], eax
jmp 0x502b74
mov dword [ebp - 0xeb8], 0
jmp 0x502beb
mov ecx, dword [ebp - 0xeb8]
add ecx, 1
mov dword [ebp - 0xeb8], ecx
cmp dword [ebp - 0xeb8], 0
jge 0x502c2c
cmp dword [ebp - 0x1c], 0
jge 0x502c02
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 0x502c18
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x10b0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x502bdc
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 - 0x3c]
xor ecx, ebp
call fcn.004079a5
mov esp, ebp
pop ebp
ret