Function at 0x451515
Capabilities:
Authenticate hmac
Encode data using base64
Parse pe header
Resolve function by parsing pe exports

Disassembly:
jns 0x451587
test al, 0x9a
xchg edx, eax
mov edi, dword [ebx - 0x44746e67]
sahf
xchg edi, eax
xchg ecx, eax
mov edi, 0xc3969da4
cmp byte [ecx + 0x71], 0xa8
imul esp, dword [edx + 0x5a], 0xffffff95
push 0x61
pop ebx
xchg ebp, eax
jae 0x4515a0
arpl word [esi + eax*4 + 0x5eac767d], bx
push esi
push ecx
mov byte [edi + 0x3e], al
cmp byte [edx + 0x57], dh
dec ebp
inc esi
sbb byte [eax + 0x4f], 0x4a
test dword [edx + 0x59], esp
push edx
mov ds, word [edi + 0x56]
dec edi
mov al, byte [eax + 0x39]
xor ebp, dword [edx + 0x41]
cmp byte [ecx], dh
imul ecx, dword [edi + 0x45], 0x3e
jp 0x45158f
daa
and dl, byte [ebx + 0xd]
or cl, byte [eax]
sub byte [edi], dl
pop ss
adc dword [esi], ecx
aaa
xor ch, byte [edx]
and ebx, dword [edx + 0x55]
dec ebx
inc ecx
jg 0x4515b7
cmp dword [ecx], esi
imul edx, dword [esi], 0x10
or eax, 0x191c2232
inc eax
push 0x61
pop eax
xchg ecx, eax
jne 0x4515f1
bound ebx, qword [edx + ecx*2 + 0x48743940]
aas
pushfd
dec edx
inc eax
cmp dword [eax + ecx*2 + 0x3f], esi
cmp byte [ebx + 0x5d], dh
jae 0x4515ee
push esp
dec ebx
mov byte [eax + 0x58], ah
push ecx
lea esp, [ecx + 0x5b]
push esi
nop
bound bx, dword [esi - 0x6a]
pop esp
push edi
push ebx
mov word [ebx + 0x46], cs
inc edx
jl 0x4515ff
push eax
dec esp
test dword [edi + 0x6a], ebp
pushfd
jne 0x45161f
lahf
jae 0x451622
sahf
sahf
outsd dx, dword [esi]
push 0x65
pushfd
jle 0x451637
je 0x451568
movsb byte es:[edi], byte [esi]
sahf
cwde
les edi, [edi - 0x47284b46]
mov cl, 0xaa
rcl dword [ebp + 0x6fb7848d]
pop esp
xchg edi, eax
inc eax
aaa
das
imul edx, dword [0x12e0d11], 0x50101
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [0], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add al, byte [edx]
add cl, byte [esp + eax]
add byte [eax], al
add byte [edx], al
add al, byte [edx]
or al, 4
add eax, dword [ebx]
pop ss
adc byte [ecx + ecx], cl
sub esi, dword [ecx]
sub byte [eax], ah
pop eax
sub eax, 0x454f6025
cmp al, 0x78
jo 0x451674
pop ebx
cwde
jbe 0x45167e
bound ebx, qword [esi - 0x5b948b82]
xchg esi, eax
mov es, word [esi + 0x7b828ab8]
scasd eax, dword es:[edi]
mov eax, dword [0xadc1949a]
cmpsb byte [esi], byte es:[edi]
mov al, byte [0x7f868eca]
mov dl, 0x70
pop edi
xchg esp, eax
shr dword [ebp - 0x71355f5a], 0x86
jg 0x4515de
jo 0x451695
pop edi
cdq
pop edx
push edx
dec esp
xchg byte [edi + 0x55], bl
dec esi
mov dword [ebx + 0x6a], esi
popal
wait
dec ebx
inc ebx
cmp eax, 0x31363e75
imul edx, dword [esi + 0x4c], 0x444e8145
aas
jp 0x4516a6
push eax
dec edx
xchg byte [eax + 0x50], bl
dec ecx
sub dword [ebx], 0x24
and byte [ecx + 0x32], dl
sub ah, byte [ebx]
pop edx
dec edx
inc eax
cmp byte [ebp + 0x31], dh
sub ah, byte [0xe0f1458]
xor al, 0x19
adc edx, dword [eax]
cmp esi, dword [ecx]
sub byte [ecx], ah
pop eax
push edx
dec eax
jge 0x4516b6
inc ecx
cmp byte [edi], ch
push 0x16
adc byte [0x181c2232], cl
aas
sbb byte [edi], bh
jo 0x4516e8
pop ebp
xchg ebp, eax
jnp 0x4516f8
push 0x3e464fa1
jp 0x4516e5
dec edi
dec eax
sub dword [ebx + 0x5b], 0xffffff96
bound ebx, qword [ebx + 0x53]
pop ebx
push ebx
invalid
inc ecx
jnp 0x4516fd
dec edi
dec edx
test byte [ebx + 0x65], ch
pushal
cwde
jne 0x45171f
lahf
jae 0x451722
sahf
jb 0x451728
imul ebx, dword [edi - 0x4d7e7976], 0xcaa2a6ab
mov edi, 0xaed7b4b9
test al, 0xa2
retf
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add al, 2
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx + eax], al
add al, byte [ecx]
add dword [esi], ecx
add dword [ecx], eax
push cs
ud2
or ecx, dword [eax]
daa
xor dword [edi], esp
and byte [eax + 0x35], bl
sub esp, dword [ebx]
pop esi
dec esp
inc edx
cmp dword [ebp + 0x6d], esi
arpl word [eax - 0x6b], bx
jne 0x45177d
popal
popfd
jp 0x451786
push 0x7f878fa1
mov bl, 0x8a
cmp byte [ebx - 0x51], 0x9f
scasd eax, dword es:[edi]
lahf
cwde
xchg edx, eax
shr byte [ecx - 0x7038645e], 0x87
xor byte [ebx - 0x6aa49c94], 0x48
pop dword [edi + 0x636cb380]
pop ebx
xchg ebp, eax
dec eax
inc eax
cmp dh, byte [esp + ecx*2 + 0x43]
cmp al, 0x78
push esi
dec esp
inc esp
cmp dword [ebx], 0x3d672e33
xor eax, 0x434d6930
cmp al, 0x78
aas
xor byte ss:[ebx + 0x4a], ch
inc ecx
cmp esi, dword [esi + 0x55]
dec esp
inc esi
sub byte [edi], 0x28
and edx, dword [esi + 0x39]
xor byte [edx], ch
popal
push esp
dec edx
inc edx
jg 0x4517a4
cmp esi, dword [edi]
outsd dx, dword [esi]
pop ds
sbb ebx, dword [ecx]
inc esi
pop ss
adc cl, byte [edi]
cmp dword [eax], esi
daa
and dword [edi + 0x51], edx
inc edi
jl 0x4517b5
aaa
das
imul edx, dword [esi], 0x22330d11
sbb eax, 0x66704019
pop ebp
xchg ebp, eax
xor dword [edi + 0x6e], 0x434a54a6
outsb dx, byte [esi]
cmpsb byte [esi], byte es:[edi]
push esp
dec edx
inc ebx
jle 0x4517e8
push ecx
dec ebx
test dword [ebp + 0x6c], esi
sahf
imul esp, dword [edx + 0x5a], 0x53595e95
mov fs, word [eax + 0x5b]
push edi
nop
push ebp
push eax
dec esp
xchg byte [esi + 0x41], al
inc esi
inc ecx
cmp eax, 0x3c404677
jbe 0x451803
push eax
dec ebx
test dword [ecx + 0x62], ebp
pop ebx
xchg ebp, eax
push 0x63
pop ebp
xchg esi, eax
arpl word [ebp - 0x6a], bx
insb byte es:[edi], dx
push 0x93969a64
nop
mov esp, 0xcda6aaae
mov ah, 0xb0
stosd dword es:[edi], eax
shl dword [ebx - 0x7f3c6963], 1
js 0x45183e
cmpsd dword [esi], dword es:[edi]
pop ebx
push edx
invalid
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add dword [ecx], eax
add byte [eax], cl
push cs
or cl, byte [eax]
and eax, 0x57202730
push edi
xor eax, 0x4a5e232b
inc eax
aaa
jae 0x451878
bound edx, qword [esi - 0x6c]
jb 0x45187a
pop ebp
lcall 0x747d, 0x965a636d
insb byte es:[edi], dx
movsb byte es:[edi], byte [esi]
nop
mov byte [edx - 0x625d564c], al
invalid
sub ah, byte [ebx + 0x44]
cmp al, 0x38
jno 0x451899
dec edx
inc ebx
jg 0x451883
xor dword [ebx], ebp
cmp al, 0x33
push 0x753a4049
xor al, 0x2c
sub byte [esi + 0x43], bl
cmp dh, byte [ebp*2 - 0x79b5aea5]
dec ebx
inc esp
aas
jns 0x45188b
and dword [edi], ebx
dec edi
sbb dword [ebx], edx
adc byte [ebx], bh
xor ebp, dword [edx]
and al, 0x5b
push ecx
inc edi
jl 0x4518b5
das
imul edx, dword [edi], 0x21340e11
pop ss
adc dword [esi], ecx
push cs
xor al, 0x21
sbb edx, dword [edi]
aas
push 0x61
pop eax
xchg ecx, eax
cmp dword [ebx + 0x71], 0xffffffa9
pop ebx
push esp
invalid
pop ebx
push ebp
invalid
dec ebp
inc edi
and byte [ebp + 0x61], 0x5d
xchg ebx, eax
lea ecx, [edx - 0x64614a79]
xchg edi, eax
ret 0xabaf