Function at 0x9c7788
Capabilities:
Encode data using base64

Disassembly:
cmp al, 0x30
jb 0x9c7825
cmp al, 0x39
jbe 0x9c7736
ja 0x9c7825
adc dword [ebp + reloc.MSVFW32.dll_DrawDibDraw], ebx
adc byte [ecx + 0x3e], al
mov ecx, dword [ecx - reloc.MSVFW32.dll_DrawDibDraw]
pop ecx
add dword [eax - reloc.MSVFW32.dll_DrawDibDraw], ecx
inc ecx
mov bl, byte [ecx + 1]
mov byte [ebp - 1], bl
cmp bl, 0x41
jb 0x9c77e2
jmp 0x9c77c6
cmp al, 0x61
jb 0x9c7714
cmp al, 0x7a
jbe 0x9c7736
ja 0x9c7714
movsd dword es:[edi], dword [esi]
jmp 0xa7f68d
pushfd
lea esp, [esp + 4]
push ebp
mov ebp, esp
pushfd
lea esp, [esp + 1]
mov word [esp], dx
push word [esp + 2]
push ax
lea esp, [esp + 3]
mov dword [esp], ecx
push ecx
pushfd
pop word [esp]
mov word [esp], sp
lea esp, [esp + 2]
push ebx
push edi
mov edi, eax
mov al, byte [ecx]
cmp al, 0x41
jb 0x9c7753
cmp al, 0x5a
jbe 0x9c7736
ja 0x9c7753
cmp bl, 0x5a
jbe 0x9c78c7
ja 0x9c77e2
xor eax, 0xa35031a1
je 0x9c7822
dec ecx
pandn mm4, qword [edi + 0x44f7b39c]
std
and dword [eax - reloc.MSVFW32.dll_DrawDibDraw], eax
mov esi, 0x80000000
sti
jp 0x9c77d8
cmp bl, 0x61
jb 0x9c78a9
cmp bl, 0x7a
jmp 0x9c7887
xchg esp, eax
add byte [eax], al
add byte [edi + ebx - 0x6ce61571], cl
int 7
daa
jmp 0xc163de68
mov eax, 0x403
jmp 0xa03f05
hlt
cmp al, 0x2b
je 0x9c7736
cmp al, 0x2f
jne 0x9c77ff
je 0x9c7736
adc dword [edx + esi + reloc.MSVFW32.dll_DrawDibDraw], ebx
arpl word [edx - 0x5c], si
call fcn.009db0cc
dec esp
out dx, al
jl 0x9c7867
div byte [ecx - 0x49]
adc byte [0x8d5509bb], 0x64
push ebp
lea esp, [esp + 4]
push ebp
lea esp, [esp + 4]
lea esp, [esp + 4]
jmp 0x9c7783
aas
jmp 0x2c97f916
cmp bl, 0x2b
je 0x9c78c7
cmp bl, 0x2f
jne 0x9c77ff
je 0x9c78c7
movsd dword es:[edi], dword [esi]
jmp 0xa7f636
jbe 0x9c78c7
ja 0x9c78a9
imul eax, eax, 0x3c
jmp 0xa18efc
cmp bl, 0x30
jb 0x9c786a
cmp bl, 0x39
jbe 0x9c78c7
ja 0x9c786a
movsd dword es:[edi], dword [esi]
jmp 0xa7f60c
mov dl, byte [ecx + 2]
cmp dl, 0x41
jb 0xa04019
cmp dl, 0x5a
jbe 0xa03eb3
ja 0xa04019
fcmove st(0), st(1)
push ebp
sbb al, byte [ebx + 0x4c]
adc eax, 0xd6cf4624
call fcn.009c7853
push ebx
push esp
pushal
mov dword [esp + 0x1f], eax
lea esp, [esp + 0x12]
push ebp
pop word [esp + 0xe]
jmp 0x9c79e8
mov byte [esp], cl
lea esp, [esp + 2]
lea esp, [esp + 0x3c]
sub esp, 5
push word [esp]
mov dword [esp], edi
mov byte [esp], bl
lea esp, [esp + 6]
lea esp, [esp]
add esp, 0
add esp, 0
lea esp, [esp + 1]
jmp 0x9c7a53
mov word [esp + 1], bx
pop word [esp]
lea esp, [esp + 2]
lea esp, [esp + 0x34]
push edi
mov ecx, eax
push 0x3f
mov esi, eax
shr ecx, 0x12
pop edx
pushal
mov word [esp + 0x17], bp
pushfd
pop dword [esp + 0x19]
shr esi, 0xc
lea esp, [esp + 0x20]
pushal
clc
push ebx
add esp, 7
mov byte [esp + 5], ch
push dword [esp + 0x14]
sub esp, 0xc
sub esp, 0x10
push bx
lea esp, [esp + 3]
and ecx, edx
push si
pushal
lea esp, [esp + 0x20]
jmp 0x9c794e
mov word [esp], bx
push dword [esp + 6]
pushal
mov dword [esp + 0x34], esi
push cx
mov byte [esp], dh
mov byte [esp], dl
push word [esp + 1]
jmp 0x9c7986
mov edi, dword [ebp + 0xc]
jmp 0xa047c9
mov ebx, dword [ebp + 0xc]
jmp 0xa0482f
and esi, edx
pushfd
pushal
mov word [esp + 2], bx
mov word [esp + 9], dx
lea esp, [esp + 0x24]
cmp dword [ebp + 0xc], 2
jb 0x9c7a22
pushal
lea edi, [edx*4]
xchg bl, cl
bswap cx
mov edx, edi
mov dx, ax
xchg bx, dx
lea ebx, [ebx + ebp]
mov dword [esp], eax
push esi
push word [esp + 1]
mov word [esp], di
lea esp, [esp + 5]
lea esp, [esp]
lea esp, [esp]
push sp
mov byte [esp], cl
mov byte [esp], ah
lea esp, [esp + 3]
popal
push ebp
mov word [esp + 1], bp
pop word [esp]
push eax
push dword [esp + 4]
push word [esp + 5]
push word [esp + 8]
lea esp, [esp + 2]
shr edi, 6
push edx
mov word [esp + 1], si
mov byte [esp + 2], cl
jmp 0xa04794
jmp 0xa19100
cmp dl, 0x2b
je 0xa03eb3
cmp dl, 0x2f
je 0xa03eb3
cmp dl, 0x3d
jne 0x9c77ff
je 0xa03eb3
mov ds, word [0xe127d48d]
and dh, byte [edx + ebp - 0x5c8643b3]
arpl word [eax - 0x278dcf06], ax
cmp dl, 0x30
jb 0xa03e6e
cmp dl, 0x39
jbe 0xa03eb3
ja 0xa03e6e
call 0x88152c1f
inc esp
fisttp qword [edi - 0x21]
mov edx, 0x7fece249
out dx, eax
mov bh, byte [ecx + 0x33]
dec esi
mov byte [0x498a89f2], al
add eax, dword [eax + reloc.MSVFW32.dll_DrawDibDraw]
mov cl, byte [ecx + 3]
cmp cl, 0x41
jb 0xa03ef9
cmp cl, 0x5a
jmp 0xa03fc7
cmp dl, 0x3d
jne 0xa03fa1
mov dword [edi], 1
jmp 0xa03f72
cmp cl, 0x61
jb 0xa03f44
cmp cl, 0x7a
jbe 0xa03ecd
ja 0xa03f44
cmp cl, 0x2b
je 0xa03ecd
cmp cl, 0x2f
je 0xa03ecd
cmp cl, 0x3d
je 0xa03ecd
jne 0x9c77ff
salc
dec ecx
fnstcw word [eax - 0x41e573b5]
mov esi, 0xf9801de8
xor byte [edx - 0x25], dh
cmp cl, 0x30
jb 0xa03f24
cmp cl, 0x39
jbe 0xa03ecd
ja 0xa03f24
mov byte [esp + 0x10], dh
push dword [esp + 4]
push word [esp + 0x11]
jmp 0xa03ff9
cmp al, 0x2b
jmp 0xa03fd3
cmp al, 0x2f
jne 0xa03fdc
push 0x3f
jmp 0xa040be
clc
push eax
lea esp, [esp + 3]
lea esp, [esp + 1]
xor ebx, ebx
pushal
pop dword [esp + 0xe]
push word [esp + 0x16]
jmp 0xa03f54
jbe 0xa03ecd
ja 0xa03ef9
jne 0xa03f84
push 0x3e
jmp 0xa040be
cmp al, 0x39
ja 0xa040a1
movzx eax, al
jmp 0xa04083
lea esp, [esp + 0x24]
cmp cl, 0x3d
setne bl
inc ebx
inc ebx
mov dword [edi], ebx
mov bl, byte [ebp - 1]
jmp 0xa03f72
cmp dl, 0x61
jb 0xa03e91
cmp dl, 0x7a
jbe 0xa03eb3
ja 0xa03e91
pushal
mov dword [esp + 0x1c], esi
lea esp, [esp + 0x1c]
cmp bl, 0x2b
jne 0xa044d4
push 0x3e
jmp 0xa044a4
movzx esi, bl
cmp bl, 0x39
ja 0xa04531
jmp 0xa044fb
bswap eax
mov ax, word [esp]
mov al, byte [esp]
bswap eax
mov eax, dword [esp]
push bx
mov byte [esp], cl
lea esp, [esp + 2]
lea esp, [esp + 4]
jmp 0xa04031
add eax, 4
jmp 0xa04031
cmp al, 0x5a
movzx eax, al
ja 0xa04552
jmp 0xa044f3
mov ah, byte [esp]
bswap ax
lea eax, [ecx*4]
lea eax, [ecx*4]
jmp 0xa04066
push word [esp + 2]
lea esp, [esp + 1]
lea esp, [esp + 8]
jmp 0xa0445e
lea esi, reloc.MSVFW32.dll_DrawDibDraw
mov esi, dword [esp]
not si
mov esi, dword [esp]
push si
mov word [esp], dx
push bx
lea esp, [esp + 1]
mov word [esp], di
jmp 0xa0447a
cmp bl, 0x2f
jne 0xa0404a
push 0x3f
jmp 0xa044a4
sub eax, 0x41
jmp 0xa04031
add esi, 4
jmp 0xa0445e
sub esi, 0x47
jmp 0xa0445e
cmp bl, 0x5a
ja 0xa04503
sub esi, 0x41
jmp 0xa0445e
sub eax, 0x47
jmp 0xa04031
mov byte [esp + 1], cl
mov word [esp + 1], bx
mov dword [esp], esp
pop word [esp]
mov byte [esp], ch
lea esp, [esp + 2]
lea esp, [esp + 0xc]
and edi, edx
jmp 0xa047c9
cmp dword [ebp + 0xc], 3
jne 0x9c7a34
and eax, edx
mov ebx, eax
jmp 0xa0482f
cmp ecx, 0x34
jae 0xa0483c
lea edx, [ecx + 0x47]
jmp 0xa04809
xor edx, edx
cmp ecx, eax
setne dl
lea edx, [edx*4 + 0x2b]
jmp 0xa04809
push ebx
pushal
mov esi, dword [esp]
mov dx, bx
lea eax, [eax + 0xcf]
mov bl, byte [esp]
mov dword [esp + 0x10], ebp
pushfd
jmp 0xa04845
push 0x3e
pop eax
cmp ecx, 0x1a
jae 0xa047d9
lea edx, [ecx + 0x41]
jmp 0xa04809
cmp ecx, eax
jae 0xa047e3
lea edx, [ecx - 4]
jmp 0xa04809
mov dword [esp], ecx
mov byte [esp + 2], cl
push cx
mov word [esp + 3], sp
push esi
push dword [esp + 2]
jmp 0xa04906
cmp esi, 0x34
jae 0xa0493d
lea ecx, [esi + 0x47]
jmp 0xa0495a
mov dword [esp + 1], ecx
pop dword [esp + 2]
lea esp, [esp + 2]
lea esp, [esp + 8]
popal
lea ebx, [ebx + 8]
mov ecx, dword [ebx]
pop ebx
mov byte [ecx], dl
cmp esi, 0x1a
jmp 0xa04977
cmp esi, eax
jae 0xa049a3
lea ecx, [esi - 4]
jmp 0xa0495a
cmp dword [ebp + 0xc], 2
mov edx, dword [ebp + 8]
mov byte [edx + 1], cl
jb 0xa04982
jmp 0xa04a8d
jae 0xa048e5
lea ecx, [esi + 0x41]
jmp 0xa0495a
mov byte [edx + 2], 0x3d
jmp 0xa04b12
xor ecx, ecx
cmp esi, eax
setne cl
lea ecx, [ecx*4 + 0x2b]
jmp 0xa0495a
push ebp
sub esp, 0x12
add esp, 0x15
cmc
sub esp, 0x18
push word [esp + 0x17]
jmp 0xa04a60
mov byte [edx + 2], cl
jmp 0xa04b12
mov byte [edx + 3], 0x3d
jmp 0xa04af6
cmp edi, 0x34
jae 0xa049ec
lea ecx, [edi + 0x47]
jmp 0xa04a0d
lea esp, [esp + 7]
mov dword [esp], ecx
lea esp, [esp + 1]
lea esp, [esp + 0x20]
jae 0xa04be4
jb 0xa04b4c
salc
jmp 0x96e8f1fd
push word [esp + 0xd]
lea esp, [esp + 1]
cmp edi, eax
pushal
mov dword [esp + 0x16], esi
push dword [esp + 7]
pop word [esp + 0x1c]
push bx
lea esp, [esp + 0x18]
jmp 0xa04a3f
cmp edi, 0x1a
jae 0xa04a35
lea ecx, [edi + 0x41]
jmp 0xa04a0d
mov byte [edx + 3], cl
jmp 0xa04af6
lea esp, [esp]
mov byte [esp], bl
lea esp, [esp + 2]
mov esi, dword [esp]
pushal
jmp 0xa04b29
cmp ebx, 0x34
jae 0xa04aed
lea ecx, [ebx + 0x47]
jmp 0xa04a9a
xor ecx, ecx
cmp ebx, eax
setne cl
lea ecx, [ecx*4 + 0x2b]
jmp 0xa04a9a
cmp ebx, eax
jae 0xa04ac5
lea ecx, [ebx - 4]
jmp 0xa04a9a
pop edi
mov si, 0x1a06
pushfd
pop word [esp]
jmp 0xa04a9f
cmp dword [ebp + 0xc], 3
jne 0xa04a15
cmp ebx, 0x1a
jae 0xa04abb
lea ecx, [ebx + 0x41]
jmp 0xa04a9a
pop dword [esp + 3]
push ebp
push word [esp + 0x12]
push esi
pushal
lea esp, [esp + 2]
lea esp, [esp + 0x48]
pop ebx
pop ebp
ret
lea ecx, [edi - 4]
jmp 0xa04a0d
xor ecx, ecx
sub esp, 0x19
push word [esp + 0x13]
push word [esp + 9]
mov byte [esp + 0x18], bh
pop word [esp + 0x15]
lea esp, [esp + 0x16]
mov word [esp + 1], sp
stc
lea esp, [esp + 1]
cmp edi, eax
pushfd
mov word [esp + 1], bp
push word [esp + 1]
pop word [esp + 1]
lea esp, [esp + 2]
mov word [esp], bx
lea esp, [esp + 1]
lea esp, [esp]
mov byte [esp], al
lea esp, [esp + 1]
lea esp, [esp + 4]
setne cl
lea ecx, [ecx*4 + 0x2b]
jmp 0xa04a0d
mov byte [esp], ch
push word [esp + 1]
push word [esp]
jmp 0xa18f9d
lea esi, [ecx + edx]
mov si, 0x2d4c
jmp 0xa1904b
mov eax, dword [ecx + 4]
test eax, eax
je 0xa18e58
cmp eax, 8
jb 0xa18e58
cmp dword [ebp - 8], eax
jb 0xa18e58
lea esi, [eax - 8]
push dx
jmp 0xa18e3b
xor eax, eax
inc eax
leave
ret
ret
push 0x564d50b4
call fcn.009db0cc
push 0xe31071e1
and byte [esp + edx*4], bl
or ch, byte [ebp - 0x64]
pop edi
xor bh, byte [ecx + 0x7bbb4829]
mov dh, 0x38
scasb al, byte es:[edi]
leave
cmp byte [esi + 0x475f9f6e], cl
xor dword [edi], eax
cdq
and eax, 0x4b35ad6e
inc esp
enter 0x7c54, 0x7f
lodsd eax, dword [esi]
xor eax, 0x54c8444b
jl 0xa18fae
dec edx
inc esi
aam 0x6a
pop eax
jno 0xa18f27
iretd
add ecx, dword [ecx + 4]
jne 0xa18e81
dec dword [edi]
test bh, dh
invalid
je 0xa18e58
aam 0x59
leave
test al, 0x5b
cwde
jg 0xa18f5a
popal
add bl, dh
dec esi
iretd
mov dword [ebp - 4], 0
je 0xa18f52
mov eax, dword [ebp - 4]
movzx eax, word [ecx + eax*2 + 8]
pushal
mov dword [esp + 0x14], eax
push edx
lea esp, [esp + 4]
popal
jmp 0xa1911e
lea esp, [esp + 2]
shr esi, 1
push sp
pushal
mov word [esp + 0x17], cx
push bx
push word [esp + 0x15]
push word [esp + 0x1e]
mov word [esp], dx
push dword [esp + 0x18]
lea esp, [esp + 0x30]
jmp 0xa18f72
mov esi, dword [esp]
pushfd
lea esp, [esp + 1]
mov word [esp], bx
mov byte [esp + 1], bh
lea esp, [esp + 3]
lea esp, [esp + 4]
pop ebx
jmp 0xa18eec
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jb 0xa18f7b
jae 0xa18f52
xchg si, di
mov dword [esp + 0x14], ecx
push esi
pop word [esp]
pushfd
lea esp, [esp + 2]
push edi
pop word [esp + 1]
jmp 0xa190d8
mov ecx, dword [ecx + 0x10]
test ecx, ecx
jne 0x9ca1c1
pop esi
ret
lea esp, [esp + 5]
lea esp, [esp + 1]
add eax, 0x124648d
popal
lea edx, [edx + 4]
mov esi, dword [edx]
pop edx
add esi, edx
cmp eax, esi
jbe 0xa191b5
ja 0xa190bc
jge 0xa190db
je 0xa1910a
out dx, al
sub edi, dword [eax + reloc.MSVFW32.dll_DrawDibDraw]
nop
test al, 0x8b
adc dword [ebx], edi
sal byte [ebx - 0x4a], 1
mov edx, dword [ecx]
cmp edx, eax
jae 0xa190bc
push edx
pushal
lea esi, reloc.MSVFW32.dll_DrawDibDraw
jmp 0xa19094
push esp
mov bl, 0xff
invalid
and edx, 0xf000
mov ebx, 0x3000
stc
sub esp, 0
sub esp, 4
push dword [esp + 3]
mov byte [esp + 4], al
cmp dx, bx
pushfd
lea esp, [esp + 0xc]
jne 0xa19082
and eax, 0xfff
add eax, dword [ecx]
add eax, dword [ebp - 0xc]
mov edx, dword [eax]
add edx, edi
cmp edx, dword [ebp + 8]
jne 0xa19082
mov dword [eax], edx
jmp 0xa19082
add eax, dword [ecx + 0xc]
pop esi
jmp 0xa18ef6
push 0x5656257b
call fcn.009db0cc
pushfd
jno 0xa7f666
mov byte [esp + 1], ah
push word [esp + 2]
push dword [esp + 5]
jmp 0xa7f6ec
push 0x56561aa0
call fcn.009db0cc
mov byte [esp + 1], ah
push word [esp + 2]
jmp 0xa7f668
call fcn.009db0cc
aad 0x5b
retf
jmp 0xa7f640
push dword [esp + 5]
lea esp, [esp + 2]
mov dword [esp + 4], reloc.MSVFW32.dll_DrawDibDraw
push sp
jb 0xa7f6c0
jae 0xa7f6c0
out dx, al
insd dword es:[edi], dx
std
test byte [edi - 0x3b], dh
xchg esp, eax
adc al, byte [eax + 0x79a712e7]
cmc
leave
push 0x56561a86
call fcn.009db0cc
jmp 0xa7f6f5
mov byte [esp + 0x1a], bl
mov word [esp + 0x20], di
pop word [esp + 0x17]
mov word [esp + 0x21], si
lea esp, [esp + 0x33]
jmp 0xa7f75c
call 0xa7f697
lea esp, [esp + 2]
lea esp, [esp + 8]
call fcn.009db0cc
call fcn.009db0cc
imul edx, edx, 0xc
push 0x56563ccd
jmp 0xa7f655
lea esp, [esp + 2]
jmp 0xa7f670
pushal
pushal
push word [esp + 0x37]
mov word [esp + 0x21], bp
jmp 0xa7f699
mov ebp, dword [esp]
lea ebp, [eax + ebx]
mov dword [esp + 7], edi
mov di, cx
mov bl, 0x9b
jmp 0xa7fdb2
mov bh, byte [esp]
mov ebx, dword [esp]
mov dword [esp + 0x15], ebp
xchg bh, bl
bswap bp
not ebp
jmp 0xa7f71b
lea esp, [esp + 3]
mov dword [esp], esp
mov word [esp + 1], di
pushal
lea esp, [esp + 2]
mov dword [esp + 0x1c], ebx
mov bx, word [esp]
lea ebx, [ebx + ebp]
setl bl
lea ebx, [ecx*4]
bswap bx
mov ebx, dword [esp]
bswap ebx
mov bl, byte [esp]
not bx
jmp 0xa7f73b
lea esp, [esp + 2]
lea esp, [esp + 8]
jmp 0xa7f6cd
bswap ebp
bswap di
mov edi, ebp
lea edi, [esi*4]
mov edi, dword [esp]
mov bx, cx
mov bh, byte [esp]
lea ebx, reloc.MSVFW32.dll_DrawDibDraw
mov bh, ah
bswap di
mov bl, 0x6c
xchg bh, bl
mov di, bx
xchg bl, bh
xchg bp, di
bswap ebp
setae bl
xchg di, bp
mov edi, 0x2d88495e
mov di, si
mov edi, dword [esp + 7]
lea ebp, [ecx + edx]
mov bp, word [esp]
mov bx, 0x448c
xchg ebx, ebp
mov bh, ch
bswap bx
bswap bp
not ebp
lea ebp, [ebx*4]
mov ebp, 0xad313b8
mov bl, 0x98
mov bx, dx
mov ebp, dword [esp + 0x15]
push ax
lea ebx, [esi - 0x77]
mov bx, 0x4881
lea ebx, [ebp + 0xc4]
lea ebx, [esi*4]
mov ebx, 0x6d8d12fb
setp bh
bswap ebx
lea esp, [esp + 2]
mov ebx, dword [esp + 0x1c]
lea esp, [esp + 0x28]
mov dword [esp], ebp
jbe 0xa7f6c5
ja 0xa7fd47
xor eax, eax
inc eax
jmp 0xa803ab
pop esi
pop ebx
mov esp, ebp
pop ebp
ret