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

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x224
mov dword [ebp - 0x18], 0xb5fea
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x20], 0x7ed46
mov dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
add eax, ecx
adc edx, ebx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x28]
xor eax, 0x134d30
or eax, dword [ebp - 0x24]
je 0x70c73def
mov edx, 0x134d30
mov eax, 0
cmp edx, dword [ebp - 0x28]
sbb eax, dword [ebp - 0x24]
jl 0x70c73df2
mov eax, dword [ebp - 0x28]
xor eax, 0xd3b88
or eax, dword [ebp - 0x24]
je 0x70c71a89
mov edx, 0xd3b88
mov eax, 0
cmp edx, dword [ebp - 0x28]
sbb eax, dword [ebp - 0x24]
jl 0x70c73df2
mov eax, dword [ebp - 0x28]
xor eax, 0x54381
or eax, dword [ebp - 0x24]
je 0x70c738e3
mov edx, 0x54381
mov eax, 0
cmp edx, dword [ebp - 0x28]
sbb eax, dword [ebp - 0x24]
jl 0x70c73df2
mov eax, dword [ebp - 0x28]
xor eax, 0x50aa5
or eax, dword [ebp - 0x24]
je 0x70c7157a
mov edx, 0x50aa5
mov eax, 0
cmp edx, dword [ebp - 0x28]
sbb eax, dword [ebp - 0x24]
jl 0x70c73df2
mov eax, dword [ebp - 0x28]
xor eax, 0x27809
or eax, dword [ebp - 0x24]
je 0x70c733d4
mov edx, 0x27809
mov eax, 0
cmp edx, dword [ebp - 0x28]
sbb eax, dword [ebp - 0x24]
jl 0x70c73df2
mov eax, dword [ebp - 0x28]
xor eax, 0x1a0cd
or eax, dword [ebp - 0x24]
je 0x70c724a7
add byte [edx + 0x1a0cd], bh
mov edx, 0x1a0cd
mov eax, 0
cmp edx, dword [ebp - 0x28]
sbb eax, dword [ebp - 0x24]
jl 0x70c73df2
add byte [ebx], bh
push ebp
fcomp dword [ebx]
inc ebp
fmul qword [edi]
mov esi, es
sub byte [eax], al
add byte [ebx + 0x4f35d845], cl
sub al, 1
add byte [ebx], cl
inc ebp
fmul qword [edi]
test byte [ecx + 0x14], bh
add byte [eax], al
mov eax, dword [ebp - 0x28]
xor eax, 0x12c4f
or eax, dword [ebp - 0x24]
je 0x70c729b6
mov edx, 0x12c4f
mov eax, 0
cmp edx, dword [ebp - 0x28]
sbb eax, dword [ebp - 0x24]
jl 0x70c73df2
mov eax, dword [ebp - 0x28]
xor eax, 0x878c
or eax, dword [ebp - 0x24]
je 0x70c71f98
mov eax, dword [ebp - 0x28]
xor eax, 0xcb36
or eax, dword [ebp - 0x24]
je 0x70c72ec5
jmp 0x70c73df2
fstp qword [ebp + 0x1a085dee]
mov byte [eax + 0x5b47168b], dh
xchg ecx, eax
std
js 0x70c71515
and ebx, dword [0xcc28c5dd]
jge 0x70c7151f
invalid
lodsd eax, dword [esi]
mov ah, 0xc8
cli
stosd dword es:[edi], eax
hlt
or ecx, ecx
jnp 0x70c71a61
stc
sub byte [0x57c672c], dl
dec ebx
sub eax, 0x21941da1
inc edx
jb 0x70c71a9a
xchg esp, eax
and dword [edx + 0x72], eax
sti
xor al, bl
call 0xa5224eea
push esi
invalid
jne 0x70c71f9b
push ebp
fist word [ecx]
std
sub byte [edi], al
push esi
mov cl, 0xbd
outsb dx, byte [esi]
in al, 0x1f
cmpsb byte [esi], byte es:[edi]
pop ss
fucomp st(1)
add al, 0x5f
add eax, 0xccafa8fb
pop ebx
dec edx
rol byte [edx - 0x15], 1
mov byte [0x3c59f755], al
mov byte [esi], bh
xlatb
or eax, dword [ebx - 0x710235d8]
jbe 0x70c71f91
bound ebp, qword [esi - 0x33]
invalid
nop
int3
into
out 0xf0, al
mov ebp, 0x5384223d
mov ecx, 0xbb1c81ac
out dx, eax
aas
mov bh, 0xb3
out 0xa7, al
mov cl, 0xd2
jns 0x70c71f49
cmc
les eax, [eax - 0x2c0f5a0f]
cmp dl, byte [edi*8 + 0x48717a27]
jg 0x70c7202e
and ebp, ebp
sub esp, dword [ebx]
mov al, 0x83
cmpsb byte [esi], byte es:[edi]
push 0xf6a56610
fcomp dword [esi + 0x353ef169]
int 0x25
pop ss
ret
push edi
xchg ebp, eax
jl 0x70c72051
sti
mov esp, 0x3e763a19
scasb al, byte es:[edi]
mov ch, 0x8e
jae 0x70c72086
mov cl, 0xaf
jae 0x70c720b3
nop
int3
retf
invalid
xor eax, 0xfbca7d50
cld
push 0xffffffffffffffb2
jl 0x70c7209b
enter 0x7979, 0x73
add edx, esp
mov esi, 0x84cc902f
aad 6
and al, 0x84
xor al, 0x9c
adc byte [0x840eb36], dl
jle 0x70c7206d
out dx, al
sahf
pop edi
loopne 0x70c720fd
wait
xor eax, 0x92ced661
into
xchg edx, eax
jae 0x70c720be
cmc
out dx, al
xor dword [esi], ecx
mov ebx, dword [ebx]
mov esi, 0xe3c4eaa3
out dx, eax
mov dword [0xefe3c4ea], eax
sub byte [esi], bl
lahf
bound ebp, qword [ebx + eax + 0x61]
and al, 7
loopne 0x70c720c3
xchg edx, eax
add esi, esi
stc
inc esi
xchg edx, eax
push 0x1ab961cd
mov bh, 0x8e
invalid
dec esi
retf
nop
int3
adc bl, byte [eax]
shr eax, 1
xchg esi, eax
pop ecx
inc edx
jmp 0x70c724a0
adc al, 0
add al, cl
fcomp st(6)
arpl word [ecx + 0x3ef1a703], bx
popal
mov ah, 0x3f
enter 0xffffffffffffded8, 0x63
cdq
add esp, dword [edi - 0x4b9ec10f]
aas
push ds
shl dword [ecx - 0x741bc94c], 0x7e
fistp qword [edi - 0x2d]
xchg byte [ebx], dh
dec ebx
push edx
xchg esi, eax
inc edi
jae 0x70c729d2
sbb eax, 0x1ec64840
adc al, 0x63
bound ecx, qword [ebx]
aam 0x68
and eax, 0x49b80590
adc al, 0x9e
mov byte [0xc9a3b05b], al
and al, 0x71
into
mov dh, 0x45
sbb ebp, dword [edi + ebx*2]
jbe 0x70c729b3
cmp dl, byte [ebx + 0x49]
stosd dword es:[edi], eax
seta byte [eax + 0x5f972cfe]
sub dh, bl
sub edx, ebx
add dword [ebx - 3], ecx
iretd
dec esp
wait
push edx
outsb dx, byte [esi]
movsb byte es:[edi], byte [esi]
out dx, al
mov esp, dword [ebx + edi*4 - 0x5d]
bound esi, qword [eax]
adc ebp, dword [edi]
cwde
bound esi, qword [esi - 0x4aea6549]
inc edi
invalid
cmp dword [ecx - 0x37], edi
sahf
xor esi, dword [esi + 0x63aea69]
dec edi
outsd dx, dword [esi]
outsb dx, byte [esi]
and byte [esi + eax*4 + 0x24c1cd9d], ah
arpl word [0x2895e7c7], di
jp 0x70c72e79
xchg edi, eax
sbb al, 0x62
push ds
xor dword [ebp + 0x152cec8c], 0xc
je 0x70c72f64
adc eax, 0x3ab1254e
add al, 0xd6
push edx
outsd dx, dword [esi]
dec eax
in al, 0xde
jb 0x70c72ee1
test eax, 0x80fac67
lodsd eax, dword [esi]
pushfd
mov dh, 0x45
and al, 0xeb
push ecx
and bh, byte [edx - 0x4f]
jecxz 0x70c72f21
sbb eax, 0xfaf51a7
inc esi
mov edi, 0x5bf6691e
outsd dx, dword [esi]
nop
int3
aaa
movsd dword es:[edi], dword [esi]
wait
push 0x7e736239
lahf
and eax, 0x13daefd9
aaa
aaa
int3
cmpsb byte [esi], byte es:[edi]
insd dword es:[edi], dx
cmc
mov ah, 0xe6
mov dword [esi + 0x116cd063], esi
nop
int3
sti
aaa
dec ebx
xchg ecx, eax
jmp 0xba6014c6
rcl byte [esi + 0x3f], 0x74
mov esp, 0xe68e903c
dec eax
rcl ch, 0xc6
retf 0xc51e
nop
jmp 0x70c73df3
nop
mov dword [ebp - 0x30], 0x9672a
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x38], 0x619b1
mov dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0x38]
mov edx, eax
mov eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0x30]
lea ecx, [edx + eax]
mov eax, dword [ebp - 0x30]
mul dword [ebp - 0x38]
add ecx, edx
mov edx, ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x40]
xor eax, 0x5c8f6e0a
mov edx, dword [ebp - 0x3c]
xor edx, 0x39
or eax, edx
je 0x70c7b0de
mov edx, 0x5c8f6e0a
mov eax, 0x39
cmp edx, dword [ebp - 0x40]
sbb eax, dword [ebp - 0x3c]
jl 0x70c7b0e1
mov eax, dword [ebp - 0x40]
xor eax, 0xe7ca4
or eax, dword [ebp - 0x3c]
je 0x70c74bb5
mov edx, 0xe7ca4
mov eax, 0
cmp edx, dword [ebp - 0x40]
sbb eax, dword [ebp - 0x3c]
jl 0x70c7b0e1
mov eax, dword [ebp - 0x40]
xor eax, 0xda63c
or eax, dword [ebp - 0x3c]
je 0x70c76a0f
mov edx, 0xda63c
mov eax, 0
cmp edx, dword [ebp - 0x40]
sbb eax, dword [ebp - 0x3c]
jl 0x70c7b0e1
mov eax, dword [ebp - 0x40]
xor eax, 0xc94a1
or eax, dword [ebp - 0x3c]
je 0x70c750c4
mov edx, 0xc94a1
mov eax, 0
cmp edx, dword [ebp - 0x40]
sbb eax, dword [ebp - 0x3c]
jl 0x70c7b0e1
mov eax, dword [ebp - 0x40]
xor eax, 0xc7c48
or eax, dword [ebp - 0x3c]
je 0x70c75ae2
mov edx, 0xc7c48
mov eax, 0
cmp edx, dword [ebp - 0x40]
sbb eax, dword [ebp - 0x3c]
jl 0x70c7b0e1
mov eax, dword [ebp - 0x40]
xor eax, 0x9ac42
or eax, dword [ebp - 0x3c]
je 0x70c7742d
mov edx, 0x9ac42
mov eax, 0
cmp edx, dword [ebp - 0x40]
sbb eax, dword [ebp - 0x3c]
jl 0x70c7b0e1
mov eax, dword [ebp - 0x40]
xor eax, 0x8d330
or eax, dword [ebp - 0x3c]
je 0x70c755d3
mov edx, 0x8d330
mov eax, 0
cmp edx, dword [ebp - 0x40]
sbb eax, dword [ebp - 0x3c]
jl 0x70c7b0e1
mov eax, dword [ebp - 0x40]
xor eax, 0x857f1
or eax, dword [ebp - 0x3c]
je 0x70c7793c
mov edx, 0x857f1
mov eax, 0
cmp edx, dword [ebp - 0x40]
sbb eax, dword [ebp - 0x3c]
jl 0x70c7b0e1
mov eax, dword [ebp - 0x40]
xor eax, 0x79c70
or eax, dword [ebp - 0x3c]
je 0x70c79287
mov edx, 0x79c70
mov eax, 0
cmp edx, dword [ebp - 0x40]
sbb eax, dword [ebp - 0x3c]
jl 0x70c7b0e1
mov eax, dword [ebp - 0x40]
xor eax, 0x6ec02
or eax, dword [ebp - 0x3c]
je 0x70c78869
mov edx, 0x6ec02
mov eax, 0
cmp edx, dword [ebp - 0x40]
sbb eax, dword [ebp - 0x3c]
jl 0x70c7b0e1
mov eax, dword [ebp - 0x40]
xor eax, 0x5e12a
or eax, dword [ebp - 0x3c]
je 0x70c78d78
mov edx, 0x5e12a
mov eax, 0
cmp edx, dword [ebp - 0x40]
sbb eax, dword [ebp - 0x3c]
jl 0x70c7b0e1
mov eax, dword [ebp - 0x40]
xor eax, 0x5782c
or eax, dword [ebp - 0x3c]
je 0x70c746a6
mov edx, 0x5782c
mov eax, 0
cmp edx, dword [ebp - 0x40]
sbb eax, dword [ebp - 0x3c]
jl 0x70c7b0e1
mov eax, dword [ebp - 0x40]
xor eax, 0x56e75
or eax, dword [ebp - 0x3c]
je 0x70c74197
mov edx, 0x56e75
mov eax, 0
cmp edx, dword [ebp - 0x40]
sbb eax, dword [ebp - 0x3c]
jl 0x70c7b0e1
mov eax, dword [ebp - 0x40]
xor eax, 0x541c4
or eax, dword [ebp - 0x3c]
je 0x70c76500
mov edx, 0x541c4
mov eax, 0
cmp edx, dword [ebp - 0x40]
sbb eax, dword [ebp - 0x3c]
jl 0x70c7b0e1
mov eax, dword [ebp - 0x40]
xor eax, 0x4af8f
or eax, dword [ebp - 0x3c]
je 0x70c7abd2
mov edx, 0x4af8f
mov eax, 0
cmp edx, dword [ebp - 0x40]
sbb eax, dword [ebp - 0x3c]
jl 0x70c7b0e1
mov eax, dword [ebp - 0x40]
xor eax, 0x3953c
or eax, dword [ebp - 0x3c]
je 0x70c7835a
mov edx, 0x3953c
mov eax, 0
cmp edx, dword [ebp - 0x40]
sbb eax, dword [ebp - 0x3c]
jl 0x70c7b0e1
mov eax, dword [ebp - 0x40]
xor eax, 0x32526
or eax, dword [ebp - 0x3c]
je 0x70c7a1b4
mov edx, 0x32526
mov eax, 0
cmp edx, dword [ebp - 0x40]
sbb eax, dword [ebp - 0x3c]
jl 0x70c7b0e1
mov eax, dword [ebp - 0x40]
xor eax, 0x31f5a
or eax, dword [ebp - 0x3c]
je 0x70c76f1e
mov edx, 0x31f5a
mov eax, 0
cmp edx, dword [ebp - 0x40]
sbb eax, dword [ebp - 0x3c]
jl 0x70c7b0e1
mov eax, dword [ebp - 0x40]
xor eax, 0x28173
or eax, dword [ebp - 0x3c]
je 0x70c7a6c3
mov edx, 0x28173
mov eax, 0
cmp edx, dword [ebp - 0x40]
sbb eax, dword [ebp - 0x3c]
jl 0x70c7b0e1
mov eax, dword [ebp - 0x40]
xor eax, 0x1338d
or eax, dword [ebp - 0x3c]
je 0x70c79796
mov edx, 0x1338d
mov eax, 0
cmp edx, dword [ebp - 0x40]
sbb eax, dword [ebp - 0x3c]
jl 0x70c7b0e1
mov eax, dword [ebp - 0x40]
xor eax, 0xe059
or eax, dword [ebp - 0x3c]
je 0x70c77e4b
mov edx, 0xe059
mov eax, 0
cmp edx, dword [ebp - 0x40]
sbb eax, dword [ebp - 0x3c]
jl 0x70c7b0e1
mov eax, dword [ebp - 0x40]
xor eax, 0x2522
or eax, dword [ebp - 0x3c]
je 0x70c75ff1
mov eax, dword [ebp - 0x40]
xor eax, 0x4c7c
or eax, dword [ebp - 0x3c]
je 0x70c79ca5
lodsb al, byte [esi]
sub byte [ebp + 0x14], cl
arpl word [ecx], bx
or al, 0x46
xor byte [ebp - 0x16], dl
fsubr qword [esi]
arpl word [ecx], bx
xor dword [0xcdde726e], edx
or dword [eax], ecx
idiv byte [esi]
nop
int3
movsb byte es:[edi], byte [esi]
int1
imul esi, dword [edx + 0x12320748], 9
and dword fs:[edx + 0x7929993a], 0x39
dec esi
mov eax, 0xb45a0e81
imul ebx, dword [esi - 0x2c94eebb], 0x7d
loope 0x70c74630
jge 0x70c74680
nop
int3
xchg dword [ebx + ebx - 7], edx
cmp byte [ebp + ebp + 0x4c2f1ac7], dl
jle 0x70c7469d
clc
retf 0x9f7
add edx, 0x6581ab8f
adc al, byte [ecx]
invalid
or dword [esi - 0x27], ebp
sub dl, byte [edx + 0xa]
stc
sub eax, 0xb389658b
retf
int 8
xor al, 0xc7
mov ch, 0xba
imul eax, dword [esi], 0x880e45dc
cld
out 0x6e, al
push es
retf
sub byte [ebx + 0x6b553202], ch
or esp, dword [edi]
xchg edx, eax
nop
int3
pop edi
or eax, 0xfdbbb104
and al, byte [esi]
jo 0x70c75533
add esi, esi
invalid
lds esi, [edi - 0x72807afd]
ficom dword [eax + eax*2]
in al, dx
daa
outsb dx, byte [esi]
sub al, 0xd3
out dx, eax
sub al, 0x74
loopne 0x70c7556d
jmp 0x70c75584
insb byte es:[edi], dx
adc al, 0xce
adc dword [eax], esp
xor eax, 0x636209c0
mov dh, 0x96
xchg ecx, eax
pop ebp
sub ebp, 0xa2d5fe8
scasd eax, dword es:[edi]
mov edx, 0xe111b353
les ebx, [edx - 0x53]
mov eax, dword [0xbb81b4ac]
lodsd eax, dword [esi]
popal
cmp ebx, dword [ebx - 0x7d]
mov eax, 0x4c6ece1a
sub ah, byte [ebp - 0x38]
ret 0x61ad
xchg ebp, eax
cmp eax, 0x3eb8761a
scasb al, byte es:[edi]
mov al, 0xf3
inc ebx
fstp dword [ebx + 0xd]
shr edx, cl
fld dword [edi]
push edi
test al, 0xdb
mov ebx, 0x5841f138
invalid
iretd
mov byte [esi + 4], ah
loop 0x70c76a63
invalid
nop
int3
dec ebp
inc byte [edi]
push edi
mov bl, al
invalid
dec ebp
xchg ebx, eax
inc esi
jecxz 0x70c76edb
cmp byte [esi], bh
sti
sub dword [ecx + 0x3b], esi
pop ebx
mov byte [esi], bl
inc edi
xchg esp, eax
and eax, edx
movsb byte es:[edi], byte [esi]
shr esi, 0xc8
or eax, 0xe7bf3895
sbb al, 0x1a
cmc
lahf
pop edx
cmpsb byte [esi], byte es:[edi]
add dl, dl
jmp 0xe60632ef
pushfd
rcr ecx, cl
shr byte [ebp + 0x5f], 0x35
invalid
pop es
adc dh, byte [edx + ebx*8 + 0x2cc65063]
fcom st(0)
pop esp
xchg edi, eax
cld
sal dword [ebp - 2], cl
add eax, ebx
invalid
dec esi
retf 0x9e65
wait
mov cl, 0x65
cmp byte es:[si - 0x1d], cl
out dx, al
push 0xffffffffffffffc0
lodsb al, byte [esi]
in al, 0xe9
add ah, al
adc edi, ebp
invalid
inc esi
xor byte [ecx], al
jmp 0x85d1f05e
sub byte [edi + edi + 0x60], dl
cmp al, byte [edi]
dec eax
and al, 0xf
int1
outsd dx, dword [esi]
loopne 0x70c78dd2
sub esi, dword [ecx + 0x4e1bb28c]
push eax
ror dword [edi - 0x31], cl
scasb al, byte es:[edi]
xchg ebp, eax
movsd dword es:[edi], dword [esi]
xchg esi, eax
cli
pop edx
push edi
dec ebp
mov eax, 0xe8b063ae
dec edi
stosd dword es:[edi], eax
push es
invalid
push esi
leave
mov dh, 0xa3
bound ebp, qword [eax]
neg dword [edx]
sbb cl, dh
invalid
inc edi
fdiv dword [eax - 0x80]
adc cl, byte [ebx - 0x27]
invalid
jmp 0x70c7b0e2
jmp 0x70c79791
push esp
ffreep st(7)
ror byte [esi], cl
dec ebx
ljmp 0x9b89
mov byte [0x8737d7df], al
sub ch, al
jmp 0xa0067998
jmp 0x70c7b0e2
in al, 0xc3
pop ebx
and al, 0xee
mov al, 0xce
jns 0x70c7a205
add dword [esi + 0x1d], 0xffffffab
inc esi
mov edx, 0x221d9c73
sub bl, byte [ebx]
xor byte [ecx - 0xbc30a0b], dh
lds ecx, [esi + 0x2e]
push ss
adc al, 0x5f
cmp eax, 0x37553c44
adc byte [eax + 0x72], bl
inc ecx
jg 0x70c7a1af
mov edi, dword [ebx]
into
das
mov ecx, esp
jnp 0x70c7a1f8
retf 0x5bf5
ja 0x70c7a17d
mov ebx, 0x848d5ef1
pop esp
or cl, ch
cmpsb byte [esi], byte es:[edi]
test dh, bl
hlt
fdivrp st(4)
add eax, 0xfabbcc90
dec ebx
scasd eax, dword es:[edi]
arpl word [edi + 0x74], ax
aaa
invalid
out dx, eax
push edx
xor dword [esi], 0xbbda8f1
nop
int3
dec ebx
mov word [eax], es
das
push ds
mov dword [edx], edi
insd dword es:[edi], dx
sbb eax, 0xfd1f91b4
pop ds
in eax, dx
mov dl, 0xac
mov eax, 0x4809c58f
sub byte [ebx - 0x5c], dh
pop ecx
jmp 0x70c7a6b4
wait
retf
nop
jmp 0x70c7b0e2