Function at 0x41d61b
Capabilities:
Accept command line arguments
Check os version
Get session user name

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x7d18
call fcn.0040a0e0
lea eax, [ebp - 0x54]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
je 0x41d646
and dword [ebp - 0x54], 0
push dword [ebp - 0x58]
call dword [sym.imp.KERNEL32.dll_LocalFree]
xor eax, eax
jne 0x41d628
mov dword [ebp - 0x458], 0x3e8
mov dword [ebp - 0x460], 0xfa0
lea eax, [ebp - 0x1400]
mov dword [ebp - 0x1408], eax
lea eax, [ebp - 0x450]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x458]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x458]
cdq
push 3
pop ecx
idiv ecx
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x60]
shl eax, 2
mov dword [ebp - 0x45c], eax
cmp dword [ebp - 0x64], 0
je 0x41d6c2
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x45c]
lea eax, [ecx + eax + 1]
mov dword [ebp - 0x45c], eax
mov eax, dword [ebp - 0x45c]
inc eax
mov dword [ebp - 0x45c], eax
mov eax, dword [ebp - 0x45c]
cmp eax, dword [ebp - 0x460]
jle 0x41d6e2
jmp 0x41d847
and dword [ebp - 0x454], 0
jmp 0x41d705
mov eax, dword [ebp - 0x454]
inc eax
mov dword [ebp - 0x454], eax
mov eax, dword [ebp - 0x1408]
inc eax
mov dword [ebp - 0x1408], eax
mov eax, dword [ebp - 0x454]
cmp eax, dword [ebp - 0x60]
jge 0x41d79d
mov dword [ebp - 0x1404], 2
mov byte [ebp - 0x59], 0
jmp 0x41d746
mov eax, dword [ebp - 0x1404]
inc eax
inc eax
mov dword [ebp - 0x1404], eax
mov eax, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x1408]
inc eax
mov dword [ebp - 0x1408], eax
cmp dword [ebp - 0x1404], 5
jge 0x41d789
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0x68]
movsx eax, byte [eax]
and eax, 0x3f
add eax, 0x20
mov ecx, dword [ebp - 0x1408]
mov byte [ecx], al
mov eax, dword [ebp - 0x68]
movsx eax, byte [eax]
and eax, 0xc0
mov ecx, dword [ebp - 0x1404]
sar eax, cl
movzx ecx, byte [ebp - 0x59]
or ecx, eax
mov byte [ebp - 0x59], cl
jmp 0x41d724
movzx eax, byte [ebp - 0x59]
add eax, 0x20
mov ecx, dword [ebp - 0x1408]
mov byte [ecx], al
jmp 0x41d6eb
cmp dword [ebp - 0x64], 0
je 0x41d836
mov dword [ebp - 0x1404], 2
mov byte [ebp - 0x59], 0
jmp 0x41d7d9
mov eax, dword [ebp - 0x1404]
inc eax
inc eax
mov dword [ebp - 0x1404], eax
mov eax, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x1408]
inc eax
mov dword [ebp - 0x1408], eax
mov eax, dword [ebp - 0x64]
lea eax, [eax + eax + 1]
cmp dword [ebp - 0x1404], eax
jge 0x41d81a
mov eax, dword [ebp - 0x68]
movsx eax, byte [eax]
and eax, 0x3f
add eax, 0x20
mov ecx, dword [ebp - 0x1408]
mov byte [ecx], al
mov eax, dword [ebp - 0x68]
movsx eax, byte [eax]
and eax, 0xc0
mov ecx, dword [ebp - 0x1404]
sar eax, cl
movzx ecx, byte [ebp - 0x59]
or ecx, eax
mov byte [ebp - 0x59], cl
jmp 0x41d7b7
movzx eax, byte [ebp - 0x59]
add eax, 0x20
mov ecx, dword [ebp - 0x1408]
mov byte [ecx], al
mov eax, dword [ebp - 0x1408]
inc eax
mov dword [ebp - 0x1408], eax
mov eax, dword [ebp - 0x1408]
mov byte [eax], 0
xor eax, eax
jne 0x41d653
mov dword [ebp - 0x140c], 0xc8
mov dword [ebp - 0x1410], 0x200
lea eax, [ebp - 0x1410]
push eax
lea eax, [ebp - 0x1610]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
mov eax, dword [ebp - 0x140c]
mov ecx, dword [ebp - 0x140c]
inc ecx
mov dword [ebp - 0x140c], ecx
cmp eax, 0xa
jle 0x41d889
jmp 0x41d88e
xor eax, eax
inc eax
jne 0x41d851
xor eax, eax
jne 0x41d847
and dword [ebp - 0x1618], 0
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov dword [ebp - 0x1614], eax
and dword [ebp - 0x1618], 0
jmp 0x41d8bd
mov eax, dword [ebp - 0x1618]
add eax, 0xa
mov dword [ebp - 0x1618], eax
cmp dword [ebp - 0x1618], 0xc8
jge 0x41d8ed
mov eax, dword [ebp - 0x1618]
and eax, 0x80000001
jns 0x41d8db
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0x1614]
movzx eax, word [ecx + eax*2]
test eax, eax
jne 0x41d8eb
jmp 0x41d8ed
jmp 0x41d8ae
xor eax, eax
jne 0x41d892
lea eax, [ebp - 0x1630]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
lea eax, [ebp - 0x1620]
push eax
lea eax, [ebp - 0x1630]
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
xor eax, eax
jne 0x41d8f1
lea eax, [ebp - 0x1748]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
xor eax, eax
jne 0x41d916
mov dword [ebp - 0x4c], 0x64
fld1
fstp qword [ebp - 0x38]
mov dword [ebp - 0x3c], 0x155
mov dword [ebp - 0x28], 0x141
call fcn.004137bf
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x1860]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
xor eax, eax
jne 0x41d949
mov dword [ebp - 0x1c60], 0x3e8
mov dword [ebp - 0x1c68], 0xfa0
lea eax, [ebp - 0x2c08]
mov dword [ebp - 0x2c10], eax
lea eax, [ebp - 0x1c58]
mov dword [ebp - 0x1870], eax
mov eax, dword [ebp - 0x1c60]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [ebp - 0x1868], eax
mov eax, dword [ebp - 0x1c60]
cdq
push 3
pop ecx
idiv ecx
mov dword [ebp - 0x186c], edx
mov eax, dword [ebp - 0x1868]
shl eax, 2
mov dword [ebp - 0x1c64], eax
cmp dword [ebp - 0x186c], 0
je 0x41d9db
mov eax, dword [ebp - 0x186c]
mov ecx, dword [ebp - 0x1c64]
lea eax, [ecx + eax + 1]
mov dword [ebp - 0x1c64], eax
mov eax, dword [ebp - 0x1c64]
inc eax
mov dword [ebp - 0x1c64], eax
mov eax, dword [ebp - 0x1c64]
cmp eax, dword [ebp - 0x1c68]
jle 0x41d9fb
jmp 0x41db99
and dword [ebp - 0x1c5c], 0
jmp 0x41da1e
mov eax, dword [ebp - 0x1c5c]
inc eax
mov dword [ebp - 0x1c5c], eax
mov eax, dword [ebp - 0x2c10]
inc eax
mov dword [ebp - 0x2c10], eax
mov eax, dword [ebp - 0x1c5c]
cmp eax, dword [ebp - 0x1868]
jge 0x41dad1
mov dword [ebp - 0x2c0c], 2
mov byte [ebp - 0x1861], 0
jmp 0x41da6b
mov eax, dword [ebp - 0x2c0c]
inc eax
inc eax
mov dword [ebp - 0x2c0c], eax
mov eax, dword [ebp - 0x1870]
inc eax
mov dword [ebp - 0x1870], eax
mov eax, dword [ebp - 0x2c10]
inc eax
mov dword [ebp - 0x2c10], eax
cmp dword [ebp - 0x2c0c], 5
jge 0x41daba
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0x1870]
movsx eax, byte [eax]
and eax, 0x3f
add eax, 0x20
mov ecx, dword [ebp - 0x2c10]
mov byte [ecx], al
mov eax, dword [ebp - 0x1870]
movsx eax, byte [eax]
and eax, 0xc0
mov ecx, dword [ebp - 0x2c0c]
sar eax, cl
movzx ecx, byte [ebp - 0x1861]
or ecx, eax
mov byte [ebp - 0x1861], cl
jmp 0x41da43
movzx eax, byte [ebp - 0x1861]
add eax, 0x20
mov ecx, dword [ebp - 0x2c10]
mov byte [ecx], al
jmp 0x41da04
cmp dword [ebp - 0x186c], 0
je 0x41db88
mov dword [ebp - 0x2c0c], 2
mov byte [ebp - 0x1861], 0
jmp 0x41db19
mov eax, dword [ebp - 0x2c0c]
inc eax
inc eax
mov dword [ebp - 0x2c0c], eax
mov eax, dword [ebp - 0x1870]
inc eax
mov dword [ebp - 0x1870], eax
mov eax, dword [ebp - 0x2c10]
inc eax
mov dword [ebp - 0x2c10], eax
mov eax, dword [ebp - 0x186c]
lea eax, [eax + eax + 1]
cmp dword [ebp - 0x2c0c], eax
jge 0x41db69
mov eax, dword [ebp - 0x1870]
movsx eax, byte [eax]
and eax, 0x3f
add eax, 0x20
mov ecx, dword [ebp - 0x2c10]
mov byte [ecx], al
mov eax, dword [ebp - 0x1870]
movsx eax, byte [eax]
and eax, 0xc0
mov ecx, dword [ebp - 0x2c0c]
sar eax, cl
movzx ecx, byte [ebp - 0x1861]
or ecx, eax
mov byte [ebp - 0x1861], cl
jmp 0x41daf1
movzx eax, byte [ebp - 0x1861]
add eax, 0x20
mov ecx, dword [ebp - 0x2c10]
mov byte [ecx], al
mov eax, dword [ebp - 0x2c10]
inc eax
mov dword [ebp - 0x2c10], eax
mov eax, dword [ebp - 0x2c10]
mov byte [eax], 0
xor eax, eax
jne 0x41d95a
mov dword [ebp - 0x2c], 1
jmp 0x41dba9
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x28]
jg 0x41e06f
mov dword [ebp - 0x50], 1
jmp 0x41dbc5
mov eax, dword [ebp - 0x50]
inc eax
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x3c]
cdq
push 0x28
pop ecx
idiv ecx
cmp dword [ebp - 0x50], eax
jg 0x41dc34
fild dword [ebp - 0x50]
fidiv dword [ebp - 0x3c]
fsub qword [0x4294f0]
fdiv qword [ebp - 0x38]
fmul qword [0x4294e8]
fsub qword [0x4294e0]
fstp qword [ebp - 0x18]
fild dword [ebp - 0x2c]
fidiv dword [ebp - 0x28]
fsub qword [0x4294f0]
fdiv qword [ebp - 0x38]
fmul qword [0x4294e8]
fstp qword [ebp - 0x48]
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.004137bf
sub eax, dword [ebp - 0x24]
cmp eax, 0xa
jbe 0x41dc28
jmp 0x41dc34
fldz
fstp qword [ebp - 0x10]
fldz
fstp qword [ebp - 8]
jmp 0x41dbbe
call fcn.004137bf
sub eax, dword [ebp - 0x24]
cmp eax, 0xa
jbe 0x41dc46
jmp 0x41e06f
mov dword [ebp - 0x50], 1
jmp 0x41dc56
mov eax, dword [ebp - 0x50]
inc eax
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x3c]
cdq
sub eax, edx
sar eax, 1
cmp dword [ebp - 0x50], eax
jg 0x41e05b
fild dword [ebp - 0x50]
fidiv dword [ebp - 0x3c]
fsub qword [0x4294f0]
fdiv qword [ebp - 0x38]
fmul qword [0x4294e8]
fsub qword [0x4294e0]
fstp qword [ebp - 0x18]
fild dword [ebp - 0x2c]
fidiv dword [ebp - 0x28]
fsub qword [0x4294f0]
fdiv qword [ebp - 0x38]
fmul qword [0x4294e8]
fstp qword [ebp - 0x48]
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
fldz
fstp qword [ebp - 0x10]
fldz
fstp qword [ebp - 8]
mov dword [ebp - 0x30], 1
jmp 0x41dcc7
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x4c]
jge 0x41dd2e
call fcn.004137bf
sub eax, dword [ebp - 0x24]
cmp eax, 0xa
jbe 0x41dcde
jmp 0x41dd2e
fld qword [ebp - 0x10]
fmul qword [ebp - 0x10]
fld qword [ebp - 8]
fmul qword [ebp - 8]
fsubp st(1)
fadd qword [ebp - 0x18]
fstp qword [ebp - 0x20]
fld qword [0x4294d8]
fmul qword [ebp - 0x10]
fmul qword [ebp - 8]
fadd qword [ebp - 0x48]
fstp qword [ebp - 8]
fld qword [ebp - 0x20]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fmul qword [ebp - 0x10]
fld qword [ebp - 8]
fmul qword [ebp - 8]
faddp st(1)
fcomp qword [0x4294d0]
fnstsw ax
test ah, 0x41
jne 0x41dd2c
mov dword [ebp - 0x30], 0x1869f
jmp 0x41dcc0
call fcn.004137bf
sub eax, dword [ebp - 0x24]
cmp eax, 0xa
jbe 0x41dd40
jmp 0x41e05b
lea eax, [ebp - 0x2c28]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
lea eax, [ebp - 0x2c18]
push eax
lea eax, [ebp - 0x2c28]
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
xor eax, eax
jne 0x41dd40
mov dword [ebp - 0x3028], 0x3e8
mov dword [ebp - 0x3030], 0xfa0
lea eax, [ebp - 0x3fd0]
mov dword [ebp - 0x3fd8], eax
lea eax, [ebp - 0x3020]
mov dword [ebp - 0x2c38], eax
mov eax, dword [ebp - 0x3028]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [ebp - 0x2c30], eax
mov eax, dword [ebp - 0x3028]
cdq
push 3
pop ecx
idiv ecx
mov dword [ebp - 0x2c34], edx
mov eax, dword [ebp - 0x2c30]
shl eax, 2
mov dword [ebp - 0x302c], eax
cmp dword [ebp - 0x2c34], 0
je 0x41dde6
mov eax, dword [ebp - 0x2c34]
mov ecx, dword [ebp - 0x302c]
lea eax, [ecx + eax + 1]
mov dword [ebp - 0x302c], eax
mov eax, dword [ebp - 0x302c]
inc eax
mov dword [ebp - 0x302c], eax
mov eax, dword [ebp - 0x302c]
cmp eax, dword [ebp - 0x3030]
jle 0x41de06
jmp 0x41dfa4
and dword [ebp - 0x3024], 0
jmp 0x41de29
mov eax, dword [ebp - 0x3024]
inc eax
mov dword [ebp - 0x3024], eax
mov eax, dword [ebp - 0x3fd8]
inc eax
mov dword [ebp - 0x3fd8], eax
mov eax, dword [ebp - 0x3024]
cmp eax, dword [ebp - 0x2c30]
jge 0x41dedc
mov dword [ebp - 0x3fd4], 2
mov byte [ebp - 0x2c29], 0
jmp 0x41de76
mov eax, dword [ebp - 0x3fd4]
inc eax
inc eax
mov dword [ebp - 0x3fd4], eax
mov eax, dword [ebp - 0x2c38]
inc eax
mov dword [ebp - 0x2c38], eax
mov eax, dword [ebp - 0x3fd8]
inc eax
mov dword [ebp - 0x3fd8], eax
cmp dword [ebp - 0x3fd4], 5
jge 0x41dec5
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0x2c38]
movsx eax, byte [eax]
and eax, 0x3f
add eax, 0x20
mov ecx, dword [ebp - 0x3fd8]
mov byte [ecx], al
mov eax, dword [ebp - 0x2c38]
movsx eax, byte [eax]
and eax, 0xc0
mov ecx, dword [ebp - 0x3fd4]
sar eax, cl
movzx ecx, byte [ebp - 0x2c29]
or ecx, eax
mov byte [ebp - 0x2c29], cl
jmp 0x41de4e
movzx eax, byte [ebp - 0x2c29]
add eax, 0x20
mov ecx, dword [ebp - 0x3fd8]
mov byte [ecx], al
jmp 0x41de0f
cmp dword [ebp - 0x2c34], 0
je 0x41df93
mov dword [ebp - 0x3fd4], 2
mov byte [ebp - 0x2c29], 0
jmp 0x41df24
mov eax, dword [ebp - 0x3fd4]
inc eax
inc eax
mov dword [ebp - 0x3fd4], eax
mov eax, dword [ebp - 0x2c38]
inc eax
mov dword [ebp - 0x2c38], eax
mov eax, dword [ebp - 0x3fd8]
inc eax
mov dword [ebp - 0x3fd8], eax
mov eax, dword [ebp - 0x2c34]
lea eax, [eax + eax + 1]
cmp dword [ebp - 0x3fd4], eax
jge 0x41df74
mov eax, dword [ebp - 0x2c38]
movsx eax, byte [eax]
and eax, 0x3f
add eax, 0x20
mov ecx, dword [ebp - 0x3fd8]
mov byte [ecx], al
mov eax, dword [ebp - 0x2c38]
movsx eax, byte [eax]
and eax, 0xc0
mov ecx, dword [ebp - 0x3fd4]
sar eax, cl
movzx ecx, byte [ebp - 0x2c29]
or ecx, eax
mov byte [ebp - 0x2c29], cl
jmp 0x41defc
movzx eax, byte [ebp - 0x2c29]
add eax, 0x20
mov ecx, dword [ebp - 0x3fd8]
mov byte [ecx], al
mov eax, dword [ebp - 0x3fd8]
inc eax
mov dword [ebp - 0x3fd8], eax
mov eax, dword [ebp - 0x3fd8]
mov byte [eax], 0
xor eax, eax
jne 0x41dd65
mov dword [ebp - 0x3fdc], 1
mov dword [ebp - 0x3fe0], 0x214
lea eax, [ebp - 0x3fe0]
push eax
lea eax, [ebp - 0x41f8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
mov eax, dword [ebp - 0x3fdc]
mov ecx, dword [ebp - 0x3fdc]
inc ecx
mov dword [ebp - 0x3fdc], ecx
cmp eax, 0x19
jle 0x41dfe6
jmp 0x41dfeb
xor eax, eax
inc eax
jne 0x41dfae
xor eax, eax
jne 0x41dfa4
cmp dword [ebp - 0x30], 0x1869f
jge 0x41e054
and dword [ebp - 0x4200], 0
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov dword [ebp - 0x41fc], eax
and dword [ebp - 0x4200], 0
jmp 0x41e021
mov eax, dword [ebp - 0x4200]
inc eax
mov dword [ebp - 0x4200], eax
cmp dword [ebp - 0x4200], 0x14
jge 0x41e04e
mov eax, dword [ebp - 0x4200]
and eax, 0x80000001
jns 0x41e03c
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0x41fc]
movzx eax, word [ecx + eax*2]
test eax, eax
jne 0x41e04c
jmp 0x41e04e
jmp 0x41e014
xor eax, eax
jne 0x41dff8
jmp 0x41e056
jmp 0x41e05b
jmp 0x41dc4f
call fcn.004137bf
sub eax, dword [ebp - 0x24]
cmp eax, 0xa
jbe 0x41e06a
jmp 0x41e06f
jmp 0x41dba2
mov dword [ebp - 0x4204], 1
push 0
call dword [sym.imp.USER32.dll_GetKeyboardType]
cmp eax, 5
jne 0x41e094
mov eax, dword [ebp - 0x4204]
inc eax
inc eax
mov dword [ebp - 0x4204], eax
xor eax, eax
jne 0x41e06f
mov dword [ebp - 0x4608], 0x3e8
mov dword [ebp - 0x4610], 0xfa0
lea eax, [ebp - 0x55b0]
mov dword [ebp - 0x55b8], eax
lea eax, [ebp - 0x4600]
mov dword [ebp - 0x4214], eax
mov eax, dword [ebp - 0x4608]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [ebp - 0x420c], eax
mov eax, dword [ebp - 0x4608]
cdq
push 3
pop ecx
idiv ecx
mov dword [ebp - 0x4210], edx
mov eax, dword [ebp - 0x420c]
shl eax, 2
mov dword [ebp - 0x460c], eax
cmp dword [ebp - 0x4210], 0
je 0x41e119
mov eax, dword [ebp - 0x4210]
mov ecx, dword [ebp - 0x460c]
lea eax, [ecx + eax + 1]
mov dword [ebp - 0x460c], eax
mov eax, dword [ebp - 0x460c]
inc eax
mov dword [ebp - 0x460c], eax
mov eax, dword [ebp - 0x460c]
cmp eax, dword [ebp - 0x4610]
jle 0x41e139
jmp 0x41e2d7
and dword [ebp - 0x4604], 0
jmp 0x41e15c
mov eax, dword [ebp - 0x4604]
inc eax
mov dword [ebp - 0x4604], eax
mov eax, dword [ebp - 0x55b8]
inc eax
mov dword [ebp - 0x55b8], eax
mov eax, dword [ebp - 0x4604]
cmp eax, dword [ebp - 0x420c]
jge 0x41e20f
mov dword [ebp - 0x55b4], 2
mov byte [ebp - 0x4205], 0
jmp 0x41e1a9
mov eax, dword [ebp - 0x55b4]
inc eax
inc eax
mov dword [ebp - 0x55b4], eax
mov eax, dword [ebp - 0x4214]
inc eax
mov dword [ebp - 0x4214], eax
mov eax, dword [ebp - 0x55b8]
inc eax
mov dword [ebp - 0x55b8], eax
cmp dword [ebp - 0x55b4], 5
jge 0x41e1f8
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0x4214]
movsx eax, byte [eax]
and eax, 0x3f
add eax, 0x20
mov ecx, dword [ebp - 0x55b8]
mov byte [ecx], al
mov eax, dword [ebp - 0x4214]
movsx eax, byte [eax]
and eax, 0xc0
mov ecx, dword [ebp - 0x55b4]
sar eax, cl
movzx ecx, byte [ebp - 0x4205]
or ecx, eax
mov byte [ebp - 0x4205], cl
jmp 0x41e181
movzx eax, byte [ebp - 0x4205]
add eax, 0x20
mov ecx, dword [ebp - 0x55b8]
mov byte [ecx], al
jmp 0x41e142
cmp dword [ebp - 0x4210], 0
je 0x41e2c6
mov dword [ebp - 0x55b4], 2
mov byte [ebp - 0x4205], 0
jmp 0x41e257
mov eax, dword [ebp - 0x55b4]
inc eax
inc eax
mov dword [ebp - 0x55b4], eax
mov eax, dword [ebp - 0x4214]
inc eax
mov dword [ebp - 0x4214], eax
mov eax, dword [ebp - 0x55b8]
inc eax
mov dword [ebp - 0x55b8], eax
mov eax, dword [ebp - 0x4210]
lea eax, [eax + eax + 1]
cmp dword [ebp - 0x55b4], eax
jge 0x41e2a7
mov eax, dword [ebp - 0x4214]
movsx eax, byte [eax]
and eax, 0x3f
add eax, 0x20
mov ecx, dword [ebp - 0x55b8]
mov byte [ecx], al
mov eax, dword [ebp - 0x4214]
movsx eax, byte [eax]
and eax, 0xc0
mov ecx, dword [ebp - 0x55b4]
sar eax, cl
movzx ecx, byte [ebp - 0x4205]
or ecx, eax
mov byte [ebp - 0x4205], cl
jmp 0x41e22f
movzx eax, byte [ebp - 0x4205]
add eax, 0x20
mov ecx, dword [ebp - 0x55b8]
mov byte [ecx], al
mov eax, dword [ebp - 0x55b8]
inc eax
mov dword [ebp - 0x55b8], eax
mov eax, dword [ebp - 0x55b8]
mov byte [eax], 0
xor eax, eax
jne 0x41e098
push dword [ebp + 8]
call fcn.00414299
mov ecx, eax
call fcn.00413326
mov dword [ebp - 0x59b8], 0x3e8
mov dword [ebp - 0x59c0], 0xfa0
lea eax, [ebp - 0x6960]
mov dword [ebp - 0x6968], eax
lea eax, [ebp - 0x59b0]
mov dword [ebp - 0x55c8], eax
mov eax, dword [ebp - 0x59b8]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [ebp - 0x55c0], eax
mov eax, dword [ebp - 0x59b8]
cdq
push 3
pop ecx
idiv ecx
mov dword [ebp - 0x55c4], edx
mov eax, dword [ebp - 0x55c0]
shl eax, 2
mov dword [ebp - 0x59bc], eax
cmp dword [ebp - 0x55c4], 0
je 0x41e367
mov eax, dword [ebp - 0x55c4]
mov ecx, dword [ebp - 0x59bc]
lea eax, [ecx + eax + 1]
mov dword [ebp - 0x59bc], eax
mov eax, dword [ebp - 0x59bc]
inc eax
mov dword [ebp - 0x59bc], eax
mov eax, dword [ebp - 0x59bc]
cmp eax, dword [ebp - 0x59c0]
jle 0x41e387
jmp 0x41e525
and dword [ebp - 0x59b4], 0
jmp 0x41e3aa
mov eax, dword [ebp - 0x59b4]
inc eax
mov dword [ebp - 0x59b4], eax
mov eax, dword [ebp - 0x6968]
inc eax
mov dword [ebp - 0x6968], eax
mov eax, dword [ebp - 0x59b4]
cmp eax, dword [ebp - 0x55c0]
jge 0x41e45d
mov dword [ebp - 0x6964], 2
mov byte [ebp - 0x55b9], 0
jmp 0x41e3f7
mov eax, dword [ebp - 0x6964]
inc eax
inc eax
mov dword [ebp - 0x6964], eax
mov eax, dword [ebp - 0x55c8]
inc eax
mov dword [ebp - 0x55c8], eax
mov eax, dword [ebp - 0x6968]
inc eax
mov dword [ebp - 0x6968], eax
cmp dword [ebp - 0x6964], 5
jge 0x41e446
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0x55c8]
movsx eax, byte [eax]
and eax, 0x3f
add eax, 0x20
mov ecx, dword [ebp - 0x6968]
mov byte [ecx], al
mov eax, dword [ebp - 0x55c8]
movsx eax, byte [eax]
and eax, 0xc0
mov ecx, dword [ebp - 0x6964]
sar eax, cl
movzx ecx, byte [ebp - 0x55b9]
or ecx, eax
mov byte [ebp - 0x55b9], cl
jmp 0x41e3cf
movzx eax, byte [ebp - 0x55b9]
add eax, 0x20
mov ecx, dword [ebp - 0x6968]
mov byte [ecx], al
jmp 0x41e390
cmp dword [ebp - 0x55c4], 0
je 0x41e514
mov dword [ebp - 0x6964], 2
mov byte [ebp - 0x55b9], 0
jmp 0x41e4a5
mov eax, dword [ebp - 0x6964]
inc eax
inc eax
mov dword [ebp - 0x6964], eax
mov eax, dword [ebp - 0x55c8]
inc eax
mov dword [ebp - 0x55c8], eax
mov eax, dword [ebp - 0x6968]
inc eax
mov dword [ebp - 0x6968], eax
mov eax, dword [ebp - 0x55c4]
lea eax, [eax + eax + 1]
cmp dword [ebp - 0x6964], eax
jge 0x41e4f5
mov eax, dword [ebp - 0x55c8]
movsx eax, byte [eax]
and eax, 0x3f
add eax, 0x20
mov ecx, dword [ebp - 0x6968]
mov byte [ecx], al
mov eax, dword [ebp - 0x55c8]
movsx eax, byte [eax]
and eax, 0xc0
mov ecx, dword [ebp - 0x6964]
sar eax, cl
movzx ecx, byte [ebp - 0x55b9]
or ecx, eax
mov byte [ebp - 0x55b9], cl
jmp 0x41e47d
movzx eax, byte [ebp - 0x55b9]
add eax, 0x20
mov ecx, dword [ebp - 0x6968]
mov byte [ecx], al
mov eax, dword [ebp - 0x6968]
inc eax
mov dword [ebp - 0x6968], eax
mov eax, dword [ebp - 0x6968]
mov byte [eax], 0
xor eax, eax
jne 0x41e2e6
call fcn.00414299
mov edx, dword [ebp + 0x10]
mov ecx, eax
call fcn.0041d4c0
mov dword [ebp - 0x6d68], 0x3e8
mov dword [ebp - 0x6d70], 0xfa0
lea eax, [ebp - 0x7d10]
mov dword [ebp - 0x7d18], eax
lea eax, [ebp - 0x6d60]
mov dword [ebp - 0x6978], eax
mov eax, dword [ebp - 0x6d68]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [ebp - 0x6970], eax
mov eax, dword [ebp - 0x6d68]
cdq
push 3
pop ecx
idiv ecx
mov dword [ebp - 0x6974], edx
mov eax, dword [ebp - 0x6970]
shl eax, 2
mov dword [ebp - 0x6d6c], eax
cmp dword [ebp - 0x6974], 0
je 0x41e5b5
mov eax, dword [ebp - 0x6974]
mov ecx, dword [ebp - 0x6d6c]
lea eax, [ecx + eax + 1]
mov dword [ebp - 0x6d6c], eax
mov eax, dword [ebp - 0x6d6c]
inc eax
mov dword [ebp - 0x6d6c], eax
mov eax, dword [ebp - 0x6d6c]
cmp eax, dword [ebp - 0x6d70]
jle 0x41e5d5
jmp 0x41e773
and dword [ebp - 0x6d64], 0
jmp 0x41e5f8
mov eax, dword [ebp - 0x6d64]
inc eax
mov dword [ebp - 0x6d64], eax
mov eax, dword [ebp - 0x7d18]
inc eax
mov dword [ebp - 0x7d18], eax
mov eax, dword [ebp - 0x6d64]
cmp eax, dword [ebp - 0x6970]
jge 0x41e6ab
mov dword [ebp - 0x7d14], 2
mov byte [ebp - 0x6969], 0
jmp 0x41e645
mov eax, dword [ebp - 0x7d14]
inc eax
inc eax
mov dword [ebp - 0x7d14], eax
mov eax, dword [ebp - 0x6978]
inc eax
mov dword [ebp - 0x6978], eax
mov eax, dword [ebp - 0x7d18]
inc eax
mov dword [ebp - 0x7d18], eax
cmp dword [ebp - 0x7d14], 5
jge 0x41e694
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0x6978]
movsx eax, byte [eax]
and eax, 0x3f
add eax, 0x20
mov ecx, dword [ebp - 0x7d18]
mov byte [ecx], al
mov eax, dword [ebp - 0x6978]
movsx eax, byte [eax]
and eax, 0xc0
mov ecx, dword [ebp - 0x7d14]
sar eax, cl
movzx ecx, byte [ebp - 0x6969]
or ecx, eax
mov byte [ebp - 0x6969], cl
jmp 0x41e61d
movzx eax, byte [ebp - 0x6969]
add eax, 0x20
mov ecx, dword [ebp - 0x7d18]
mov byte [ecx], al
jmp 0x41e5de
cmp dword [ebp - 0x6974], 0
je 0x41e762
mov dword [ebp - 0x7d14], 2
mov byte [ebp - 0x6969], 0
jmp 0x41e6f3
mov eax, dword [ebp - 0x7d14]
inc eax
inc eax
mov dword [ebp - 0x7d14], eax
mov eax, dword [ebp - 0x6978]
inc eax
mov dword [ebp - 0x6978], eax
mov eax, dword [ebp - 0x7d18]
inc eax
mov dword [ebp - 0x7d18], eax
mov eax, dword [ebp - 0x6974]
lea eax, [eax + eax + 1]
cmp dword [ebp - 0x7d14], eax
jge 0x41e743
mov eax, dword [ebp - 0x6978]
movsx eax, byte [eax]
and eax, 0x3f
add eax, 0x20
mov ecx, dword [ebp - 0x7d18]
mov byte [ecx], al
mov eax, dword [ebp - 0x6978]
movsx eax, byte [eax]
and eax, 0xc0
mov ecx, dword [ebp - 0x7d14]
sar eax, cl
movzx ecx, byte [ebp - 0x6969]
or ecx, eax
mov byte [ebp - 0x6969], cl
jmp 0x41e6cb
movzx eax, byte [ebp - 0x6969]
add eax, 0x20
mov ecx, dword [ebp - 0x7d18]
mov byte [ecx], al
mov eax, dword [ebp - 0x7d18]
inc eax
mov dword [ebp - 0x7d18], eax
mov eax, dword [ebp - 0x7d18]
mov byte [eax], 0
xor eax, eax
jne 0x41e534
xor eax, eax
leave
ret 0x10