Function at 0x43e220
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebx
push edi
push esi
sub esp, 0x10
mov ecx, dword [esp + 0x20]
mov dword [esp + 4], 0x4b4a4918
mov word [esp + 8], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 5
ja 0x43e27e
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 4]
add eax, 0xa47536dc
xor eax, edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0x6c
mov edx, dword [esp]
mov byte [esp + edx + 4], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 6
jb 0x43e250
mov eax, dword [esp + 4]
mov eax, dword fs:[eax]
xor edx, edx
test ecx, ecx
sete dl
jmp dword [edx*4 + 0x44947c]
mov edx, dword [eax + 0xc]
add edx, 0xc
xor eax, eax
mov esi, dword [edx]
xor ebx, ebx
cmp esi, edx
setne bl
jmp dword [ebx*4 + 0x449484]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
add edx, 0xc
xor eax, eax
mov esi, dword [edx]
xor ebx, ebx
cmp esi, edx
setne bl
jmp dword [ebx*4 + 0x449484]
xor ebx, ebx
cmp dword [esi + 0x18], ecx
sete bl
jmp dword [ebx*4 + 0x44949c]
add esp, 0x10
pop esi
pop edi
pop ebx
ret
loop 0x4494c2
add byte [ebx + 0x70043e2], ch
jecxz 0x4494ca
add ah, ch
loop 0x4494ce
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add ah, ch
loop 0x4494da
add byte [ecx], al
add byte [eax], al
add bl, bh
loop 0x4494e2
add al, dl
loop 0x4494e6
add byte [edi], al
jecxz 0x4494ea
add ah, bl
loop 0x4494ee
add byte [ebx - 0x28ffbc1d], al
jecxz 0x4494f6
add ch, bl
jecxz 0x4494fa
add byte [ebx - 0x1c5fffbd], bh
inc ebx
add bl, cl
jecxz 0x449506
inc ebx
add ch, bl
jecxz 0x44950a
add byte [ebx - 0x1bfdffbd], ch
inc ebx
add byte [edx], al
in al, 0x43
inc ebx
add byte [ecx - 0x1c], ch
inc ebx
add byte [ecx - 0x1c], ch
inc ebx
add byte [esi - 0x31ffbc1c], bh
inc ebx
add dh, cl
in al, 0x43
add byte [edx - 0x19], bh
inc ebx
add byte [0x7a0043e5], bh
out 0x43, eax
inc ebx
add byte [edx - 0x19], bh
inc ebx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [0x10043e5], bh
add byte [eax], al
add dword [eax], eax
add byte [eax], al
cmp eax, 0x10043e5
inc ebx
add byte [ecx], al
add byte [eax], al
add byte [esi - 0x1b], bl
inc ebx
add byte [eax], al
pop esi
in eax, 0x43
add byte [edx - 0x19], bh
inc ebx
add byte [esi - 0x19], ch
inc ebx
add byte [eax + 0x310043e5], ah
inc ebx
add byte [ecx], dh
out 0x43, eax
add ch, ch
out 0x43, al
add byte [ecx - 0x19], ah
inc ebx
add byte [edx - 0x19], dl
inc ebx
add byte [ecx - 0x19], ah
inc ebx
add byte [esi - 0x19], ch
inc ebx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add ch, ch
out 0x43, al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [esi - 0x19], ch
inc ebx
add byte [ecx], al
add byte [eax], al
add byte [edx - 0x19], bh
inc ebx
add byte [eax - 0x19], bh
inc ebx
add byte [eax - 0x7fffbc19], al
out 0x43, eax
add byte [edx - 0x7fffbc19], al
out 0x43, eax
add byte [eax - 0x4fffbc19], dh
out 0x43, eax
add byte [ebx - 0x4fffbc19], bh
out 0x43, eax
add byte [edi], bl
call 0xe93a95b5
inc ebx
add byte [edx - 0xfffbc18], bl
call 0xe93495c1
inc ebx
add al, dh
call 0xe93495c9
inc ebx
add dh, dh
call 0xe90395d1
inc ebx
add dh, dh
call 0xe96895d9
inc ebx
add dh, dh
call 0xe93a95e1
inc ebx
add byte [ecx + ebp*8], dh
inc ebx
add byte [edx], bh
ljmp 0x43