Function at 0x43bf70
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov dword [esp - 0x30], 0x737d48d1
sub esp, 0xc
cmp dword [ecx + 0x1c], 0
mov dword [ebp - 0xc], ecx
jne 0x43c2c0
mov esp, esp
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
xchg edx, edx
nop
sub esp, 4
mov dword [esp], 0x34ce4340
xor dword [esp], 0x31849117
xchg esi, esi
add dword [esp], 0x7342ddf5
sub dword [esp], 0x1956b958
sub dword [esp], 0x521340e5
xor dword [esp], 0x2a794920
xchg esp, esp
sub dword [esp], 0x275aff1b
mov dword [ecx + 0x1c], eax
lea ebx, [ecx + 0x50]
nop
mov dword [esp - 0x34], esi
mov dword [esp - 4], 0x591e02b4
sub dword [esp - 4], 0x55cb28ca
add dword [esp - 4], 0x95bfd94
add dword [esp - 4], 0x28ed317
mov dword [esp - 0x34], 0x5bce1572
add dword [esp - 4], 0x4ad7ed4a
sub dword [esp - 4], 0x35068195
sub dword [esp - 4], 0x250f1642
sub esp, 4
mov esp, esp
lea eax, [ebp - 8]
mov ecx, 0x4c15b8
push eax
mov ecx, ecx
call fcn.0048a3b0
push eax
mov ecx, ebx
call fcn.00484bc0
mov dword [esp - 0x30], 0x46a83c8d
cmp dword [ebp - 4], 2
jbe 0x43c057
push dword [ebp - 8]
mov dword [esp - 0x40], 0x290e8705
call fcn.00490c60
add esp, 4
mov eax, dword [ebx + 4]
xchg edx, edx
mov dword [ebp + 8], eax
cmp eax, 2
jbe 0x43c06e
mov ebx, dword [ebx]
mov dword [esp - 0x38], 0x1217c6a7
inc eax
mov ecx, 0x99ecfde
add ecx, 0x675c454d
sub ecx, 0x57ac57be
mov dword [esp - 0x30], 0x674763b9
add ecx, 0x19c1754f
sub ecx, 0x32777a9c
sub ecx, 0x98b81e
xchg esp, esp
mul ecx
pushf
mov ecx, 0x74107b85
sub ecx, 0x6d48bfee
xchg edi, edi
add ecx, 0x5df040ca
sub ecx, 0x4108b531
add ecx, 0xdc50b8cf
mov esi, esi
popf
cmovb eax, ecx
push eax
xchg ebp, ebp
call fcn.00490c90
mov esi, eax
add esp, 4
mov eax, dword [ebp + 8]
xchg ebx, ebx
xor edi, edi
mov dword [ebp - 4], esi
test eax, eax
mov dword [esp - 0x30], ecx
je 0x43c145
mov edx, esi
sub ebx, esi
mov dword [esp - 0x40], 0xcf1bd85
mov esi, eax
mov ecx, edi
lea edx, [edx + 2]
mov edi, edi
and ecx, 3
mov eax, 0x5e4e35af
sub eax, 0x43ec25f3
sub eax, 0xbf42d07
mov dword [esp - 0x30], ebx
add eax, 0x1073163f
xor eax, 0x654abc05
shl ecx, 3
mov dword [esp - 0x1c], ebx
inc edi
sar eax, cl
cbw
mov dword [esp - 0x24], esi
xor ax, word [edx + ebx - 2]
mov word [edx - 2], ax
cmp edi, esi
jb 0x43c0f3
mov dword [esp - 0x24], 0x53548e21
mov esi, dword [ebp - 4]
mov eax, dword [ebp + 8]
mov ebx, dword [ebp - 0xc]
xchg esp, esp
xor ecx, ecx
mov word [esi + eax*2], cx
lea edi, [ebx + 0x20]
mov dword [edi], 0x4eeb085d
xchg edx, edx
sub dword [edi], 0xe8d898f
sub dword [edi], 0x2c832879
add dword [edi], 0x2cb244ad
add dword [edi], 0x990e8fb
xchg edi, edi
xor dword [edi], 0x23338dca
sub dword [edi], 0x692e0e07
nop
mov dword [esp - 0x14], esi
mov dword [esp - 4], 0x5e699566
xor dword [esp - 4], 0x108eac27
sub dword [esp - 4], 0x416677f7
add dword [esp - 4], 0x1e1dfbfe
xchg esp, esp
xor dword [esp - 4], 0x2b9ec248
sub esp, 4
mov eax, dword [ebx + 0x1c]
mov esi, esi
mov dword [ebx + 0x24], 0x6efde2da
sub dword [ebx + 0x24], 0x19ce6049
xor dword [ebx + 0x24], 0x30d28b28
mov dword [esp - 0x34], 0x179e8b82
xor dword [ebx + 0x24], 0x75a75909
add dword [ebx + 0x24], 0x21035ba5
sub dword [ebx + 0x24], 0x25c253dd
mov dword [esp - 0x24], 0xc9d93e5
xor dword [ebx + 0x24], 0xb9b587b
mov dword [ebx + 0x28], 0x43c300
mov dword [ebx + 0x34], eax
mov dword [esp - 0x34], esi
mov eax, dword [0x4c0cb0]
xor eax, dword [0x4c0968]
push ecx
mov dword [esp - 0x24], 0x51e6bc0e
call eax
mov dword [ebx + 0x3c], eax
mov eax, dword [0x4c0e68]
xchg esi, esi
xor eax, dword [0x4c0968]
nop
mov dword [esp - 4], 0x1430b1b2
xchg ecx, ecx
add dword [esp - 4], 0x5852a320
sub dword [esp - 4], 0x3f3b73ae
xor dword [esp - 4], 0x293e8274
mov dword [esp - 0x20], esp
sub dword [esp - 4], 0x103f102
add dword [esp - 4], 0x3116c8ef
sub dword [esp - 4], 0x348c3b3d
mov dword [esp - 0x10], 0x2d3fcaa9
sub esp, 4
call eax
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x48], esi
mov dword [esp - 0x44], 0x26e0d04d
mov eax, dword [0x4c0cd0]
xor eax, dword [0x4c0968]
push edi
call eax
mov dword [esp - 0x14], esi
push esi
movzx edi, ax
call fcn.00490c60
mov esi, esi
add esp, 4
test di, di
setne al
pop edi
mov dword [esp - 0x2c], 0x1ac1a11
pop esi
pop ebx
mov esp, ebp
pop ebp
xchg edi, edi
ret 4
xor al, al
mov esp, ebp
pop ebp
ret 4