Function at 0x426960
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x5e0
mov esi, esp
push eax
sub esp, 0xc
mov dword [esi + 0x100], esp
sub esp, 0x18
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0xf0], eax
mov esp, eax
push eax
sub esp, 0x2c
mov dword [esi + 0xc0], esp
sub esp, 0x30
mov dword [esi + 0x9c], esp
sub esp, 0x18
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0xf4], eax
mov esp, eax
push eax
mov dword [esi + 0xbc], esp
sub esp, 0x2c
mov dword [esi + 0xb0], esp
push eax
mov dword [esi + 0x88], esp
push eax
mov dword [esi + 0x58], esp
sub esp, 0x20
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x5c], eax
mov esp, eax
push eax
sub esp, 0x14
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x94], eax
mov esp, eax
push eax
sub esp, 0x14
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0xd0], eax
mov esp, eax
push eax
mov dword [esi + 0xec], esp
sub esp, 0x20
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0xd4], eax
mov esp, eax
push eax
push eax
mov dword [esi + 0xe8], esp
sub esp, 0x348
mov ebx, esp
sub esp, 0xdc
mov dword [esi + 0xdc], esp
sub esp, 0xc
mov dword [esi + 0xc4], esp
push eax
mov dword [esi + 0xe0], esp
sub esp, 0xc
mov dword [esi + 0xc8], esp
push eax
mov dword [esi + 0xe4], esp
sub esp, 0x20
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x90], eax
mov esp, eax
push eax
sub esp, 0x14
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0xb8], eax
mov esp, eax
push 0x1000
call fcn.00409310
add esp, 4
mov dword [esi + 0x120], 0x3bf4e6c8
mov dword [esi + 0x124], 0x21101d0d
mov word [esi + 0x128], 0xedce
mov dword [esi + 0x12a], 0
mov dword [esi + 0x12e], 0
mov word [esi + 0x132], 0
mov dword [esi + 0x1d0], 0
mov ecx, dword [esi + 0x1d0]
cmp ecx, 0x13
ja 0x426b30
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esi + 0x1d0]
mov ecx, dword [esi + 0x1d0]
movzx edx, byte [esi + ecx + 0x120]
lea ecx, [edi + edx]
add ecx, 0x6a9f069d
add edi, 0x6a9f069d
and edi, edx
add edi, edi
mov edx, edi
xor edx, ecx
not edi
and edi, ecx
add edi, edi
sub edi, edx
mov dword [esi + 0x3d0], edi
mov edx, dword [esi + 0x3d0]
add dl, 0xb5
mov ecx, dword [esi + 0x1d0]
mov byte [esi + ecx + 0x120], dl
inc dword [esi + 0x1d0]
mov ecx, dword [esi + 0x1d0]
cmp ecx, 0x14
jb 0x426ad0
mov dword [esi + 0xcc], ebx
mov dword [esi + 0xb4], eax
mov eax, dword [str.5716f8210a0744e3ba86f9d57d14207c]
mov dword [esi + 0x1d0], 0x7e58563c
mov dword [esi + 0x1d4], 0x949a93ab
mov dword [esi + 0x1d8], 0x80b2b697
mov dword [esi + 0x1dc], 0x89b58eb6
mov word [esi + 0x1e0], 0x497c
mov byte [esi + 0x1e2], 0x28
mov dword [esi + 0x1e3], 0
mov dword [esi + 0x1e7], 0
mov word [esi + 0x1eb], 0
mov dword [esi + 0x60], 0
mov ecx, dword [esi + 0x60]
cmp ecx, 0x1c
ja 0x426c06
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x60]
mov edx, dword [esi + 0x60]
movzx edx, byte [esi + edx + 0x1d0]
lea edi, [ecx + edx]
add edi, 0x20bf0b07
add ecx, 0x20bf0b07
and ecx, edx
add ecx, ecx
sub edi, ecx
mov dword [esi + 0x3d0], edi
mov ecx, dword [esi + 0x3d0]
mov edx, ecx
or edx, 0xce
and ecx, 0xce
add ecx, edx
inc cl
mov edx, dword [esi + 0x60]
mov byte [esi + edx + 0x1d0], cl
inc dword [esi + 0x60]
mov ecx, dword [esi + 0x60]
cmp ecx, 0x1d
jb 0x426bb0
mov ecx, dword [str.BVnUqo___daeftt]
mov dword [esi + 0x3d0], 0x4c92b1bb
mov dword [esi + 0x3d4], 0x4e4abd49
mov dword [esi + 0x3d8], 0x67b88347
mov dword [esi + 0x3dc], 0x5384a593
mov dword [esi + 0x3e0], 0x60575659
mov dword [esi + 0x3e4], 0x5e555c54
mov dword [esi + 0x3e8], 0x9cc25c5c
mov dword [esi + 0x3ec], 0xa0ab81aa
mov dword [esi + 0x3f0], 0x617d92a1
mov dword [esi + 0x3f4], 0x94a37f52
mov dword [esi + 0x3f8], 0x5b6295aa
mov dword [esi + 0x3fc], 0x47b0ba70
mov dword [esi + 0x400], 0x71407a74
mov dword [esi + 0x404], 0x25707f72
mov dword [esi + 0x408], 0x609c4979
mov dword [esi + 0x40c], 0x17744f66
mov dword [esi + 0x410], 0
mov byte [esi + 0x414], 0
mov dword [esi + 0x40], 0
mov edx, dword [esi + 0x40]
cmp edx, 0x44
ja 0x426d11
nop
nop
nop
nop
mov edx, dword [esi + 0x40]
mov edi, dword [esi + 0x40]
movzx edi, byte [esi + edi + 0x3d0]
lea ebx, [edx + edi]
add ebx, 0x92270b63
add edx, 0x92270b63
and edx, edi
add edx, edx
sub ebx, edx
mov dword [esi + 0x60], ebx
mov edx, dword [esi + 0x60]
add dl, 0x4b
mov edi, dword [esi + 0x40]
mov byte [esi + edi + 0x3d0], dl
inc dword [esi + 0x40]
mov edx, dword [esi + 0x40]
cmp edx, 0x45
jb 0x426cd0
movzx edx, byte [esi + 0x3d0]
mov ebx, dword [esi + 0xb4]
test dl, dl
je 0x426d3b
lea edi, [esi + 0x3d1]
mov ebx, dword [esi + 0xb4]
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x426d30
mov byte [ebx], 0
movzx edx, byte [ecx]
test dl, dl
je 0x426d5b
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x426d50
mov byte [ebx], 0
movzx ecx, byte [esi + 0x1d0]
test cl, cl
je 0x426d7b
lea edx, [esi + 0x1d1]
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x426d70
mov byte [ebx], 0
movzx ecx, byte [eax]
test cl, cl
je 0x426d9b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x426d90
mov byte [ebx], 0
movzx eax, byte [esi + 0x120]
test al, al
je 0x426dbb
lea ecx, [esi + 0x121]
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x426db0
mov byte [ebx], 0
push 0
call fcn.0043af50
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4452c8]