Function at 0x341f50af
Capabilities:
Check for time delay via gettickcount
Encode data using xor

Disassembly:
sub esp, 0x12c
mov eax, dword [0x342226fc]
xor eax, esp
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x13c]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x144]
push edi
mov edi, ecx
push 0
push 0x6b39dac7
lea ecx, [esp + 0x34]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x24], esi
mov dword [esp + 0x18], eax
call fcn.341f52e4
mov ebx, dword [edi + 4]
push 0x1000
push 0
push ebx
call sub.msvcr80.dll_memset
mov ebp, dword [esp + 0x14c]
mov eax, 0x1000100
lea edi, [ebx + 0xe00]
mov ecx, 0x80
rep stosd dword es:[edi], eax
mov word [ebx], 0x100
mov word [ebx + 2], 0
mov ecx, dword [ebp + 4]
mov dword [ebx + 0x14], ecx
mov eax, dword [ebp]
mov ecx, 2
add esp, 0xc
cmp dword [ebp + 4], ecx
je 0x34263760
cmp eax, 1
jne 0x341f8b1e
mov edx, dword [0x341f52b4]
mov dword [ebx + 4], edx
mov eax, dword [0x341f52b8]
mov dword [ebx + 8], eax
mov edx, dword [0x341f52bc]
mov dword [ebx + 0xc], edx
mov eax, dword [0x341f52c0]
mov edi, dword [sym.imp.kernel32.dll_GetTickCount]
mov dword [ebx + 0x10], eax
mov edx, dword [ebp + 8]
lea eax, [ebx + 0x18]
mov dword [esp + 0x20], eax
mov dword [eax], edx
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x1c], eax
mov eax, dword [ebp]
cmp eax, 3
je 0x341f8b4b
cmp eax, 4
je 0x341f8b4b
mov dword [ebx + 0x3e], 0
cmp dword [ebp], 3
mov edx, dword [ebx + 0x3e]
mov dword [esp + 0x18], edx
je 0x341f51b2
cmp dword [ebp + 4], ecx
jge 0x341f51e6
xor eax, eax
cmp dword [ebp + 4], ecx
setl al
xor ecx, ecx
test esi, esi
sete cl
cmp eax, ecx
jne 0x3429cba7
test esi, esi
jne 0x3429cbbe
mov esi, dword [esp + 0x144]
test esi, esi
je 0x341f51e6
lea edi, [ebx + 0x42]
mov ecx, 0xa
rep movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x6a], 0x11a6
mov edx, dword [ebp + 0x10]
mov dword [ebx + 0x6e], edx
mov ax, word [ebp + 0x14]
lea ecx, [esp + 0x24]
push ecx
mov word [ebx + 0x3c], ax
call fcn.341f5374
fldz
fld qword [esp + 0x24]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x3429cbf9
mov edi, dword [sym.imp.MSO.dll_Ordinal_6818]
fstp qword [ebx + 0x72]
lea ebp, [ebx + 0x9c]
xor esi, esi
mov edx, dword [esi + 0x341f52c4]
push 0xc
push ebp
lea eax, [esi + 0x341f52c8]
push eax
mov dword [ebp - 4], edx
call edi
cmp dword [esi + 0x341f52c4], 0
je 0x341f5254
add esi, 0x10
add ebp, 0x10
cmp esi, 0x20
jb 0x341f522b
fld qword [ebx + 0x72]
add ebx, 0x42
call fcn.341f5463
mov edx, 4
mov ecx, ebx
sub edx, ebx
xor dword [ecx], eax
add ecx, 4
lea esi, [edx + ecx]
cmp esi, 0x28
jle 0x341f5268
mov ecx, dword [esp + 0x20]
push 0x80
push ecx
lea ecx, [esp + 0x34]
call fcn.34307874
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x3429cc06
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x138]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.341f1b18
add esp, 0x12c
ret 0x10
cmp eax, 4
jne 0x34286b29
mov edx, dword [0x3421dbf0]
mov dword [ebx + 4], edx
mov eax, dword [0x3421dbf4]
mov dword [ebx + 8], eax
mov edx, dword [0x3421dbf8]
mov dword [ebx + 0xc], edx
mov eax, dword [0x3421dbfc]
jmp 0x341f5169
call fcn.341f3190
call edi
or eax, 0xa0a00000
mov dword [ebx + 0x3e], eax
mov ecx, 2
jmp 0x341f51a0
cmp eax, 1
je 0x3429cb5f
cmp eax, 4
je 0x3429cb83
mov edx, dword [0x3421dbe0]
mov dword [ebx + 4], edx
mov eax, dword [0x3421dbe4]
mov dword [ebx + 8], eax
mov edx, dword [0x3421dbe8]
mov dword [ebx + 0xc], edx
mov eax, dword [0x3421dbec]
jmp 0x341f5169
mov edx, dword [0x3421dc00]
mov dword [ebx + 4], edx
mov eax, dword [0x3421dc04]
mov dword [ebx + 8], eax
mov edx, dword [0x3421dc08]
mov dword [ebx + 0xc], edx
mov eax, dword [0x3421dc0c]
jmp 0x341f5169
mov edx, dword [0x3429cc1c]
mov dword [ebx + 4], edx
mov eax, dword [0x3429cc20]
mov dword [ebx + 8], eax
mov edx, dword [0x3429cc24]
mov dword [ebx + 0xc], edx
mov eax, dword [0x3429cc28]
jmp 0x341f5169
mov edx, dword [0x342c5874]
mov dword [ebx + 4], edx
mov eax, dword [0x342c5878]
mov dword [ebx + 8], eax
mov edx, dword [0x342c587c]
mov dword [ebx + 0xc], edx
mov eax, dword [0x342c5880]
jmp 0x341f5169
mov ecx, dword [esp + 0x10]
push 1
push 0xfffffc15
call fcn.341f7675
xor eax, eax
jmp 0x341f5298
call fcn.341f3190
call edi
movzx edx, al
mov al, dl
mov cl, al
mov ch, cl
mov eax, ecx
shl eax, 0x10
mov ax, cx
mov dword [ebx + 0x42], eax
mov dword [ebx + 0x46], eax
mov dword [ebx + 0x4a], eax
mov dword [ebx + 0x4e], eax
mov dword [ebx + 0x52], eax
mov dword [ebx + 0x56], eax
mov dword [ebx + 0x5a], eax
mov dword [ebx + 0x5e], eax
mov dword [ebx + 0x62], eax
mov dword [ebx + 0x66], eax
jmp 0x341f51e6
fstp st(0)
fld1
fst qword [esp + 0x24]
jmp 0x341f521a
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push edx
push eax
call fcn.342ecaa6
jmp 0x341f5294