Function at 0x43c2c0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x210
lea edx, [esp + 0xc]
push ebx
push ebp
push esi
mov esi, ecx
mov ecx, dword [esp + 0x220]
push edi
mov eax, dword [esi + 0x44]
xor ebx, ebx
push ecx
mov byte [esi + 4], bl
push edx
mov byte [eax + esi + 0x31], bl
call dword [0x48329c]
lea eax, [esp + 0x1c]
push str..isf
push eax
call fcn.0043a0d0
add esp, 8
lea ecx, [esp + 0x1c]
push 1
push ecx
mov ecx, dword [esi + 8]
call fcn.0043b0f0
test al, al
jne 0x43c31b
mov dword [esi], 1
jmp 0x43c5bc
mov ecx, dword [esi + 8]
call fcn.0043b450
mov edi, eax
cmp edi, 0xa
mov dword [esp + 0x10], edi
jge 0x43c341
mov ecx, dword [esi + 8]
call fcn.0043b3d0
mov dword [esi], 1
jmp 0x43c5bc
mov eax, dword [esi + 0x14]
cmp eax, ebx
je 0x43c352
push eax
call dword [0x4832e8]
mov dword [esi + 0x14], ebx
lea edx, [edi + 4]
mov byte [esi + 0xc], 1
push edx
push 0x40
call dword [0x4832e0]
cmp eax, ebx
mov dword [esi + 0x14], eax
jne 0x43c37c
mov ecx, dword [esi + 8]
call fcn.0043b3d0
mov dword [esi], 1
jmp 0x43c5bc
mov ecx, dword [esi + 8]
push edi
push eax
mov dword [esp + 0x20], ebx
call fcn.0043b480
mov ecx, dword [esi + 8]
call fcn.0043b3d0
mov eax, dword [esi + 0x14]
push edi
lea ecx, [esp + 0x20]
push eax
push ecx
call fcn.0044cbb0
add esp, 0xc
test eax, eax
jne 0x43c3cf
mov ecx, dword [0x4ccd64]
push 0x10
push 0x4902fc
call fcn.00448c20
mov dword [esi], 1
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x210
ret 4
mov eax, dword [esi + 0x14]
xor ebx, ebx
mov edi, dword [eax + 8]
mov cx, word [eax + 4]
mov dl, byte [eax + 6]
mov dword [esp + 0x14], edi
lea edi, [eax + 0xc]
xor eax, eax
mov ah, cl
mov bl, ch
and eax, 0xffff
and ebx, 0xff
or eax, ebx
cmp eax, 0x9597
jg 0x43c45e
je 0x43c43a
cmp eax, 0x89ce
je 0x43c41e
cmp eax, 0x8df7
jne 0x43c482
mov edx, dword [esi + 0x44]
mov ebx, 1
mov byte [edx + esi + 0x31], 1
jmp 0x43c486
mov eax, dword [esp + 0x10]
add eax, 0xfffffff8
test eax, eax
jle 0x43c433
mov cl, byte [edi]
xor cl, dl
mov byte [edi], cl
inc edi
dec eax
jne 0x43c429
mov ebx, 1
jmp 0x43c486
mov ecx, dword [esp + 0x10]
add ecx, 0xfffffff8
test ecx, ecx
jle 0x43c457
mov al, byte [edi]
mov dl, al
shl dl, 6
shr al, 2
or dl, al
mov byte [edi], dl
inc edi
dec ecx
jne 0x43c445
mov ebx, 1
jmp 0x43c486
cmp eax, 0x97d1
jne 0x43c482
mov eax, dword [esp + 0x10]
add eax, 0xfffffff8
test eax, eax
jle 0x43c47b
mov cl, byte [edi]
inc edi
not cl
mov byte [edi - 1], cl
dec eax
jne 0x43c470
mov ebx, 1
jmp 0x43c486
mov ebx, dword [esp + 0x18]
mov edx, dword [esi + 0x44]
mov al, byte [edx + esi + 0x31]
cmp al, 1
jne 0x43c4b0
mov ecx, dword [0x4ccd64]
push 0x10
push 0x4902d0
call fcn.00448c20
mov dword [esi], 1
xor ebx, ebx
jmp 0x43c5bc
test ebx, ebx
je 0x43c5bc
mov ecx, dword [esi + 0x14]
test al, al
mov eax, dword [ecx]
jne 0x43c4d4
sub eax, 8
lea ebp, [ecx + 0xc]
cdq
and edx, 3
add eax, edx
mov edi, eax
sar edi, 2
jmp 0x43c4e5
sub eax, 0x10
lea ebp, [ecx + 0x14]
cdq
and edx, 3
add eax, edx
mov edi, eax
sar edi, 2
mov eax, dword [esi + 0x10]
test eax, eax
je 0x43c4fa
push eax
call dword [0x4832e8]
mov dword [esi + 0x10], 0
lea eax, [edi*4]
push eax
push 0x40
call dword [0x4832e0]
test eax, eax
mov dword [esi + 0x10], eax
jne 0x43c51e
mov dword [esi], 1
xor ebx, ebx
jmp 0x43c5bc
xor eax, eax
test edi, edi
jle 0x43c53a
mov ecx, dword [ebp]
mov edx, dword [esi + 0x14]
add ecx, edx
mov edx, dword [esi + 0x10]
add ebp, 4
mov dword [edx + eax*4], ecx
inc eax
cmp eax, edi
jl 0x43c524
mov eax, dword [esi + 0x44]
mov cl, byte [eax + esi + 0x31]
test cl, cl
jne 0x43c54e
lea edi, [edi*4 + 8]
jmp 0x43c555
lea edi, [edi*4 + 0x10]
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x14]
sub eax, edi
add eax, 3
cdq
and edx, 3
add eax, edx
lea edx, [ecx + edi]
sar eax, 2
test eax, eax
jle 0x43c57e
mov edi, dword [edx]
add edx, 4
mov dword [ecx], edi
add ecx, 4
dec eax
jne 0x43c571
mov ecx, dword [esi + 0x14]
lea edx, [esp + 0x1c]
lea edi, [esi + 0x24]
push 0xd
push edx
push edi
mov dword [esi + 0x18], ecx
call fcn.0046bf90
mov eax, dword [0x4ccd64]
add esp, 0xc
mov ecx, dword [eax + 0x804]
call fcn.00415ee0
mov ecx, dword [esi + 0x260]
test ecx, ecx
je 0x43c5bc
mov edx, dword [esp + 0x14]
push edx
push edi
call fcn.00439140
cmp dword [esi], 1
jne 0x43c5f1
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x120]
push eax
push 0x490204
push ecx
call dword [0x483534]
mov ecx, dword [0x4ccd64]
add esp, 0xc
lea edx, [esp + 0x120]
push 0
push edx
call fcn.00448c20
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x210
ret 4