Function at 0x42e850
Capabilities:
Encode data using base64
Encode data using xor
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x9f0
mov esi, esp
push 0x1000
call fcn.0040c730
add esp, 4
mov dword [esi + 0x14], eax
mov dword [esi + 0x734], 0x12e20c6
mov dword [esi + 0x738], 0x2f7a6773
mov dword [esi + 0x73c], 0xd734
mov byte [esi + 0x740], 0
mov eax, 0xad
mov edi, 0x52
movzx ecx, byte [esi + eax + 0x687]
mov ebx, edi
and ebx, 0x47
mov edx, eax
and edx, 0x98
or edx, ebx
xor edx, 0x98
or edx, ecx
mov ebx, ecx
not ebx
or ebx, edi
add ebx, ecx
mov ecx, 0xfe
sub ecx, ebx
and ecx, edx
mov dl, 0x9e
sub dl, cl
mov byte [esi + eax + 0x687], dl
inc eax
dec edi
cmp eax, 0xba
jne 0x42e8a0
mov eax, dword [0x448674]
mov dword [esi + 4], eax
mov dword [esi + 0x404], 0xd4fec0e6
mov dword [esi + 0x408], 0xe340d01
mov dword [esi + 0x40c], 0x2a04000d
mov dword [esi + 0x410], 0x131b101c
mov word [esi + 0x414], 0xefc6
mov byte [esi + 0x416], 0x8e
mov dword [esi + 0x417], 0
mov byte [esi + 0x41b], 0
mov eax, 0x25
mov edx, 0xda
nop
movzx edi, byte [esi + eax + 0x3df]
lea ebx, [edx - 0xc0]
and ebx, 0x11
mov ecx, eax
and ecx, 0x6e
or ecx, ebx
mov ebx, edx
or ebx, edi
xor ecx, 0xee
and ecx, edi
not ebx
or ebx, ecx
add bl, 0x47
mov byte [esi + eax + 0x3df], bl
inc eax
dec edx
cmp eax, 0x3d
jne 0x42e940
mov eax, dword [str.GThHyI]
mov dword [esi + 8], eax
mov dword [esi + 0x9c], 0x96e0c1c3
mov dword [esi + 0xa0], 0x9898c5ad
mov dword [esi + 0xa4], 0xefdaf38f
mov dword [esi + 0xa8], 0x83feddfb
mov dword [esi + 0xac], 0x928f8c85
mov dword [esi + 0xb0], 0x88818a8a
mov dword [esi + 0xb4], 0xe810b2ba
mov dword [esi + 0xb8], 0x86bbcfec
mov dword [esi + 0xbc], 0xbfa7d2e6
mov dword [esi + 0xc0], 0xb8bae5b8
mov dword [esi + 0xc4], 0xfbd0aabf
mov dword [esi + 0xc8], 0xa2aba1dc
mov dword [esi + 0xcc], 0xb2afb0ad
mov dword [esi + 0xd0], 0xa3b3aea6
mov dword [esi + 0xd4], 0xf15e564a
mov dword [esi + 0xd8], 0x5a320d11
mov dword [esi + 0xdc], 0x20435c5d
mov dword [esi + 0xe0], 0x52240516
mov dword [esi + 0xe4], 0x315e4541
mov dword [esi + 0xe8], 0x4b5d221c
mov dword [esi + 0xec], 0x13010010
mov dword [esi + 0xf0], 0x3040506
mov dword [esi + 0xf4], 0x172a34d2
mov dword [esi + 0xf8], 0x2f040915
mov byte [esi + 0xfc], 0xc0
mov byte [esi + 0xff], 0
mov word [esi + 0xfd], 0
mov edx, 0x1418e948
mov ecx, 0xb7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esi + edx - 0x1418e8ac]
lea eax, [ebx + ebx]
not eax
add eax, ebx
mov edi, ecx
and edi, ebx
not ebx
or ebx, eax
and ebx, edx
or ebx, edi
mov eax, 0x7c
sub eax, ebx
add ebx, 3
and eax, 0xeb
and ebx, 0x14
sub ebx, eax
mov byte [esi + edx - 0x1418e8ac], bl
inc edx
dec ecx
cmp edx, 0x1418e9ac
jne 0x42eaa0
movzx edx, byte [esi + 0x9c]
mov eax, dword [esi + 0x14]
mov ebx, eax
test dl, dl
je 0x42eb0b
lea edi, [esi + 0x9d]
mov ebx, eax
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x42eb00
mov byte [ebx], 0
mov ecx, dword [esi + 8]
movzx edx, byte [ecx]
test dl, dl
je 0x42eb2d
inc ecx
mov eax, dword [esi + 4]
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x42eb20
jmp 0x42eb30
mov eax, dword [esi + 4]
mov byte [ebx], 0
movzx ecx, byte [esi + 0x404]
test cl, cl
je 0x42eb5b
lea edx, [esi + 0x405]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x42eb50
mov byte [ebx], 0
movzx ecx, byte [eax]
test cl, cl
je 0x42eb7b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x42eb70
mov byte [ebx], 0
movzx eax, byte [esi + 0x734]
test al, al
je 0x42eb9b
lea ecx, [esi + 0x735]
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42eb90
mov byte [ebx], 0
push 0
call fcn.00442f90
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44c808]