Function at 0x42ecc0
Capabilities:
Authenticate hmac
Encode data using xor
Resolve function by parsing pe exports

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.0040cda0
add esp, 4
mov dword [esi + 0x14], eax
mov dword [esi + 0x734], 0xc7165c7e
mov dword [esi + 0x738], 0x35dae9d5
mov word [esi + 0x73c], 0x7110
mov dword [esi + 0x73e], 0
mov word [esi + 0x742], 0
mov edx, 0xbe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esi + edx + 0x676]
mov ebx, eax
mov edi, eax
and ebx, edx
mov eax, ebx
or al, 0xfd
inc al
mov ecx, ebx
and cl, 0xfd
mul cl
mov ecx, eax
mov eax, edi
add cl, al
mov eax, ebx
shr al, 1
and al, 1
or bl, 2
mul bl
add al, al
sub cl, al
movzx eax, cl
add eax, edx
add al, 0x4a
mov byte [esi + edx + 0x676], al
inc edx
cmp edx, 0xce
jne 0x42ed20
mov eax, dword [str.5c9b8674a630d9101b46733aa37f15ec]
mov dword [esi + 4], eax
mov dword [esi + 0x404], 0xdc06f01e
mov dword [esi + 0x408], 0x46bcb5b1
mov dword [esi + 0x40c], 0x3a4c5045
mov dword [esi + 0x410], 0x434b4054
mov word [esi + 0x414], 0xf71e
mov byte [esi + 0x416], 0xd6
mov dword [esi + 0x417], 0
mov byte [esi + 0x41b], 0
mov ecx, 0xf9
mov edx, 6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esi + ecx + 0x30b]
mov ebx, edx
xor ebx, ecx
and ebx, edi
xor ebx, ecx
add bl, 0x23
mov byte [esi + ecx + 0x30b], bl
inc ecx
dec edx
cmp ecx, 0x111
jne 0x42edd0
mov ecx, dword [str.tLYMe5__6]
mov dword [esi + 0x9c], 0x8ed03133
mov dword [esi + 0xa0], 0x88883d85
mov dword [esi + 0xa4], 0xe73ac387
mov dword [esi + 0xa8], 0x93c625cb
mov dword [esi + 0xac], 0xe297949d
mov dword [esi + 0xb0], 0x98919a9a
mov dword [esi + 0xb4], 0x2800e29a
mov dword [esi + 0xb8], 0xaeabf714
mov dword [esi + 0xbc], 0xa7dfc21e
mov dword [esi + 0xc0], 0xa8aa1da8
mov dword [esi + 0xc4], 0x1be0aad7
mov dword [esi + 0xc8], 0xb2bbb1e4
mov dword [esi + 0xcc], 0xc2b7c0b5
mov dword [esi + 0xd0], 0xb3c3c6be
mov dword [esi + 0xd4], 0x21b6beca
mov dword [esi + 0xd8], 0x4a22f501
mov dword [esi + 0xdc], 0x10334445
mov dword [esi + 0xe0], 0x421cfd0e
mov dword [esi + 0xe4], 0x1364d31
mov dword [esi + 0xe8], 0x5b2532e4
mov dword [esi + 0xec], 0xe31f10e0
mov dword [esi + 0xf0], 0x131c1d1e
mov dword [esi + 0xf4], 0x3fea1cc2
mov dword [esi + 0xf8], 0xd72c393d
mov byte [esi + 0xfc], 0xf0
mov byte [esi + 0xff], 0
mov word [esi + 0xfd], 0
mov edx, 0xc4
mov eax, 0x3b
nop
nop
nop
nop
nop
mov edi, eax
and edi, 0x7b
mov ebx, edx
and ebx, 0x84
or ebx, edi
xor bl, byte [esi + edx - 0x28]
xor bl, 0x7b
add bl, 0x2c
mov byte [esi + edx - 0x28], bl
inc edx
dec eax
cmp edx, 0x128
jne 0x42ef10
movzx edx, byte [esi + 0x9c]
mov eax, dword [esi + 0x14]
mov ebx, eax
test dl, dl
je 0x42ef5b
lea edi, [esi + 0x9d]
mov ebx, eax
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x42ef50
mov byte [ebx], 0
movzx edx, byte [ecx]
test dl, dl
je 0x42ef7d
inc ecx
mov eax, dword [esi + 4]
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x42ef70
jmp 0x42ef80
mov eax, dword [esi + 4]
mov byte [ebx], 0
movzx ecx, byte [esi + 0x404]
test cl, cl
je 0x42efab
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 0x42efa0
mov byte [ebx], 0
movzx ecx, byte [eax]
test cl, cl
je 0x42efcb
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 0x42efc0
mov byte [ebx], 0
movzx eax, byte [esi + 0x734]
test al, al
je 0x42efeb
lea ecx, [esi + 0x735]
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42efe0
mov byte [ebx], 0
push 0
call fcn.00442900
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44c5a0]