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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xf0
mov dword [esp + 4], 0x599d5b7f
mov dword [esp + 8], 0x5dae5fa8
mov dword [esp + 0xc], 0x51b55398
mov dword [esp + 0x10], 0x55b157a4
mov dword [esp + 0x14], 0x696a6b6f
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0
xor ecx, ecx
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + edx + 4]
mov edi, edx
xor edi, 0x497e7671
mov ebx, ecx
and ebx, 0x1c
sub ebx, edi
mov edi, ebx
and edi, esi
add ebx, esi
add edi, edi
sub ebx, edi
add bl, 0x35
mov byte [esp + edx + 4], bl
inc edx
add ecx, 2
cmp edx, 0x18
jne 0x42cec0
lea esi, [esp + 0xc6]
lea edx, [esp + 4]
mov ecx, 5
mov edi, esi
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xda]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea edi, [esp + 0x68]
push edi
push 0
push 0
push 9
push esi
push 0
call dword [0x451b28]
mov ebx, dword [esp + 0x68]
test ebx, ebx
jns 0x42cf37
mov eax, 0xffffffff
jmp 0x42cf3a
lea eax, [ebx + ebx]
push eax
call fcn.0040cee0
add esp, 4
push edi
push ebx
mov dword [esp + 0x50], eax
push eax
push 9
push esi
push 0
call dword [0x451b28]
mov dword [esp + 4], 0x43eb4104
mov dword [esp + 8], 0x47e545d7
mov dword [esp + 0xc], 0x4bd849e7
mov dword [esp + 0x10], 0x4f4e4de8
mov eax, 0x8fa883f0
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x70577c14]
xor ecx, eax
mov edx, ecx
not edx
or edx, 0x31b56c4f
add edx, ecx
inc edx
mov edi, edx
and edi, 2
mov esi, edx
or edx, 2
imul edx, edi
xor edi, 2
and esi, 0xfd
imul esi, edi
mov edi, ecx
and edi, 0x4f
add edi, edi
sub ecx, edi
add ecx, edx
add ecx, esi
add cl, 0x50
mov byte [esp + eax + 0x70577c14], cl
inc eax
cmp eax, 0x8fa88400
jne 0x42cf80
lea edi, [esp + 0x9a]
lea edx, [esp + 4]
mov esi, edx
mov ecx, 4
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea edi, [esp + 0xaa]
lea esi, [esp + 0x14]
xor ecx, ecx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov dword [esp + 4], 0x37cf39e4
mov dword [esp + 8], 0x33cd35bb
mov dword [esp + 0xc], 0xcf4031c3
mov dword [esp + 0x10], 0xcb15cd30
mov dword [esp + 0x14], 0xc734c929
mov dword [esp + 0x18], 0xc34cc525
mov dword [esp + 0x1c], 0xdfdec149
lea ebx, [esp + 0x20]
mov byte [esp + 0x20], 0
mov ecx, 0x89
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [edx]
lea esi, [ecx - 0x5dd74800]
or esi, edi
and edi, ecx
not esi
or esi, edi
add esi, 0x2acb9ab1
mov edi, esi
and edi, 1
xor esi, 1
lea eax, [esi + edi*2]
mov byte [edx], al
inc edx
dec ecx
cmp ecx, 0x6c
jne 0x42d050
lea edi, [esp + 0xaa]
lea eax, [esp + 4]
mov ecx, 7
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xc6]
xor eax, eax
xor ecx, ecx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov dword [esp + 4], 0xb925bb40
mov dword [esp + 8], 0xbd5bbf2d
mov dword [esp + 0xc], 0xb124b32d
mov dword [esp + 0x10], 0xb546b754
mov dword [esp + 0x14], 0xa96cab40
lea ebx, [esp + 0x18]
mov dword [esp + 0x18], 0xafa8
mov byte [esp + 0x1c], 0
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 4]
mov ebp, eax
and ebp, 2
mov edi, eax
or edi, 2
imul edi, ebp
xor ebp, 2
mov esi, eax
and esi, 0x1d
imul esi, ebp
mov ebp, eax
xor ebp, 0xdf
add ebp, edi
add ebp, esi
lea esi, [ecx + ecx]
not esi
add esi, ecx
xor ecx, esi
and ecx, ebp
xor ecx, esi
mov dl, 0xa4
sub dl, cl
mov byte [esp + eax + 4], dl
inc eax
cmp eax, 0x19
jne case.default.0x42d18f
lea esi, [esp + 0xda]
lea eax, [esp + 4]
mov edi, esi
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xee]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
lea eax, [esp + 0x9a]
mov dword [esp + 0x8c], eax
lea eax, [esp + 0xaa]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], esi
mov eax, dword [esp + 0x48]
add eax, 2
mov dword [esp + 0x6c], eax
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x54], 0
cmp ecx, 0xc
setne al
xor ecx, ecx
jmp dword [eax*4 + 0x44ddfc]