Function at 0x34213c3f
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x224
mov eax, dword [0x342226fc]
xor eax, esp
mov dword [esp + 0x220], eax
push ebp
push esi
push edi
mov edi, dword [esp + 0x240]
push 0
mov esi, ecx
push 0x6b39dac7
lea ecx, [esp + 0x128]
mov dword [esp + 0x14], edi
call fcn.341f52e4
mov ebp, dword [esi + 4]
cmp word [ebp], 0x100
mov dword [esp + 0x10], ebp
jne 0x34213e3a
cmp word [ebp + 2], 0
jne 0x34213e3a
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x34213ca4
cmp eax, 1
jne 0x342282ee
lea edi, [ebp + 4]
mov eax, 0x10
mov ecx, 0x3421dc00
mov edx, edi
push ebx
lea ebx, [ebx]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x34213dcb
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x34213cb6
test eax, eax
jne 0x34213dcb
xor eax, eax
test eax, eax
je 0x34213d12
mov eax, 0x10
mov ecx, 0x3421dbe0
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x34213e09
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x34213ce8
test eax, eax
jne 0x34213e09
xor eax, eax
test eax, eax
jne 0x34213e2c
mov ebx, 2
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x3429c82f
push 0x80
lea edi, [ebp + 0x18]
push edi
lea ecx, [esp + 0x12c]
call fcn.34315c41
cmp dword [ebp + 0x6a], 0x38e
jbe 0x34213d50
fldz
fcomp qword [ebp + 0x72]
fnstsw ax
test ah, 0x44
jnp 0x3429c848
mov ecx, dword [esp + 0x10]
test byte [ecx], 8
jne 0x34213d7a
fld qword [ebp + 0x72]
lea esi, [ebp + 0x42]
call fcn.341f5463
mov edx, 4
mov ecx, esi
sub edx, esi
xor dword [ecx], eax
add ecx, 4
lea esi, [edx + ecx]
cmp esi, 0x28
jle 0x34213d6d
cmp dword [esp + 0x240], 0
jne 0x34213d9b
mov edx, dword [esp + 0x10]
test byte [edx], 8
jne 0x34213d9b
cmp word [ebp + 0x42], 0
lea edx, [ebp + 0x42]
jne 0x3429c85d
mov ecx, dword [esp + 0x10]
test byte [ecx], 8
jne 0x34213dae
cmp dword [ebp + 0x3e], 0
jne 0x34213e79
mov eax, ebx
pop ebx
mov ecx, dword [esp + 0x22c]
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.341f1b18
add esp, 0x224
ret 0x10
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x34213df4
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x34213cd6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
je 0x3429c674
test esi, esi
mov eax, 1
jg 0x34213cd8
or eax, 0xffffffff
jmp 0x34213cd8
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
je 0x3429c6b7
test esi, esi
mov eax, 1
jg 0x34213d0a
or eax, 0xffffffff
jmp 0x34213d0a
mov eax, 0x10
mov ecx, 0x3421dbf0
mov edx, edi
jmp 0x34213e45
push ebp
call fcn.342ec729
jmp 0x3429c979
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x3429c719
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x34213e45
test eax, eax
jne 0x3429c719
xor eax, eax
test eax, eax
jne 0x3429c78d
mov ebx, 4
jmp 0x34213d17
cmp ebx, 4
jne 0x3429c96f
mov esi, ecx
call fcn.341f4f4b
push 0x4b8
mov ecx, esi
call fcn.34203bfe
jmp 0x34213dae
cmp eax, 2
je 0x34213ca4
jmp 0x34213e3a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x34213cd6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x34213df4
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x34213cd6
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
jne 0x34213df4
jmp 0x34213cd6
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x34213d08
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x34213e17
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x34213d08
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x34213e17
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x34213d08
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
jne 0x34213e17
jmp 0x34213d08
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x3429c778
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x34213e65
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x3429c778
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x34213e65
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x3429c778
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x34213e65
movzx esi, byte [edx]
movzx edx, byte [ecx]
sub esi, edx
je 0x34213e65
test esi, esi
mov eax, 1
jg 0x34213e67
or eax, 0xffffffff
jmp 0x34213e67
mov eax, 0x10
mov ecx, 0x342c5874
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x3429c7b1
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x3429c799
test eax, eax
je 0x3429c80e
movzx edi, byte [ecx]
movzx esi, byte [edx]
sub esi, edi
jne 0x3429c800
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x3429c80e
movzx edi, byte [ecx]
movzx esi, byte [edx]
sub esi, edi
jne 0x3429c800
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x3429c80e
movzx edi, byte [ecx]
movzx esi, byte [edx]
sub esi, edi
jne 0x3429c800
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x3429c80e
movzx eax, byte [ecx]
movzx esi, byte [edx]
sub esi, eax
je 0x3429c80e
test esi, esi
mov eax, 1
jg 0x3429c810
or eax, 0xffffffff
jmp 0x3429c810
xor eax, eax
test eax, eax
je 0x34213e6f
push 1
push 0xfffffbfc
mov ecx, dword [esp + 0x18]
call fcn.341f7675
xor eax, eax
jmp 0x34213db0
mov ecx, dword [esp + 0x10]
push 1
push eax
push eax
push 0xffffdd9f
push 0xfffffc05
call fcn.3420ffd2
jmp 0x3429c828
mov ecx, dword [esp + 0x10]
push 1
push 0xfffffbfc
call fcn.341f7675
jmp 0x34213d50
cmp dword [esp + 0x23c], 2
je 0x34213d9b
mov ecx, dword [esp + 0x238]
test ecx, ecx
je 0x3429c944
mov eax, 0x28
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x3429c897
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x3429c87f
test eax, eax
je 0x3429c8fc
movzx esi, byte [edx]
movzx ebp, byte [ecx]
sub esi, ebp
jne 0x3429c8e6
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x3429c8f8
movzx esi, byte [edx]
movzx ebp, byte [ecx]
sub esi, ebp
jne 0x3429c8e6
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x3429c8f8
movzx esi, byte [edx]
movzx ebp, byte [ecx]
sub esi, ebp
jne 0x3429c8e6
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x3429c8f8
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
je 0x3429c8f8
test esi, esi
mov ebp, dword [esp + 0x14]
mov eax, 1
jg 0x3429c8fe
or eax, 0xffffffff
jmp 0x3429c8fe
mov ebp, dword [esp + 0x14]
xor eax, eax
test eax, eax
jne 0x3429c944
mov eax, dword [ebp + 0x14]
cmp eax, 2
jl 0x34213d9b
cmp eax, 0xfffe
jge 0x34213d9b
push 0
push 0x6b39dac7
lea ecx, [esp + 0x20]
call fcn.341f52e4
push 0x80
push edi
lea ecx, [esp + 0x20]
call fcn.34315c41
push 0
push 0xfffffb4a
jmp 0x3429c81f
push 0
push 0x6b39dac7
lea ecx, [esp + 0x20]
call fcn.341f52e4
push 0x80
push edi
lea ecx, [esp + 0x20]
call fcn.34315c41
push 1
push 0xfffff88f
jmp 0x3429c81f
mov ebx, 3
jmp 0x34213e82
test eax, eax
push 1
mov ecx, edi
je 0x3429c99b
push 0
push 0
push 0xffffdda0
push 0xfffffc05
call fcn.3420ffd2
xor eax, eax
jmp 0x34213db1
push 0xfffffbfc
call fcn.341f7675
xor eax, eax
jmp 0x34213db1