Function at 0x3421902c
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x220
mov eax, dword [0x34234fcc]
xor eax, esp
mov dword [esp + 0x21c], eax
push ebx
push ebp
mov ebp, dword [esp + 0x238]
push esi
push edi
push 0
mov esi, ecx
push 0x6b39dac7
lea ecx, [esp + 0x128]
mov dword [esp + 0x18], ebp
call fcn.341f6350
mov esi, dword [esi + 4]
movzx eax, word [esi + 0x14]
mov ecx, eax
and ecx, 0xff
mov edx, 0x100
mov edi, ecx
cmp word [esi], dx
jne 0x342191bf
cmp word [esi + 2], 0
jne 0x342191bf
mov ebx, dword [esi + 0x14]
test ebx, ebx
je 0x342190a3
cmp ebx, 1
je 0x342190a3
cmp ebx, 2
jne 0x342addaa
mov ecx, 3
cmp cx, di
je 0x342addda
lea edx, [esi + 4]
mov eax, 0x34227ee0
mov edi, edx
mov ecx, 0x10
sub edi, eax
mov ebp, dword [edi + eax]
cmp ebp, dword [eax]
jne 0x34219188
sub ecx, 4
add eax, 4
cmp ecx, 4
jae 0x342190c2
mov ebp, 2
test ebx, ebx
je 0x342addf9
push 0x80
lea ebx, [esi + 0x18]
push ebx
lea ecx, [esp + 0x128]
call fcn.341f64e1
cmp dword [esi + 0x6a], 0x38e
jbe 0x34219113
fldz
fcomp qword [esi + 0x72]
fnstsw ax
test ah, 0x44
jnp 0x342ade4d
mov edi, dword [esp + 0x10]
test byte [edi], 8
jne 0x34219143
fld qword [esi + 0x72]
lea edi, [esi + 0x42]
call fcn.341f64c1
mov edx, 4
mov ecx, edi
sub edx, edi
mov edi, edi
xor dword [ecx], eax
add ecx, 4
lea edi, [edx + ecx]
cmp edi, 0x28
jle 0x34219132
mov edi, dword [esp + 0x10]
cmp dword [esp + 0x23c], 0
jne 0x34219160
test byte [edi], 8
jne 0x3421916b
cmp word [esi + 0x42], 0
lea edx, [esi + 0x42]
jne 0x342ade64
test byte [edi], 8
jne 0x3421916b
cmp dword [esi + 0x3e], 0
jne 0x342191ea
mov eax, ebp
mov ecx, dword [esp + 0x22c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.341f1dd1
add esp, 0x220
ret 0x10
mov eax, 0x34227ec0
mov edi, edx
mov ecx, 0x10
sub edi, eax
lea ebx, [ebx]
mov ebp, dword [edi + eax]
cmp ebp, dword [eax]
jne 0x342191af
sub ecx, 4
add eax, 4
cmp ecx, 4
jae 0x34219198
jmp 0x342190d8
mov eax, 0x34227ed0
mov edi, edx
mov ecx, 0x10
sub edi, eax
jmp 0x342191ca
push esi
call fcn.34329ae6
jmp 0x342addb6
mov ebp, dword [edi + eax]
cmp ebp, dword [eax]
jne 0x342ade15
sub ecx, 4
add eax, 4
cmp ecx, 4
jae 0x342191ca
mov ebp, 4
jmp 0x342190dd
cmp ebp, 4
jne 0x342adf06
mov ecx, edi
call fcn.341f5f2f
push 0x4b8
mov ecx, edi
call fcn.34207471
jmp 0x3421916b
cmp di, 3
jne 0x342191bf
jmp 0x342addda
test eax, eax
je 0x342adf10
push 1
push 0
push 0
push 0xffffdda0
push 0xfffffc05
mov ecx, ebp
call fcn.34214687
jmp 0x342adf43
and eax, 0xffffff00
mov edx, 0x200
cmp ax, dx
jle 0x342190b1
push 1
push 0xfffffbcf
jmp 0x342adf3c
mov ecx, dword [esp + 0x10]
push 1
push ebx
push ebx
push 0xffffdd9f
push 0xfffffc05
call fcn.34214687
jmp 0x342adf43
mov eax, 0x342d999c
mov ecx, 0x10
sub edx, eax
mov edi, dword [edx + eax]
cmp edi, dword [eax]
jne 0x342ade3d
sub ecx, 4
add eax, 4
cmp ecx, 4
jae 0x342ade21
mov ebp, 4
jmp 0x342190dd
mov ecx, dword [esp + 0x10]
push 1
push 0xfffffbfc
jmp 0x342adf3e
mov edi, dword [esp + 0x10]
push 1
push 0xfffffbfc
mov ecx, edi
call fcn.341f8dac
jmp 0x34219117
cmp dword [esp + 0x238], 2
je 0x34219160
mov eax, dword [esp + 0x234]
test eax, eax
je 0x342aded3
mov ecx, 0x28
sub edx, eax
mov edi, dword [edx + eax]
cmp edi, dword [eax]
jne 0x342adecf
sub ecx, 4
add eax, 4
cmp ecx, 4
jae 0x342ade84
mov eax, dword [esi + 0x14]
push eax
call fcn.3425b46e
test eax, eax
je 0x342adefd
push 0
push 0x6b39dac7
lea ecx, [esp + 0x1c]
call fcn.341f6350
push 0x80
push ebx
lea ecx, [esp + 0x1c]
call fcn.341f64e1
mov ecx, dword [esp + 0x10]
push 0
push 0xfffffb4a
jmp 0x342adf3e
mov edi, dword [esp + 0x10]
push 0
push 0x6b39dac7
lea ecx, [esp + 0x1c]
call fcn.341f6350
push 0x80
push ebx
lea ecx, [esp + 0x1c]
call fcn.341f64e1
push 1
push 0xfffff88f
mov ecx, edi
jmp 0x342adf3e
mov edi, dword [esp + 0x10]
jmp 0x34219160
mov ebp, 3
jmp 0x342191f3
cmp di, 3
jle 0x342adf35
movsx eax, di
cmp eax, 0xffff
je 0x342adf35
cmp eax, 0xfffe
je 0x342adf35
mov ecx, 0x100
cmp cx, word [esi]
je 0x342added
push 1
push 0xfffffbfc
mov ecx, ebp
call fcn.341f8dac
xor eax, eax
jmp 0x3421916d