Function at 0x10051fe0
Capabilities:
Check for time delay via gettickcount
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1012ee0c
mov eax, dword fs:[0]
push eax
sub esp, 0x70
mov eax, dword [0x1014a018]
xor eax, esp
mov dword [esp + 0x68], eax
push ebx
push esi
push edi
mov eax, dword [0x1014a018]
xor eax, esp
push eax
lea eax, [esp + 0x80]
mov dword fs:[0], eax
cmp byte [0x118c6d21], 0
je 0x10052bae
cmp dword [0x10a7213c], 0
jne 0x1005210d
push 4
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
mov esi, eax
add esp, 4
mov dword [esp + 0x14], esi
mov dword [esp + 0x88], 0
test esi, esi
je 0x1005206e
push 0xa8
call fcn.1012baac
add esp, 4
mov edx, 0x48a410
mov ecx, eax
mov dword [esi], eax
call edx
jmp 0x10052070
xor esi, esi
mov dword [esp + 0x88], 0xffffffff
fild dword [0xe61e58]
mov eax, dword [0x10a88b90]
lea eax, [eax + eax*4]
fdiv dword [0xe7c3d4]
add eax, eax
mov dword [esp + 0x14], eax
mov dword [0x10a7213c], esi
fmul qword [0x1013f510]
fsub qword [0x1013fac0]
fstp dword [0x10a8973c]
fld dword [0x10150fa8]
fstp dword [0x10a89740]
fild dword [esp + 0x14]
fadd qword [0x1013f7b0]
call fcn.1012e5b0
fld dword [0x10a8973c]
mov edi, eax
call fcn.1012e5b0
mov ecx, dword [esi]
push 0xb
mov edx, 0x4050f0
mov ebx, eax
call edx
mov ecx, dword [esi]
push 0
push 0x10135e76
mov eax, 0x48a5b0
call eax
mov ecx, dword [esi]
push 0x14
push ebx
mov edx, 0x417ec0
call edx
mov ecx, dword [esi]
push edi
push 0xbe
mov eax, 0x417ee0
call eax
mov eax, dword [0x10a88b90]
lea ecx, [eax + eax*4]
add ecx, ecx
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fadd qword [0x1013f7b0]
call fcn.1012e5b0
push eax
mov eax, dword [0x10a7213c]
mov ecx, dword [eax]
push 0xbe
mov edx, 0x417ee0
call edx
mov eax, dword [0x10a7213c]
mov ecx, dword [eax]
mov edx, 0x42d170
call edx
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
mov eax, dword [0x10a7213c]
mov edx, 0x42d190
fstp dword [0x10a8973c]
mov ecx, dword [eax]
call edx
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
push 3
mov ecx, 0x861110
fstp dword [0x10a89740]
fld dword [0x10a8973c]
fstp dword [esp + 0x20]
fld dword [0x10a89740]
fstp dword [esp + 0x24]
call ecx
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x10052bae
push 6
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x10052bae
push 7
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x10052bae
push 8
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x10052bae
push 9
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x10052bae
push 0xa
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x10052bae
push 0xb
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x10052bae
push 0xc
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x10052bae
push 0xe
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x10052bae
push 0xf
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x10052bae
push 0x22
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x10052bae
push 0x39
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x10052bae
push 0x3f
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x10052bae
push 0x41
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x10052bae
push 0x48
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x10052bae
push 0x49
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x10052bae
push 0x4a
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x10052bae
push 0x4b
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x10052bae
push 0x4d
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x10052bae
push 0x4e
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x10052bae
push 0x4f
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x10052bae
push 4
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x10052bae
push 5
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x10052bae
push 0x13
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x10052bae
push 0x16
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x10052bae
push 0x19
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x10052bae
push 0x3b
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x10052bae
push 0x3c
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x10052bae
push 0x3d
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x10052bae
push 0x14
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x10052bae
mov eax, dword [0x10a88848]
cmp byte [eax + 0x29], 0
jne 0x10052bae
cmp dword [0x10234a28], 3
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
jb 0x10052702
mov eax, dword [0x10a88b90]
fldz
push 0xc8000000
sub esp, 0x18
fst dword [esp + 0x14]
lea ecx, [eax + eax*4]
fstp dword [esp + 0x10]
add ecx, ecx
mov dword [esp + 0x30], ecx
fild dword [esp + 0x30]
mov edx, 0x790f20
fadd qword [0x1013f7b0]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fstp dword [esp + 0xc]
fld dword [0x1013f7d8]
fstp dword [esp + 8]
fld dword [esp + 0x3c]
fstp dword [esp + 4]
fld dword [esp + 0x38]
fstp dword [esp]
push 0x7980
call edx
fld dword [esp + 0x3c]
fadd qword [0x1013f6c0]
add esp, 0x20
push 0xff0089f2
sub esp, 0x18
fstp dword [esp + 0x34]
mov eax, 0x790f20
fldz
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x1013f5cc]
fstp dword [esp + 0xc]
fld dword [0x1013fd20]
fstp dword [esp + 8]
fld dword [esp + 0x3c]
fadd qword [0x1013f578]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fstp dword [esp + 4]
fld dword [esp + 0x34]
fstp dword [esp]
push 0x7980
call eax
fldz
add esp, 0x20
push 0xff0089f2
sub esp, 0x18
fst dword [esp + 0x14]
mov ecx, 0x790f20
fstp dword [esp + 0x10]
fld dword [0x1013f5cc]
fstp dword [esp + 0xc]
fld dword [0x1013fd20]
fstp dword [esp + 8]
fld dword [esp + 0x3c]
fadd qword [0x1013fcb8]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fstp dword [esp + 4]
fld dword [esp + 0x34]
fstp dword [esp]
push 0x7980
call ecx
fldz
mov eax, dword [0x10a88b90]
add esp, 0x20
push 0xff0089f2
sub esp, 0x18
fst dword [esp + 0x14]
lea edx, [eax + eax*4]
fstp dword [esp + 0x10]
add edx, edx
fld dword [0x1013f5cc]
mov dword [esp + 0x30], edx
fstp dword [esp + 0xc]
fld dword [0x1013fd20]
fstp dword [esp + 8]
fild dword [esp + 0x30]
fld dword [esp + 0x3c]
mov eax, 0x790f20
fadd qword [0x101407c0]
faddp st(1)
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fstp dword [esp + 4]
fld dword [esp + 0x34]
fstp dword [esp]
push 0x7980
call eax
fld dword [esp + 0x40]
fadd qword [0x1013f6e8]
add esp, 0x18
mov eax, 0x5c
mov ecx, 0x118c4e50
fst qword [esp + 0x2c]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 4]
fld dword [esp + 0x24]
fadd qword [0x10140168]
fsub dword [0x118c6dac]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.100b8700
fld dword [esp + 0x1c]
sub esp, 0x18
fadd qword [0x1013fb08]
mov ecx, 0x790e40
fsub qword [0x1013f500]
fst qword [esp + 0x44]
fldz
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x1013f6a0]
fst dword [esp + 0xc]
fstp dword [esp + 8]
fld dword [esp + 0x30]
fstp dword [esp + 4]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0xdab4
call ecx
fld qword [esp + 0x40]
add esp, 0x1c
push 0xa
push 0xa
call fcn.1012e5b0
fld qword [esp + 0x34]
push eax
call fcn.1012e5b0
push eax
mov edx, 0x790b10
call edx
add esp, 0x10
test al, al
je 0x1005270d
push 1
mov eax, 0x791050
call eax
add esp, 4
test al, al
je 0x1005270d
call esi
mov dword [0x118c6dc4], eax
jmp 0x1005270d
mov ecx, dword [0x10a7213c]
call fcn.1010d410
mov ecx, dword [0x10a88b8c]
dec ecx
cmp dword [0x10a89728], ecx
jge 0x100527d8
fld dword [esp + 0x20]
sub esp, 8
fadd qword [0x1013f900]
mov eax, 0x5e
mov ecx, 0x118c4e50
fst qword [esp + 0x2c]
fstp dword [esp + 0x20]
fld dword [esp + 0x24]
fadd qword [0x101407b8]
fst qword [esp + 0x34]
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fstp dword [esp + 4]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.100b8700
fld dword [esp + 0x18]
sub esp, 8
fstp dword [esp + 4]
mov eax, 0xf0
fld dword [esp + 0x1c]
mov ecx, 0x118c4e50
fstp dword [esp]
call fcn.100b8700
fld qword [esp + 0x24]
push 0x12
push 0x11
call fcn.1012e5b0
fld qword [esp + 0x34]
push eax
call fcn.1012e5b0
push eax
mov edx, 0x790b10
call edx
add esp, 0x10
test al, al
je 0x100527d8
push 1
mov eax, 0x791050
call eax
add esp, 4
test al, al
je 0x100527d8
call esi
mov ecx, dword [0x10a88b8c]
dec ecx
mov dword [0x118c6e6c], eax
cmp dword [0x10a89728], ecx
jge 0x100527d8
inc dword [0x10a89728]
cmp dword [0x10a89728], 0
jle 0x10052897
fld dword [esp + 0x20]
sub esp, 8
fadd qword [0x1013f900]
mov eax, 0x5f
mov ecx, 0x118c4e50
fst qword [esp + 0x2c]
fstp dword [esp + 0x20]
fld dword [esp + 0x24]
fadd qword [0x1013f580]
fst qword [esp + 0x34]
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fstp dword [esp + 4]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.100b8700
fld dword [esp + 0x18]
sub esp, 8
fstp dword [esp + 4]
mov eax, 0xf1
fld dword [esp + 0x1c]
mov ecx, 0x118c4e50
fstp dword [esp]
call fcn.100b8700
fld qword [esp + 0x24]
push 0x12
push 0x11
call fcn.1012e5b0
fld qword [esp + 0x34]
push eax
call fcn.1012e5b0
push eax
mov edx, 0x790b10
call edx
add esp, 0x10
test al, al
je 0x10052897
push 1
mov eax, 0x791050
call eax
add esp, 4
test al, al
je 0x10052897
call esi
cmp dword [0x10a89728], 0
mov dword [0x118c6ec0], eax
jle 0x10052897
dec dword [0x10a89728]
fld dword [esp + 0x1c]
fadd qword [0x1013f7b0]
fsub qword [0x1013f888]
call fcn.1012e5b0
fld dword [esp + 0x20]
mov edi, eax
mov dword [esp + 0x14], edi
call fcn.1012e5b0
add eax, 5
mov ebx, 0x10a88bc4
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], ebx
jmp 0x100528d0
cmp dword [ebx - 0x28], 2
jne 0x10052b9b
mov ecx, dword [0x10a89728]
cmp dword [ebx], ecx
jne 0x10052b9b
mov edx, dword [ebx - 0x2c]
lea eax, [esp + 0x24]
push eax
mov ecx, 8
mov dword [esp + 0x28], 0x189408c1
mov dword [esp + 0x2c], edx
call fcn.10100800
mov ecx, dword [ebx - 0x24]
mov eax, 0x91a2b3c5
imul ecx
add edx, ecx
sar edx, 0xb
mov esi, edx
shr esi, 0x1f
add esi, edx
add esp, 4
cmp esi, 0x17
jle 0x1005294b
mov eax, 0x2aaaaaab
imul esi
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
push ecx
lea edx, [esp + 0x3c]
push str._d_day_s_
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x10052989
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, eax
shl edx, 4
sub edx, eax
add edx, edx
add edx, edx
sub ecx, edx
push ecx
cdq
mov ecx, 0x3c
idiv ecx
push edx
push esi
lea edx, [esp + 0x44]
push str.__02d:_02d:_02d_
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
mov ecx, dword [esp + 0x18]
add ebx, 0xffffffe0
push ebx
push 0x10135e70
push 0x64
lea esi, [edi + 0x4a]
push esi
add ecx, 3
push 0xff19bdff
mov ebx, 3
call fcn.100bb860
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x4c]
push eax
push 0x10135e70
push 0x64
push esi
add ecx, 0x12
push 0xff8be100
call fcn.100bb860
mov ecx, dword [esp + 0x40]
add esp, 0x28
add ecx, 0x21
mov dword [esp + 0x1c], ecx
mov esi, 0x10a8913c
nop
mov ecx, dword [esi - 4]
test ecx, ecx
jle 0x10052b83
cmp dword [esi + 0x40], 1
mov eax, dword [esi]
jne 0x10052ad2
test eax, eax
jne 0x10052afc
mov eax, 0x10624dd3
imul dword [esi + 0x3c]
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x91a2b3c5
imul ecx
add edx, ecx
sar edx, 0xb
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
cmp ebx, 0x17
jle 0x10052a50
mov eax, 0x2aaaaaab
imul ebx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
lea ecx, [esp + 0x5c]
push str._d_day_s_
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x10052a8e
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, eax
shl edx, 4
sub edx, eax
add edx, edx
add edx, edx
sub ecx, edx
push ecx
cdq
mov ecx, 0x3c
idiv ecx
push edx
push ebx
lea edx, [esp + 0x64]
push str.__02d:_02d:_02d_
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
mov ecx, dword [esi + 4]
mov edx, dword [esi]
lea eax, [esp + 0x58]
push eax
mov eax, dword [esi - 4]
push ecx
push edx
push eax
mov ecx, 0x590dd0
call ecx
mov ecx, dword [esp + 0x2c]
add esp, 4
push eax
push 0x10a466e8
push 0xc8
lea edx, [edi + 0x3c]
push edx
push 0xff1969ff
mov ebx, 1
call fcn.100bb860
add esp, 0x20
jmp 0x10052b83
test eax, eax
jne 0x10052afc
mov edx, dword [esi + 4]
push edx
push eax
push ecx
mov eax, 0x590dd0
add edi, 0x3c
call eax
add esp, 4
push eax
push 0x10a46760
push 0xc8
push edi
push 0x64d3d3d3
jmp 0x10052b1d
mov edx, dword [esi + 4]
push edx
push eax
push ecx
mov eax, 0x590dd0
add edi, 0x3c
call eax
add esp, 4
push eax
push str.__s___d__d_
push 0xc8
push edi
push 0xffffffffffffffff
mov ecx, dword [esp + 0x38]
mov ebx, 1
call fcn.100bb860
mov ecx, dword [esp + 0x38]
add esp, 0x1c
push 0xa
push 0xbe
push ecx
push edi
mov edx, 0x790b10
call edx
add esp, 0x10
test al, al
je 0x10052b7f
mov eax, dword [esi]
test eax, eax
je 0x10052b7f
mov ecx, dword [esi + 4]
mov edx, dword [esi - 4]
push ecx
push eax
push edx
mov eax, 0x590dd0
call eax
mov ecx, dword [esp + 0x28]
add esp, 4
push eax
push str.__s___d__d_
push 0xc8
push edi
push 0xff19bdff
call fcn.100bb860
add esp, 0x1c
mov edi, dword [esp + 0x14]
add dword [esp + 0x1c], 0xa
add esi, 0x4c
cmp esi, 0x10a8972c
jl 0x100529e0
mov ebx, dword [esp + 0x20]
add ebx, 0x30
mov dword [esp + 0x20], ebx
cmp ebx, 0x10a89164
jl 0x100528d0
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.1012db16
mov esp, ebp
pop ebp
ret