Function at 0x43ef0b
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x49c0f9
call fcn.0049b920
sub esp, 0x88
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x34], edx
mov edi, ecx
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x20], 0xe60
xor ebx, ebx
cmp dword [ebp - 0x20], 0xf64
jle 0x43ef88
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x14], 0x86e
mov eax, edi
cdq
push edx
push eax
lea ecx, [ebp - 0x94]
call fcn.00401f5e
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x43ef60
mov eax, dword [eax]
push eax
call fcn.00484c7a
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x94]
call fcn.004014ab
add edi, esi
dec dword [ebp - 0x14]
jne 0x43ef46
inc esi
cmp esi, 0x4e77
jl 0x43ef3d
mov edi, dword [ebp - 0x30]
mov dword [ebp - 0x18], 0x68ec0ae9
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x20], 0xc8e
jge 0x43efa6
push 0xa9587c
call fcn.00484c7a
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x43efcf
mov dword [ebp - 0x2c], 9
mov dword [ebp - 0x18], ebx
push 0xffffffffffffffeb
pop esi
jmp 0x43f099
mov dword [ebp - 0x14], 1
mov dword [ebp - 0x14], ebx
jmp 0x43f08d
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], 0x1d
jmp 0x43f074
mov dword [ebp - 0x24], 0x2276b87d
mov dword [ebp - 0x24], ebx
jmp 0x43f012
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x7c], ebx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x43f008
mov dword [ebp - 0x24], 3
cmp dword [ebp - 0x24], ebx
jl 0x43f071
movdqa xmm0, xmmword [0xa9bfe0]
movdqu xmmword [ebp - 0x6c], xmm0
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
push dword [ebp - 0x34]
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x6c]
push eax
push ebx
lea ecx, [ebp - 0x44]
call fcn.00419cbb
mov ecx, dword [ebp - 0x44]
mov dword [ecx], ebx
mov eax, dword [ecx]
mov dword [ebp + eax*4 - 0x7c], 2
inc dword [ecx]
cmp dword [ecx], 4
jl 0x43f053
lea ecx, [ebp - 0x44]
call fcn.004181c2
dec dword [ebp - 0x24]
jns 0x43f024
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x1c
je 0x43effc
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x43f08a
push ebx
call dword [0xaaa278]
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jne 0x43eff0
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jg 0x43efe1
mov dword [ebp - 0x18], 0xd
cmp dword [ebp - 0x18], 0xfffffff0
jle 0x43f20a
push 3
lea ecx, [ebp - 0x50]
call fcn.00417e08
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x2c], 0xe5fef407
mov dword [ebp - 0x14], ebx
jmp 0x43f0dc
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x50]
mov dword [eax + ecx*4], 0xfffffff9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x43f0cc
mov dword [ebp - 0x28], 0x402
cmp dword [ebp - 0x28], 0x6db
jle 0x43f158
mov edi, ebx
mov dword [ebp - 0x20], ebx
mov esi, ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x38], ebx
mov eax, edi
mov ecx, esi
sar eax, cl
mov dword [ebp - 0x2c], eax
mov edi, ebx
mov esi, ebx
mov ebx, dword [ebp - 0x2c]
mov eax, esi
and eax, edi
xor eax, ebx
cdq
push edx
push eax
mov ecx, 0xaa71a0
call fcn.00417cc4
inc esi
cmp esi, 0x617a
jl 0x43f10f
inc edi
cmp edi, 0x4693
push 0
pop ebx
jl 0x43f10a
mov esi, dword [ebp - 0x14]
inc esi
mov dword [ebp - 0x14], esi
cmp esi, 0x4f8e
mov edi, dword [ebp - 0x20]
jl 0x43f0fc
inc edi
mov dword [ebp - 0x20], edi
cmp edi, 0x4710
jl 0x43f0f7
mov edi, dword [ebp - 0x30]
cmp dword [ebp - 0x18], 0x2a6bc1d1
jne 0x43f172
cmp dword [ebp - 0x18], ebx
je 0x43f169
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x50]
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp dword [esi + 8], eax
setge cl
mov edx, dword [ebp - 0x24]
sub edx, 0xfffffff6
add edx, ecx
neg edx
sbb edx, edx
inc edx
xor eax, eax
cmp edx, dword [esi + 8]
setl al
mov dword [ebp - 0x2c], eax
mov dword [ebp - 4], 2
cmp dword [ebp - 0x28], 0x24d
jge 0x43f1bc
push 0xa958c8
push 0xaa71a0
call fcn.00419747
pop ecx
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x43f1e5
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x18]
imul ecx, dword [eax + 8]
xor eax, eax
cmp ecx, 9
setne al
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x50]
call fcn.004181c2
dec dword [ebp - 0x18]
jmp 0x43f0a9
mov dword [ebp - 0x20], 0x4b99
cmp dword [ebp - 0x20], 0x4d49
jle 0x43f27b
push ebx
push ebx
push ebx
call dword [0xaaa010]
mov dword [ebp - 0x14], ebx
mov edi, ebx
mov esi, ebx
mov ecx, ebx
mov dword [ebp - 0x28], ecx
mov ebx, dword [ebp - 0x14]
lea eax, [esi + edi]
and eax, ecx
or eax, ebx
cdq
push edx
push eax
mov ecx, 0xaa71a0
call fcn.00417cc4
mov ecx, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, 0x7868
jl 0x43f232
inc esi
cmp esi, 0x7604
push 0
pop ebx
jl 0x43f22a
inc edi
cmp edi, 0x6c2c
jl 0x43f228
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, 0x60e5
jl 0x43f226
mov edi, dword [ebp - 0x30]
mov dword [ebp - 0x2c], 1
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x43f297
push ebx
push 0x252
call dword [0xaaa2b0]
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x43f2aa
push ebx
push ebx
push ebx
push ebx
call dword [0xaaa298]
mov dword [ebp - 4], 4
cmp dword [ebp - 0x20], 0x4a41
jge 0x43f2cb
push 0xa95950
push 0xaa71a0
call fcn.00419747
pop ecx
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x43f2f4
mov dword [ebp - 0x18], 0xfdf99ff6
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x14], 0xebdb88dc
mov dword [ebp - 0x2c], 0xd32de9e5
push 4
lea ecx, [ebp - 0x5c]
call fcn.00417e08
mov dword [ebp - 0x14], ebx
jmp 0x43f32b
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x5c]
mov dword [eax + ecx*4], 0xffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x43f31b
mov dword [ebp - 0x18], ebx
jmp 0x43f3b1
mov dword [ebp - 0x20], 0xfffa
mov dword [ebp - 0x14], 0xfffffffb
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x18], eax
jge 0x43f385
cmp dword [ebp - 0x18], ebx
jne 0x43f354
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
test eax, eax
setle cl
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], ebx
je 0x43f369
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
sub eax, 0xf34e
neg eax
sbb eax, eax
inc eax
imul eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jne 0x43f385
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, 1
setl cl
xor edx, edx
cmp ecx, 0x2b607800
setle dl
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp eax, edx
setg cl
mov dword [ebp - 0x2c], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x10
jne 0x43f336
lea ecx, [ebp - 0x5c]
call fcn.004181c2
mov dword [edi], ebx
jmp 0x43f3d7
mov ecx, dword [edi]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
mov dword [eax + ecx*4], 0x555b7cef
inc dword [edi]
cmp dword [edi], 2
jl 0x43f3c7
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret