Function at 0x434f70
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x14
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0
mov dword [esp], 0x34353637
mov dword [esp + 4], 0
mov eax, esp
xor ecx, ecx
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, ecx
and esi, 0xfffffff8
add esi, edx
movzx edi, byte [eax]
xor edi, esi
mov esi, edi
and esi, 1
xor edi, 0xf5
lea ebx, [edi + esi*2]
add bl, 0x3b
mov byte [eax], bl
inc edx
inc eax
add ecx, 2
cmp ecx, 0x10
jne 0x434fa0
mov eax, dword [esp]
mov esi, dword [0x44839c]
test esi, esi
je 0x435014
xor ecx, ecx
mov edx, dword [0x4483a0]
nop
nop
cmp dword [edx + ecx*8], 0x9abdb589
je 0x434ff0
inc ecx
cmp esi, ecx
jne 0x434fe0
jmp 0x435014
mov edx, dword [edx + ecx*8 + 4]
cmp edx, eax
je 0x435014
lea ecx, [esp + 8]
push ecx
push 0
push 0
push 5
push 4
push edx
push dword [0x4483a4]
call fcn.00437ec0
add esp, 0x1c
mov dword [esp + 0x10], eax
mov dword [esp], 0x97d6c9c4
mov byte [esp + 4], 0
mov eax, 0xe
mov ecx, 0x165dd7d1
nop
nop
movzx esi, byte [esp + eax - 0xe]
lea edx, [esi + esi]
not edx
add edx, esi
mov ebx, ecx
and ebx, 0x248408d
mov esi, eax
and esi, 0x12
or esi, ebx
xor esi, 0x14159752
and esi, ecx
or esi, edx
and edx, ecx
not esi
or esi, edx
lea edx, [esi + esi]
not edx
lea ebp, [esi + edx]
add edx, esi
add edx, 0x19
mov esi, 0x902ac8e6
sub esi, ebp
or esi, 1
add esi, ebp
add esi, 0x6fd5371a
mov ebx, esi
and ebx, 0xfd
mov edi, esi
and edi, 2
or esi, 2
imul esi, edi
xor edi, 2
imul edi, ebx
and ebp, 1
and edx, 0xfe
or edx, ebp
add edx, esi
add edx, edi
mov byte [esp + eax - 0xe], dl
inc eax
dec ecx
cmp eax, 0x13
jne 0x435030
mov edi, dword [esp + 0x10]
cmp edi, dword [esp]
jne 0x4351d5
push dword [esp + 8]
call fcn.00434e40
add esp, 4
mov ecx, dword [esp + 8]
mov dword [esp], 0x34353637
mov dword [esp + 4], 0
mov edx, esp
xor edi, edi
xor ebp, ebp
nop
mov esi, edi
and esi, 0xfffffff8
add esi, ebp
movzx ebx, byte [edx]
xor ebx, esi
mov esi, ebx
and esi, 1
xor ebx, 0xf5
lea ebx, [ebx + esi*2]
add bl, 0x3b
mov byte [edx], bl
inc ebp
inc edx
add edi, 2
cmp edi, 0x10
jne 0x4350e0
mov edi, dword [esp]
mov edx, dword [0x44839c]
test edx, edx
je 0x435141
xor esi, esi
mov ebp, dword [0x4483a0]
mov ebx, dword [esp + 0x28]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp + esi*8], 0x9abdb589
je 0x435147
inc esi
cmp edx, esi
jne 0x435130
jmp 0x43516c
mov ebx, dword [esp + 0x28]
jmp 0x43516c
mov edx, dword [ebp + esi*8 + 4]
cmp edx, edi
je 0x43516c
push 0
push ecx
push eax
push 5
push 4
push edx
push dword [0x4483a4]
mov esi, eax
call fcn.00437ec0
add esp, 0x1c
mov edi, eax
mov eax, esi
test edi, edi
js 0x4351cc
mov esi, dword [eax]
mov ecx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ecx + esi + 0x3c]
add ecx, esi
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, word [edx + esi]
movzx ebp, word [ebx + esi]
test di, di
je 0x4351a5
add esi, 2
cmp di, bp
je 0x435190
cmp di, bp
je 0x4351b7
mov esi, dword [ecx]
test esi, esi
jne 0x435180
mov edi, 0xc0000225
jmp 0x4351cc
mov edx, dword [ecx + 0x44]
mov esi, dword [esp + 0xc]
mov dword [esi + 8], edx
mov ecx, dword [ecx + 0xdc]
mov dword [esi + 0xc], ecx
xor edi, edi
push eax
call fcn.00434ed0
add esp, 4
mov eax, edi
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret 4