Function at 0x43a059
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
push 0x80000301
push 0
push dword [ebp + 0x10]
push 1
mov ebx, 0x1bc
call fcn.00440cd0
add esp, 0x10
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x439e55
push ebx
call fcn.00440cbe
add esp, 4
pop eax
mov dword [ebp - 4], eax
push 0x80000401
push dword [ebp + 0xc]
push dword [ebp + 8]
push 1
mov ebx, 0x198
call fcn.00440cd0
add esp, 0x10
mov dword [ebp - 0x10], eax
push 0x80000301
push 0
push 4
push 0x80000005
push 0
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x439e98
mov eax, 0xed
push eax
push 2
mov ebx, 0x1a0
call fcn.00440cd0
add esp, 0x1c
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x439ebe
push ebx
call fcn.00440cbe
add esp, 4
mov dword [ebp - 0x18], esp
push 0
mov eax, dword [ebp - 4]
test eax, eax
je 0x439ed0
add eax, 8
push eax
mov eax, dword [ebp - 4]
test eax, eax
je 0x439edb
add eax, 8
push eax
mov eax, 0xa
call fcn.00440ce2
cmp dword [ebp - 0x18], esp
je 0x439ef8
push 6
call fcn.00440cdc
add esp, 4
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x198
call fcn.00440cd0
add esp, 0x10
mov dword [ebp - 0x20], eax
push 0x80000301
push 0
push dword [ebp + 0x10]
push 1
mov ebx, 0x198
call fcn.00440cd0
add esp, 0x10
mov dword [ebp - 0x24], eax
push dword [ebp - 0x24]
push dword [ebp - 0x20]
push dword [ebp - 0x14]
mov ecx, 3
call fcn.00439dad
add esp, 0xc
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x439f5d
push ebx
call fcn.00440cbe
add esp, 4
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x439f6d
push ebx
call fcn.00440cbe
add esp, 4
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x439f7d
push ebx
call fcn.00440cbe
add esp, 4
mov eax, dword [ebp - 0x28]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x439f91
push ebx
call fcn.00440cbe
add esp, 4
pop eax
mov dword [ebp - 8], eax
mov dword [ebp - 0x10], esp
lea eax, [ebp - 0xc]
push eax
push 0
push 0
push 0xc
mov eax, dword [ebp - 8]
test eax, eax
je 0x439fb5
add eax, 8
push eax
push 8
mov eax, 0xe
call fcn.00440ce2
cmp dword [ebp - 0x10], esp
je 0x439fd7
push 6
call fcn.00440cdc
add esp, 4
cmp dword [ebp - 0xc], 0
jg 0x43a012
mov eax, 0xed
test eax, eax
je 0x439ffd
sal byte [ebx + edx + 0x50], 0x8b
inc eax
add al, 0x83
ror byte [eax], 0x50
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.00440cc4
int 0x6c
add byte [eax], al
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x5b]
lcall 0xf240, 0xe8a30082
jb 0x439fe7
ficom word [ecx + 0x5f00c45b]
les eax, [eax]
pop edi
add byte [edi - 0x7d], bl
invalid
xor eax, 0xffffffa1
loope 0x43a00d
mov eax, dword [0x82b8f8e1]
mov ch, 0xe1
mov eax, 0xe7e1b582
leave
out 0xc9, eax
jne 0x439ff3
xchg esp, ebx
stc
fadd dword [edx]
pop ds
mov dl, 0xcb
dec ebp
push ecx
push esp
jle 0x43a019
test al, 0x73
js 0x43a09b
sub byte [eax - 0x38e26a7], bl
arpl word [ecx - 0x5de13cde], di
add al, 0x5f
push es
add dh, cl
int1
rcr esp, 1
xchg ecx, eax
pushal
sub dword [ebx], ebp
ror ebp, cl
fcomp dword [ebp + 0x54]
mov esp, 0x5733797b
sbb dword [esi - 0x2dc83ca5], esi
add byte [edi + 0x48d3770e], cl
ja 0x43a02e
dec eax
adc esi, dword [ebp + 0x55]
in eax, 0xb5
mov al, 0xeb
and al, 6
rcr byte [edi + 0x7b0d21e8], 1
cmp dh, cl
ja 0x43a0ac
jge 0x43a02c
pop es
lahf
sbb byte [edx - 0x2f], al
lodsd eax, dword [esi]
xlatb
in eax, dx
ja 0x43a00e
clc
adc eax, 0xdcf1ae68
stosb byte es:[edi], al
jb 0x43a028
inc ebp
push eax
call 0x97a086ee
imul ecx, dword ds:[edi + 0x39], 0x1dc4e40c
stosd dword es:[edi], eax
mov cl, 0xae
cmpsb byte [esi], byte es:[edi]
xchg dl, al
mov bl, 0xd2
dec ecx
iretd
ret 0xd2b3
nop
mov dword [ecx], esi
iretd