Function at 0x43d0b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x1c
mov eax, dword [esp + 0x34]
xor ecx, ecx
test eax, eax
je 0x43d0e3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [eax + ecx], 0
lea ecx, [ecx + 2]
jne 0x43d0d0
add ecx, 0xfffffffe
and ecx, 0xfffe
mov word [esp + 0x14], cx
mov edx, eax
test eax, eax
je 0x43d0f3
add ecx, 2
mov edx, ecx
mov word [esp + 0x16], dx
mov dword [esp + 0x18], eax
mov dword [esp], 0x9c989ca7
xor eax, eax
mov cl, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [esp + eax*2]
mov edx, 0x11a0
sub edx, eax
mov edi, eax
add edi, 0x256ee5f
xor edx, edi
and edx, esi
xor edx, edi
mov esi, edx
xor esi, 0x72f9
and edx, 0xd06
add edx, edx
sub edx, esi
inc edx
mov word [esp + eax*2], dx
mov eax, 1
xor edx, edx
test cl, 1
mov ecx, 0
jne 0x43d110
mov eax, dword [esp]
mov dword [esp + 0x10], 0x249024a
nop
nop
nop
nop
movzx ecx, word [esp + edx*2 + 0x10]
mov esi, edx
or esi, 0x9208
mov edi, 0x6df7
sub edi, edx
xor edi, esi
and edi, ecx
xor edi, esi
add edi, 0x6fc0
mov word [esp + edx*2 + 0x10], di
lea edx, [edx + edx*2]
xor edx, 1
cmp edx, 2
jb 0x43d160
mov ecx, dword [esp + 0x10]
mov dword [esp + 4], 0x785d785e
xor edx, edx
mov bl, 1
movzx esi, word [esp + edx*2 + 4]
mov ebp, 0x6366
sub ebp, edx
mov edi, edx
add edi, 0x5d6e9c99
xor ebp, edi
and ebp, esi
xor ebp, edi
mov esi, ebp
mov edi, ebp
xor edi, 0x148b1b37
add edi, ebp
and ebp, 0x140a1b37
and esi, 0x4964e4c8
sub edi, esi
mov esi, edi
and esi, ebp
xor edi, ebp
lea esi, [edi + esi*2]
inc esi
mov word [esp + edx*2 + 4], si
mov edx, 1
test bl, 1
mov ebx, 0
jne 0x43d1a0
mov ebx, dword [esp + 4]
mov edx, dword [0x4482e0]
test edx, edx
je 0x43d24e
xor edi, edi
mov ebp, dword [0x4482e4]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp + edi*8], 0x299a4ecd
je 0x43d221
inc edi
cmp edx, edi
jne 0x43d210
jmp 0x43d24e
mov edx, dword [ebp + edi*8 + 4]
cmp edx, ebx
je 0x43d24e
lea esi, [esp + 0xc]
lea edi, [esp + 0x14]
push esi
push eax
push 0
push ecx
push edi
push dword [esp + 0x44]
push 0x18
push edx
push dword [0x4482e8]
call fcn.00439ac0
add esp, 0x24
mov ebx, eax
cmp ebx, 0xc0000023
jne 0x43d3fc
push dword [esp + 0xc]
call fcn.00438390
add esp, 4
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], ecx
mov dword [esp], 0xde11de12
xor ecx, ecx
mov dl, 1
xor ebp, ebp
nop
nop
nop
nop
nop
movzx esi, word [esp + ecx*2]
mov edi, ecx
or edi, 0x2f318a90
and edi, esi
add esi, ecx
add esi, 0x2f318a90
add edi, edi
sub esi, edi
add esi, 0xffffab80
mov word [esp + ecx*2], si
mov ecx, 1
test dl, 1
mov edx, 0
jne 0x43d280
mov edx, dword [esp]
mov dword [esp + 4], 0x785d785e
mov cl, 1
movzx esi, word [esp + ebp*2 + 4]
mov edi, 0x6366
sub edi, ebp
mov ebx, ebp
add ebx, 0x5d6e9c99
xor edi, ebx
and edi, esi
xor edi, ebx
mov esi, edi
mov ebx, edi
xor ebx, 0x148b1b37
add ebx, edi
and edi, 0x140a1b37
and esi, 0x4964e4c8
sub ebx, esi
mov esi, ebx
and esi, edi
xor ebx, edi
lea esi, [ebx + esi*2]
inc esi
mov word [esp + ebp*2 + 4], si
mov ebp, 1
test cl, 1
mov ecx, 0
jne 0x43d2c0
mov ebx, dword [esp + 4]
mov ecx, dword [0x4482e0]
test ecx, ecx
je 0x43d373
xor edi, edi
mov esi, dword [0x4482e4]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edi*8], 0x299a4ecd
je 0x43d340
inc edi
cmp ecx, edi
jne 0x43d330
jmp 0x43d373
mov ecx, dword [esi + edi*8 + 4]
cmp ecx, ebx
je 0x43d373
lea esi, [esp + 0xc]
lea edi, [esp + 0x14]
push esi
push dword [esp + 0xc]
push eax
push edx
push edi
push dword [esp + 0x44]
push 0x18
push ecx
push dword [0x4482e8]
mov esi, eax
call fcn.00439ac0
add esp, 0x24
mov ebx, eax
mov eax, esi
test ebx, ebx
js 0x43d3f3
mov edx, dword [esp + 0x38]
test edx, edx
je 0x43d384
mov ecx, dword [eax + 4]
mov dword [edx], ecx
cmp dword [esp + 0x40], 0
je 0x43d3f3
cmp dword [esp + 0x3c], 0
je 0x43d3ea
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx]
mov ecx, dword [eax + 8]
cmp edx, ecx
jb 0x43d3a1
mov edx, ecx
lea esi, [eax + 0xc]
mov ecx, edx
shr ecx, 2
mov ebp, dword [esp + 0x3c]
mov edi, ebp
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
mov ecx, edx
and ecx, 0xfffffffc
add ebp, ecx
lea esi, [eax + ecx]
add esi, 0xc
mov ecx, edx
shr ecx, 1
and ecx, 1
mov dword [esp + 8], esi
mov edi, ebp
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
test dl, 1
je 0x43d3ea
and edx, 2
mov ecx, dword [esp + 8]
movzx ecx, byte [ecx + edx]
mov byte [ebp + edx], cl
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x40]
mov dword [edx], ecx
push eax
call fcn.004383b0
add esp, 4
mov eax, ebx
add esp, 0x1c
pop esi
pop edi
pop ebx
pop ebp
ret