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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x5118c0
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x3328
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x34], 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 - 4], 0
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x24], 0
jmp 0x4668d7
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x23
jge 0x466900
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4668f5
mov edx, dword [ebp - 0x20]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4668ce
mov dword [ebp - 4], 0xfffffffe
jmp 0x466920
mov dword [ebp - 0x28], 0
jmp 0x466932
mov edx, dword [ebp - 0x28]
add edx, 1
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x28], 0x2e
jge 0x466970
mov eax, dword [ebp - 0x28]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x466958
mov eax, dword [ebp - 0x28]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x466965
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x28]
mov dword [ebp - 0x1c], edx
jmp 0x46696e
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
jmp 0x466929
mov dword [ebp - 0x2c], 0
jmp 0x466982
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], 0x33
jge 0x4669c6
cmp dword [ebp - 0x1c], 0
jge 0x466996
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 0x4669ac
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x30], 0xfa
lea edx, [ebp - 0x30]
push edx
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x466979
mov dword [ebp - 0x234], 0
jmp 0x4669e1
mov ecx, dword [ebp - 0x234]
add ecx, 1
mov dword [ebp - 0x234], ecx
cmp dword [ebp - 0x234], 0x36
jge 0x4669f8
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x234]
mov dword [ebp - 0x1c], edx
jmp 0x4669d2
cmp dword [ebp - 0x1c], 0
jge 0x466a06
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 0x466a1e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x238], 0
jmp 0x466a39
mov edx, dword [ebp - 0x238]
add edx, 1
mov dword [ebp - 0x238], edx
cmp dword [ebp - 0x238], 0x20
jge 0x466a7a
cmp dword [ebp - 0x1c], 0
jge 0x466a50
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 0x466a66
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x430]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x466a2a
mov eax, 1
test eax, eax
je 0x466ab4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x434], eax
mov eax, dword [ebp - 0x434]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x466aa6
jmp 0x466ab4
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x434]
mov dword [ebp - 0x1c], edx
jmp 0x466a7a
mov eax, dword [ebp - 0x1c]
add eax, 6
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x438], 0
jmp 0x466ad8
mov ecx, dword [ebp - 0x438]
add ecx, 1
mov dword [ebp - 0x438], ecx
cmp dword [ebp - 0x438], 0
jge 0x466b25
mov eax, dword [ebp - 0x438]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x466b07
mov eax, dword [ebp - 0x438]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x466b17
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x438]
mov dword [ebp - 0x1c], edx
jmp 0x466b23
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x438]
mov dword [ebp - 0x1c], eax
jmp 0x466ac9
mov dword [ebp - 0x43c], 0
jmp 0x466b40
mov ecx, dword [ebp - 0x43c]
add ecx, 1
mov dword [ebp - 0x43c], ecx
cmp dword [ebp - 0x43c], 0x1d
jge 0x466b57
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x43c]
mov dword [ebp - 0x1c], edx
jmp 0x466b31
cmp dword [ebp - 0x1c], 0
jge 0x466b65
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 0x466b7d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x440], 0
jmp 0x466b98
mov edx, dword [ebp - 0x440]
add edx, 1
mov dword [ebp - 0x440], edx
cmp dword [ebp - 0x440], 9
jge 0x466be5
cmp dword [ebp - 0x1c], 0
jge 0x466baf
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 0x466bc5
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 0x466b89
mov dword [ebp - 0x644], 0
jmp 0x466c00
mov ecx, dword [ebp - 0x644]
add ecx, 1
mov dword [ebp - 0x644], ecx
cmp dword [ebp - 0x644], 6
jge 0x466c41
cmp dword [ebp - 0x1c], 0
jge 0x466c17
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 0x466c2d
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x840]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x466bf1
mov dword [ebp - 0x844], 0
jmp 0x466c5c
mov eax, dword [ebp - 0x844]
add eax, 1
mov dword [ebp - 0x844], eax
cmp dword [ebp - 0x844], 0xd
jge 0x466ca9
mov eax, dword [ebp - 0x844]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x466c8b
mov eax, dword [ebp - 0x844]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x466c9b
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x844]
mov dword [ebp - 0x1c], edx
jmp 0x466ca7
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x844]
mov dword [ebp - 0x1c], eax
jmp 0x466c4d
mov dword [ebp - 0x848], 0
jmp 0x466cc4
mov ecx, dword [ebp - 0x848]
add ecx, 1
mov dword [ebp - 0x848], ecx
cmp dword [ebp - 0x848], 8
jge 0x466cdb
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x848]
mov dword [ebp - 0x1c], edx
jmp 0x466cb5
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x466ced
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 0x466d05
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x466d3f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x84c], eax
mov eax, dword [ebp - 0x84c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x466d31
jmp 0x466d3f
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x84c]
mov dword [ebp - 0x1c], edx
jmp 0x466d05
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x850], 0
jmp 0x466d63
mov ecx, dword [ebp - 0x850]
add ecx, 1
mov dword [ebp - 0x850], ecx
cmp dword [ebp - 0x850], 0x10
jge 0x466d7a
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x850]
mov dword [ebp - 0x1c], edx
jmp 0x466d54
cmp dword [ebp - 0x1c], 0
jge 0x466d88
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 0x466da0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x854], 0
jmp 0x466dbb
mov edx, dword [ebp - 0x854]
add edx, 1
mov dword [ebp - 0x854], edx
cmp dword [ebp - 0x854], 0xe
jge 0x466dfc
cmp dword [ebp - 0x1c], 0
jge 0x466dd2
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 0x466de8
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa50]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x466dac
mov dword [ebp - 0xa54], 0
jmp 0x466e17
mov eax, dword [ebp - 0xa54]
add eax, 1
mov dword [ebp - 0xa54], eax
cmp dword [ebp - 0xa54], 0
jge 0x466e2e
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0xa54]
mov dword [ebp - 0x1c], ecx
jmp 0x466e08
cmp dword [ebp - 0x1c], 0
jge 0x466e3c
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 0x466e54
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa58], 0
jmp 0x466e6f
mov edx, dword [ebp - 0xa58]
add edx, 1
mov dword [ebp - 0xa58], edx
cmp dword [ebp - 0xa58], 6
jge 0x466ebc
cmp dword [ebp - 0x1c], 0
jge 0x466e86
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 0x466e9c
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa5c], 0xfa
lea edx, [ebp - 0xa5c]
push edx
lea eax, [ebp - 0xc58]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x466e60
mov dword [ebp - 0xc5c], 0
jmp 0x466ed7
mov ecx, dword [ebp - 0xc5c]
add ecx, 1
mov dword [ebp - 0xc5c], ecx
cmp dword [ebp - 0xc5c], 1
jge 0x466eee
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc5c]
mov dword [ebp - 0x1c], edx
jmp 0x466ec8
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x466f00
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 0x466f18
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc60], 0
jmp 0x466f33
mov edx, dword [ebp - 0xc60]
add edx, 1
mov dword [ebp - 0xc60], edx
cmp dword [ebp - 0xc60], 1
jge 0x466f4a
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xc60]
mov dword [ebp - 0x1c], eax
jmp 0x466f24
cmp dword [ebp - 0x1c], 0
jge 0x466f58
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 0x466f70
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc64], 0
jmp 0x466f8b
mov edx, dword [ebp - 0xc64]
add edx, 1
mov dword [ebp - 0xc64], edx
cmp dword [ebp - 0xc64], 4
jge 0x466fd8
cmp dword [ebp - 0x1c], 0
jge 0x466fa2
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 0x466fb8
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc68], 0xfa
lea edx, [ebp - 0xc68]
push edx
lea eax, [ebp - 0xe60]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x466f7c
mov dword [ebp - 0xe64], 0
jmp 0x466ff3
mov ecx, dword [ebp - 0xe64]
add ecx, 1
mov dword [ebp - 0xe64], ecx
cmp dword [ebp - 0xe64], 8
jge 0x46700a
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe64]
mov dword [ebp - 0x1c], edx
jmp 0x466fe4
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x46701c
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 0x467034
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe68], 0
jmp 0x46704f
mov edx, dword [ebp - 0xe68]
add edx, 1
mov dword [ebp - 0xe68], edx
cmp dword [ebp - 0xe68], 0
jge 0x467090
cmp dword [ebp - 0x1c], 0
jge 0x467066
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 0x46707c
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1060]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x467040
mov dword [ebp - 0x1064], 0
jmp 0x4670ab
mov eax, dword [ebp - 0x1064]
add eax, 1
mov dword [ebp - 0x1064], eax
cmp dword [ebp - 0x1064], 0xe
jge 0x4670f8
mov eax, dword [ebp - 0x1064]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4670da
mov eax, dword [ebp - 0x1064]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4670ea
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1064]
mov dword [ebp - 0x1c], edx
jmp 0x4670f6
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1064]
mov dword [ebp - 0x1c], eax
jmp 0x46709c
mov dword [ebp - 0x1068], 0
jmp 0x467113
mov ecx, dword [ebp - 0x1068]
add ecx, 1
mov dword [ebp - 0x1068], ecx
cmp dword [ebp - 0x1068], 2
jge 0x467160
mov eax, dword [ebp - 0x1068]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x467142
mov eax, dword [ebp - 0x1068]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x467152
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1068]
mov dword [ebp - 0x1c], edx
jmp 0x46715e
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1068]
mov dword [ebp - 0x1c], eax
jmp 0x467104
mov dword [ebp - 0x106c], 0
jmp 0x46717b
mov ecx, dword [ebp - 0x106c]
add ecx, 1
mov dword [ebp - 0x106c], ecx
cmp dword [ebp - 0x106c], 8
jge 0x467192
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x106c]
mov dword [ebp - 0x1c], edx
jmp 0x46716c
cmp dword [ebp - 0x1c], 0
jge 0x4671a0
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 0x4671b8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1070], 0
jmp 0x4671d3
mov edx, dword [ebp - 0x1070]
add edx, 1
mov dword [ebp - 0x1070], edx
cmp dword [ebp - 0x1070], 4
jge 0x467220
cmp dword [ebp - 0x1c], 0
jge 0x4671ea
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 0x467200
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1074], 0xfa
lea edx, [ebp - 0x1074]
push edx
lea eax, [ebp - 0x1270]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4671c4
mov dword [ebp - 4], 1
mov dword [ebp - 0x1274], 0xffffffff
mov dword [ebp - 0x1278], 0
jmp 0x46724c
mov ecx, dword [ebp - 0x1278]
add ecx, 1
mov dword [ebp - 0x1278], ecx
cmp dword [ebp - 0x1278], 4
jge 0x46727e
mov eax, dword [ebp - 0x1278]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x467273
mov edx, dword [ebp - 0x1274]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x46723d
mov dword [ebp - 4], 0xfffffffe
jmp 0x46729e
mov dword [ebp - 0x127c], 0
jmp 0x4672b9
mov edx, dword [ebp - 0x127c]
add edx, 1
mov dword [ebp - 0x127c], edx
cmp dword [ebp - 0x127c], 8
jge 0x4672d0
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x127c]
mov dword [ebp - 0x1c], eax
jmp 0x4672aa
cmp dword [ebp - 0x1c], 0
jge 0x4672de
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 0x4672f6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1280], 0
jmp 0x467311
mov edx, dword [ebp - 0x1280]
add edx, 1
mov dword [ebp - 0x1280], edx
cmp dword [ebp - 0x1280], 3
jge 0x467328
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1280]
mov dword [ebp - 0x1c], eax
jmp 0x467302
cmp dword [ebp - 0x1c], 0
jge 0x467336
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 0x46734e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1284], 0
jmp 0x467369
mov edx, dword [ebp - 0x1284]
add edx, 1
mov dword [ebp - 0x1284], edx
cmp dword [ebp - 0x1284], 8
jge 0x467380
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1284]
mov dword [ebp - 0x1c], eax
jmp 0x46735a
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x467392
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 0x4673aa
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4673e4
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 0x4673d6
jmp 0x4673e4
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1288]
mov dword [ebp - 0x1c], edx
jmp 0x4673aa
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0x128c], 0xffffffff
mov dword [ebp - 0x1290], 0
jmp 0x467419
mov ecx, dword [ebp - 0x1290]
add ecx, 1
mov dword [ebp - 0x1290], ecx
cmp dword [ebp - 0x1290], 5
jge 0x46744b
mov eax, dword [ebp - 0x1290]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x467440
mov edx, dword [ebp - 0x128c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x46740a
mov dword [ebp - 4], 0xfffffffe
jmp 0x46746b
mov dword [ebp - 0x1294], 0
jmp 0x467486
mov edx, dword [ebp - 0x1294]
add edx, 1
mov dword [ebp - 0x1294], edx
cmp dword [ebp - 0x1294], 0
jge 0x46749d
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1294]
mov dword [ebp - 0x1c], eax
jmp 0x467477
cmp dword [ebp - 0x1c], 0
jge 0x4674ab
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 0x4674c3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1298], 0
jmp 0x4674de
mov edx, dword [ebp - 0x1298]
add edx, 1
mov dword [ebp - 0x1298], edx
cmp dword [ebp - 0x1298], 2
jge 0x4674f5
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1298]
mov dword [ebp - 0x1c], eax
jmp 0x4674cf
cmp dword [ebp - 0x1c], 0
jge 0x467503
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 0x46751b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x129c], 0
jmp 0x467536
mov edx, dword [ebp - 0x129c]
add edx, 1
mov dword [ebp - 0x129c], edx
cmp dword [ebp - 0x129c], 8
jge 0x467583
mov eax, dword [ebp - 0x129c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x467565
mov eax, dword [ebp - 0x129c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x467575
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x129c]
mov dword [ebp - 0x1c], edx
jmp 0x467581
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x129c]
mov dword [ebp - 0x1c], eax
jmp 0x467527
mov ecx, 1
test ecx, ecx
je 0x4675bd
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x12a0], eax
mov eax, dword [ebp - 0x12a0]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4675af
jmp 0x4675bd
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x12a0]
mov dword [ebp - 0x1c], edx
jmp 0x467583
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12a4], 0
jmp 0x4675e1
mov ecx, dword [ebp - 0x12a4]
add ecx, 1
mov dword [ebp - 0x12a4], ecx
cmp dword [ebp - 0x12a4], 0
jge 0x4675f8
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x12a4]
mov dword [ebp - 0x1c], edx
jmp 0x4675d2
cmp dword [ebp - 0x1c], 0
jge 0x467606
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 0x46761e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12a8], 0
jmp 0x467639
mov edx, dword [ebp - 0x12a8]
add edx, 1
mov dword [ebp - 0x12a8], edx
cmp dword [ebp - 0x12a8], 5
jge 0x467650
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x12a8]
mov dword [ebp - 0x1c], eax
jmp 0x46762a
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x467662
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 0x46767a
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 3
mov dword [ebp - 0x12ac], 0xffffffff
mov dword [ebp - 0x12b0], 0
jmp 0x4676a6
mov edx, dword [ebp - 0x12b0]
add edx, 1
mov dword [ebp - 0x12b0], edx
cmp dword [ebp - 0x12b0], 8
jge 0x4676d8
mov eax, dword [ebp - 0x12b0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4676cd
mov edx, dword [ebp - 0x12ac]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x467697
mov dword [ebp - 4], 0xfffffffe
jmp 0x4676f8
mov dword [ebp - 4], 4
mov dword [ebp - 0x12b4], 0xffffffff
mov dword [ebp - 0x12b8], 0
jmp 0x467724
mov edx, dword [ebp - 0x12b8]
add edx, 1
mov dword [ebp - 0x12b8], edx
cmp dword [ebp - 0x12b8], 7
jge 0x467756
mov eax, dword [ebp - 0x12b8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x46774b
mov edx, dword [ebp - 0x12b4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x467715
mov dword [ebp - 4], 0xfffffffe
jmp 0x467776
mov dword [ebp - 4], 5
mov dword [ebp - 0x12bc], 0xffffffff
mov dword [ebp - 0x12c0], 0
jmp 0x4677a2
mov edx, dword [ebp - 0x12c0]
add edx, 1
mov dword [ebp - 0x12c0], edx
cmp dword [ebp - 0x12c0], 7
jge 0x4677d4
mov eax, dword [ebp - 0x12c0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4677c9
mov edx, dword [ebp - 0x12bc]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x467793
mov dword [ebp - 4], 0xfffffffe
jmp 0x4677f4
mov edx, 1
test edx, edx
je 0x46782e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x12c4], eax
mov eax, dword [ebp - 0x12c4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x467820
jmp 0x46782e
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x12c4]
mov dword [ebp - 0x1c], edx
jmp 0x4677f4
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 6
mov dword [ebp - 0x12c8], 0xffffffff
mov dword [ebp - 0x12cc], 0
jmp 0x467860
mov ecx, dword [ebp - 0x12cc]
add ecx, 1
mov dword [ebp - 0x12cc], ecx
cmp dword [ebp - 0x12cc], 4
jge 0x467892
mov eax, dword [ebp - 0x12cc]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x467887
mov edx, dword [ebp - 0x12c8]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x467851
mov dword [ebp - 4], 0xfffffffe
jmp 0x4678b2
mov dword [ebp - 4], 7
mov dword [ebp - 0x12d0], 0xffffffff
mov dword [ebp - 0x12d4], 0
jmp 0x4678de
mov edx, dword [ebp - 0x12d4]
add edx, 1
mov dword [ebp - 0x12d4], edx
cmp dword [ebp - 0x12d4], 3
jge 0x467910
mov eax, dword [ebp - 0x12d4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x467905
mov edx, dword [ebp - 0x12d0]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4678cf
mov dword [ebp - 4], 0xfffffffe
jmp 0x467930
mov dword [ebp - 4], 8
mov dword [ebp - 0x12d8], 0xffffffff
mov dword [ebp - 0x12dc], 0
jmp 0x46795c
mov edx, dword [ebp - 0x12dc]
add edx, 1
mov dword [ebp - 0x12dc], edx
cmp dword [ebp - 0x12dc], 3
jge 0x46798e
mov eax, dword [ebp - 0x12dc]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x467983
mov edx, dword [ebp - 0x12d8]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x46794d
mov dword [ebp - 4], 0xfffffffe
jmp 0x4679ae
mov dword [ebp - 4], 9
mov dword [ebp - 0x12e0], 0xffffffff
mov dword [ebp - 0x12e4], 0
jmp 0x4679da
cmp dword [ebp - 0x12e4], 1
jge 0x467a0c
mov eax, dword [ebp - 0x12e4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x467a01
mov dword [ebp - 4], 0xfffffffe
jmp 0x467a2c