Function at 0x180447220
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rdi, rcx
mov rsi, rdi
add rsi, 8
mov al, byte [rdi + 0xb0]
movzx eax, al
test eax, eax
je 0x1804472b4
jmp 0x180447245
sub eax, 3
je 0x18044748f
jmp 0x180447d3c
mov eax, dword [0x1807a06c0]
xor eax, dword [0x1807a06c4]
and eax, 0xd2f986b8
or eax, 0x65bc9273
add eax, 0x3c4dbd4
cmp eax, 0x18a58598
jbe 0x180447d49
jmp 0x18044727b
mov eax, dword [0x1807a06c8]
add eax, dword [0x1807a06cc]
sub eax, 0xe086366
mov ecx, 0x6c3735ab
xor edx, edx
div ecx
mov edi, eax
or edi, 0xb2e32a19
mov rcx, rsi
call fcn.1804b8d50
cmp edi, 0xfad2aa51
ja 0x18044727b
jmp 0x1804472af
jmp 0x180447d3c
mov eax, dword [0x1807a06d0]
or eax, dword [0x1807a06d4]
add eax, 0x6fbcbb14
add eax, 0x3ad0867a
mov ecx, 0xeceb2cc4
xor edx, edx
div ecx
cmp eax, 0x53e195fd
jae 0x180447d5e
jmp 0x1804472e0
mov eax, dword [0x1807a06d8]
mov ecx, dword [0x1807a06dc]
or eax, ecx
imul rax, rax, 0x5b12f32d
shr rax, 0x3d
add eax, 0xf2f0a46
mov rdx, qword [rsi]
mov rcx, 0xffffffffffffffff
lock xadd qword [rdx + 0x1c8], rcx
cmp eax, 0xa7864c1f
ja 0x1804472e0
jmp 0x18044731a
mov eax, dword [0x1807a06e0]
xor edx, edx
div dword [0x1807a06e4]
xor eax, 0x284ea9d3
and eax, 0xd8e60290
sub eax, 0x7ae3023e
cmp eax, 0xbfd800f8
je 0x180447d76
mov eax, dword [0x1807a06e8]
xor edx, edx
div dword [0x1807a06ec]
add eax, 0x444dbc49
sub eax, 0x6c600211
imul edx, eax, 0x79c04aed
cmp rcx, 1
sete al
mov rbx, qword [rsi]
cmp edx, 0xe3105a4c
ja 0x180447d76
test al, 1
jne 0x18044737f
jmp 0x180447479
mov rdi, rbx
add rdi, 0x80
mov r14, rbx
add r14, 0x88
mov eax, dword [0x1807a06f0]
and eax, dword [0x1807a06f4]
sub eax, 0x6d4745aa
and eax, 0x7692f499
mov ecx, 0x30bf53ae
xor edx, edx
div ecx
cmp eax, 0x2785bf2c
je 0x180447d87
jmp 0x1804473bf
mov r15d, dword [0x1807a06f8]
mov eax, dword [0x1807a06fc]
imul r15d, eax
and r15d, 0x9d97b65b
xor r15d, 0x7c227622
mov eax, 0x9e0add49
imul r15, rax
shr r15, 0x3f
mov edx, 1
lock xadd qword [r14], rdx
mov rcx, rdi
call fcn.180403270
movabs rcx, 0x200000000
lock or qword [rax + 0x510], rcx
mov rcx, rbx
add rcx, 0x100
call fcn.18063cf70
cmp r15d, 0x5d3bfe8f
jae 0x1804473bf
jmp 0x180447429
mov eax, dword [0x1807a0700]
or eax, dword [0x1807a0704]
xor eax, 0x733474ae
and eax, 0xd597ee87
sub eax, 0xb3202edc
cmp eax, 0xf0dedbe2
je 0x180447dcb
jmp 0x180447451
mov eax, dword [0x1807a0708]
and eax, dword [0x1807a070c]
xor eax, 0x7e4f5bbf
add eax, 0x19b10b0b
mov ecx, 0x566d5835
xor edx, edx
div ecx
cmp eax, 0xae71f78d
ja 0x180447451
jmp 0x180447479
lock dec qword [rbx]
sete al
jmp 0x180447482
test al, 1
jne 0x180447253
jmp 0x180447d3c
mov eax, dword [0x1807a0710]
add eax, dword [0x1807a0714]
or eax, 0x82b3d4b8
mov ecx, 0xd157b63d
xor edx, edx
div ecx
sub eax, 0x9705e757
cmp eax, 0x4f413979
jbe 0x180447ddc
mov eax, dword [str.ble_f]
add eax, dword [0x1807a071c]
and eax, 0x5b866550
or eax, 0x94053180
mov ecx, 0xdb12c7c6
xor edx, edx
div ecx
mov rbx, rdi
add rbx, 0x38
cmp eax, 0x8713c4da
jae 0x180447ddc
jmp 0x1804474ec
mov eax, dword [0x1807a0720]
imul eax, dword [0x1807a0724]
mov ecx, 0xada5d839
xor edx, edx
div ecx
or eax, 0x1d38f29c
mov ecx, 0xec83c419
xor edx, edx
div ecx
cmp eax, 0x2cd70ae4
je 0x180447de9
mov eax, dword [0x1807a0728]
or eax, dword [0x1807a072c]
mov ecx, 0x97c96d0b
xor edx, edx
div ecx
imul ebp, eax, 0xfa9b7742
sub ebp, 0xc9df355b
mov rcx, rbx
call fcn.18063cdb0
mov rax, qword [rbx]
cmp ebp, 0xc96c0d1d
jae 0x180447de9
jmp 0x180447555
test rax, rax
je 0x180447644
jmp 0x180447560
sub rax, 1
je 0x180447709
jmp 0x18044756c
mov eax, dword [0x1807a0730]
and eax, dword [0x1807a0734]
sub eax, 0xe6a505b
mov ecx, 0x49b71790
xor edx, edx
div ecx
mov ecx, 0xd9e247e5
xor edx, edx
div ecx
cmp eax, 0x1e3e4dfa
ja 0x180447dfe
mov eax, dword [0x1807a0738]
xor edx, edx
div dword [0x1807a073c]
mov ecx, 0x28a16935
xor edx, edx
div ecx
mov ecx, 0xacbc69ce
xor edx, edx
div ecx
xor eax, 0xcfaf673b
mov rcx, rdi
add rcx, 0x40
cmp eax, 0xe0f57653
je 0x180447dfe
jmp 0x1804475d3
mov eax, dword [0x1807a0740]
or eax, dword [0x1807a0744]
add eax, 0xae9fb278
and eax, 0xca107a4c
imul eax, eax, 0xd7fb944a
cmp eax, 0x3a311c0b
je 0x180447e0f
jmp 0x1804475fc
mov eax, dword [0x1807a0748]
xor eax, dword [0x1807a074c]
mov r8d, 0x6f602908
xor edx, edx
div r8d
add eax, 0x904bf1d7
and eax, 0x87963d1d
mov rdx, qword [rcx]
lock dec qword [rdx]
sete dl
cmp eax, 0x7a26ee2c
jb 0x1804475fc
jmp 0x180447630
test dl, 1
jne 0x18044763a
jmp 0x1804477c9
call fcn.1804be730
jmp 0x1804477c9
mov eax, dword [0x1807a0750]
and eax, dword [0x1807a0754]
mov ecx, 0xb44a3f7a
xor edx, edx
div ecx
sub eax, 0x47ec9816
or eax, 0x238935d6
cmp eax, 0x16112f1e
jb 0x180447e27
jmp 0x180447670
mov eax, dword [0x1807a0758]
xor eax, dword [0x1807a075c]
and eax, 0x2aaf908f
or eax, 0xa8a1d68e
imul eax, eax, 0xf312ed0e
mov rcx, rdi
add rcx, 0x40
cmp eax, 0x25cd57ae
je 0x180447670
jmp 0x18044769c
mov rax, qword [rcx]
lock dec qword [rax]
sete al
test al, 1
je 0x1804477c9
mov eax, dword [0x1807a0760]
sub eax, dword [0x1807a0764]
or eax, 0x2c753f49
add eax, 0xe9af3f71
or eax, 0x825d8647
cmp eax, 0x643f735d
jbe 0x180447e34
mov eax, dword [0x1807a0768]
mov edx, dword [0x1807a076c]
and eax, edx
xor eax, 0x57444159
imul eax, eax, 0xd522643f
or eax, 0x2747647f
cmp eax, 0xa6c48f1e
jae 0x180447e34
jmp 0x1804476ff
call fcn.1804bab90
jmp 0x1804477c9
mov eax, dword [0x1807a0770]
and eax, dword [0x1807a0774]
sub eax, 0xd842710e
mov ecx, 0x3cdf9c80
xor edx, edx
div ecx
sub eax, 0x8eb71501
cmp eax, 0x5c9c9ec2
jbe 0x180447e41
jmp 0x180447735
mov eax, dword [0x1807a0778]
or eax, dword [0x1807a077c]
add eax, 0x4473d9d8
or eax, 0x384afa99
xor eax, 0x11013c
mov rcx, rdi
add rcx, 0x40
cmp eax, 0x3346cc1c
je 0x180447735
jmp 0x180447760
mov rax, qword [rcx]
lock dec qword [rax]
sete al
test al, 1
je 0x1804477c9
mov eax, dword [0x1807a0780]
xor edx, edx
div dword [0x1807a0784]
or eax, 0x40d8de8c
xor eax, 0x754dfbc4
and eax, 0xef9c64b7
cmp eax, 0xd57b3e72
ja 0x180447e52
mov eax, dword [0x1807a0788]
mov edx, dword [0x1807a078c]
imul eax, edx
add eax, 0xb05ec493
imul rax, rax, 0xd64b077
shr rax, 0x3b
cmp eax, 0x61011599
ja 0x180447e52
jmp 0x1804477c2
call fcn.1804b80b0
jmp 0x1804477c9
mov eax, dword [0x1807a0790]
imul eax, dword [0x1807a0794]
mov ecx, 0xd5d6b369
xor edx, edx
div ecx
mov ecx, 0x84a5221a
xor edx, edx
div ecx
or eax, 0x50c85f90
cmp eax, 0xb07349d2
ja 0x180447e5f
jmp 0x1804477fa
mov eax, dword [0x1807a0798]
add eax, dword [0x1807a079c]
mov ecx, 0x6f34c360
xor edx, edx
div ecx
sub eax, 0xb33df3fe
add eax, 0x5ed1a9bc
mov rcx, rdi
add rcx, 0x58
cmp eax, 0x2fbbb501
je 0x1804477fa
jmp 0x180447829
mov eax, dword [0x1807a07a0]
add eax, dword [0x1807a07a4]
and eax, 0xa10e99dd
xor eax, 0xd8405376
xor eax, 0xb0c72cd3
cmp eax, 0x8132ebd2
je 0x180447e6c
jmp 0x180447851
mov eax, dword [0x1807a07a8]
xor edx, edx
div dword [0x1807a07ac]
and eax, 0xa7027e44
and eax, 0x12ef3ac7
mov r8d, 0x7dac0c30
xor edx, edx
div r8d
cmp qword [rcx], 0
sete dl
cmp eax, 0x242ec5b6
je 0x180447851
jmp 0x180447884
test dl, 1
jne 0x180447960
jmp 0x18044788f
mov rax, rdi
add rax, 0x80
mov rax, qword [rax]
mov ecx, dword [0x1807a07b0]
xor ecx, dword [0x1807a07b4]
sub ecx, 0xa3c2918
sub ecx, 0x32c374f8
or ecx, 0x23bfebc9
cmp ecx, 0x3f691775
jb 0x180447e7d
jmp 0x1804478c7
mov edx, dword [0x1807a07b8]
and edx, dword [0x1807a07bc]
add edx, 0x25a5645c
and edx, 0xe8e9c841
or edx, 0x17f51239
cmp rax, 0
sete cl
cmp edx, 0x7d10c7c1
jb 0x1804478c7
test cl, 1
jne 0x180447960
jmp 0x1804478fb
mov rbx, qword [rdi + 0x88]
add rax, 0x18
mov r14, qword [rax]
mov eax, dword [0x1807a07c0]
imul eax, dword [0x1807a07c4]
and eax, 0xfef9251e
and eax, 0x802d4d53
add eax, 0xc5f216f3
cmp eax, 0x24276c82
jb 0x180447e8a
jmp 0x180447932
mov ebp, dword [0x1807a07c8]
add ebp, dword [0x1807a07cc]
xor ebp, 0x79958d36
xor ebp, 0xbae2366d
sub ebp, 0xb3db6978
mov rcx, rbx
call r14
cmp ebp, 0x1d517515
jbe 0x180447932
jmp 0x180447960
mov r9, rdi
add r9, 0x10
mov eax, dword [0x1807a07d0]
imul eax, dword [0x1807a07d4]
add eax, 0x8599b9ea
sub eax, 0x28bd57d1
mov ecx, 0xfc0ed83c
xor edx, edx
div ecx
cmp eax, 0x4dc60ce6
jae 0x180447ea1
jmp 0x180447994
mov eax, dword [0x1807a07d8]
and eax, dword [0x1807a07dc]
or eax, 0x4bc36d36
or eax, 0xe1ed6a69
xor eax, 0xf8305a8b
mov r8, qword [r9]
movabs rcx, 0x8000000000000005
cmp r8, rcx
sete cl
cmp eax, 0xad1156a
jb 0x180447994
jmp 0x1804479cb
mov eax, dword [0x1807a07e0]
imul eax, dword [0x1807a07e4]
mov r9d, 0x58883db0
xor edx, edx
div r9d
add eax, 0xeb4a671a
add eax, 0xe6187836
cmp eax, 0xe20e7468
je 0x180447eb2
mov eax, dword [0x1807a07e8]
or eax, dword [0x1807a07ec]
add eax, 0x84299085
xor eax, 0x1f9a2ee5
mov r9d, 0x2d338117
xor edx, edx
div r9d
cmp eax, 0xfb7ed3d3
je 0x180447eb2
test cl, 1
jne 0x180447c7c
jmp 0x180447a2f
mov eax, dword [0x1807a07f0]
imul eax, dword [0x1807a07f4]
or eax, 0xefa74435
or eax, 0x71971b2
sub eax, 0xe7bc42fe
cmp eax, 0x511a867e
je 0x180447ebf
mov eax, dword [0x1807a07f8]
or eax, dword [0x1807a07fc]
or eax, 0x73d84a51
mov ecx, 0xbcadf8c
xor edx, edx
div ecx
mov ecx, 0x61828c0
xor edx, edx
div ecx
movabs rcx, 0x8000000000000000
mov rdx, r8
xor rdx, rcx
cmp eax, 0xc958cd02
je 0x180447ebf
jmp 0x180447a96
mov rax, rdx
sub rax, 5
mov ecx, 5
cmovb rcx, rdx
mov eax, 0x10
mov rdx, rcx
sub rdx, 4
jb 0x180447b43
jmp 0x180447aba
sub rcx, 4
jne 0x180447c03
jmp 0x180447ac6
mov eax, dword [0x1807a0800]
and eax, dword [str.__p_]
imul eax, eax, 0x5a2caab6
xor eax, 0x159def65
sub eax, 0xf9ee7015
cmp eax, 0xe43550d7
jb 0x180447ed0
mov eax, dword [0x1807a0808]
and eax, dword [0x1807a080c]
mov ecx, 0x11e2dc0c
xor edx, edx
div ecx
imul ecx, eax, 0x4a667403
xor ecx, 0xe9acbfc
mov rax, rdi
add rax, 0x18
cmp ecx, 0xa613ce49
jae 0x180447ed0
jmp 0x180447b23
mov r8, qword [rax]
mov eax, 0x18
movabs rcx, 0x8000000000000002
cmp r8, rcx
jl 0x180447c7c
jmp 0x180447c03
mov eax, dword [0x1807a0810]
imul eax, dword [0x1807a0814]
imul eax, eax, 0x31e496c1
imul eax, eax, 0x1f49aebf
mov ecx, 0x9e807d17
xor edx, edx
div ecx
cmp eax, 0xe155c298
je 0x180447ee1
mov ecx, dword [0x1807a0818]
sub ecx, dword [0x1807a081c]
sub ecx, 0xd15c6221
and ecx, 0xb9b8b878
sub ecx, 0x768c6b8e
mov rax, rdi
add rax, 0x18
cmp ecx, 0x139fb697
je 0x180447ee1
jmp 0x180447ba3
mov ecx, dword [0x1807a0820]
xor ecx, dword [0x1807a0824]
sub ecx, 0xf8b75c
or ecx, 0x2100a779
sub ecx, 0xc0b93ef9
cmp ecx, 0x91c6b262
je 0x180447ef2
mov ecx, dword [0x1807a0828]
xor ecx, dword [0x1807a082c]
xor ecx, 0xe9c1048
imul ecx, ecx, 0x38f8bdf1
or ecx, 0xe0928f14
mov r8, qword [rax]
cmp ecx, 0x771bac6e
je 0x180447ef2
jmp 0x180447bfc
mov eax, 0x18
jmp 0x180447c03
cmp r8, 0
je 0x180447c7c
mov rcx, qword [rdi + rax + 8]
mov rdx, r8
mov r8d, 1
call fcn.1804cafa0
mov eax, dword [0x1807a0830]
add eax, dword [0x1807a0834]
mov ecx, 0x47526727
xor edx, edx
div ecx
mov ecx, 0xf10c4974
xor edx, edx
div ecx
mov ecx, 0xe1c3ee55
xor edx, edx
div ecx
cmp eax, 0xc8e4071d
je 0x180447f03
mov eax, dword [0x1807a0838]
sub eax, dword [0x1807a083c]
imul eax, eax, 0x697c6d6b
imul eax, eax, 0x9c806e76
mov ecx, 0xca371494
xor edx, edx
div ecx
cmp eax, 0x37d3588
je 0x180447f03
jmp 0x180447c7c
mov rax, qword [rsi]
add rax, 0x1c8
lock dec qword [rax]
sete al
mov rdi, qword [rsi]
test al, 1
je 0x180447cd3
mov rcx, rdi
add rcx, 0x80
mov edx, 1
lock xadd qword [rdi + 0x88], rdx
call fcn.180403270
add rax, 0x510
movabs rcx, 0x200000000
lock or qword [rax], rcx
mov rcx, rdi
add rcx, 0x100
call fcn.18063cf70
mov eax, dword [str.y:K]
xor eax, dword [0x1807a0844]
add eax, 0x60a1667c
add eax, 0x538fa185
mov ecx, 0x30f5e103
xor edx, edx
div ecx
cmp eax, 0x4739acf2
ja 0x180447f10
mov ecx, dword [0x1807a0848]
sub ecx, dword [0x1807a084c]
and ecx, 0xf75972f5
sub ecx, 0xc8178f14
or ecx, 0xe8bc802f
lock dec qword [rdi]
sete al
cmp ecx, 0xcfd19bdd
je 0x180447f10
jmp 0x180447d30
jmp 0x180447d32
test al, 1
jne 0x180447253
jmp 0x180447d3c
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
int1
invalid
add cl, ch
sbb esi, ebp
invalid
sub dh, ah
sub al, 0x1b
mov esp, 0x4806c1f5
mov eax, dword [rsi]
lock dec qword [rax + 0x1c8]
jmp 0x1804472de
and edi, esi
jae 0x180447d58
hlt
pminub mm2, qword [rcx + 0x457987e6]
and dword [rsi - 0x458645b3], ebx
add dword [rax], eax
add byte [rax], al
lock xadd qword [r14], rdx
mov rcx, rdi
call fcn.180403270
movabs rcx, 0x200000000
lock or qword [rax + 0x510], rcx
mov rcx, rbx
add rcx, 0x100
add byte [rcx], al
add byte [rax], al
call fcn.18063cf70
jmp 0x1804473bd
xlatb
add byte [rbp + 0x22], cl
xor eax, 0x85cba28b
invalid
jae 0x180447e21
jmp 0x18044744f
jb 0x180447dbd
movabs dword [0xf6d0e9f45a23dd69], eax
invalid
ror dword [rbx], cl
test byte [rcx - 6], 0xa4
push rdi
sahf
mov rcx, rbx
mov ecx, ebx
call fcn.18063cdb0
jmp 0x18044751b
jmp 0x180447df2
xchg ebx, eax
pop rax
invalid
or cl, ch
sal edi, cl
invalid
xchg byte [rsi], r11b
push 0xffffffffffffffe8
invalid
outsb dx, byte [rsi]
push 0x57
jp 0x180447e83
jmp 0x1804476d4
sbb spl, byte [r13 + 0x12417731]
rcl eax, cl
loope 0x180447e34
xor dword [rdi + 0x41], esi
adc dl, bl
shl cl, 1
call 0x179266817
invalid
invalid
lodsb al, byte [rsi]
loop 0x180447dd5
sbb bl, dh
sbb bl, byte [rax]
je 0x180447e44
invalid
wait
lahf
enter 0x8a1, 0x14
lahf
mov dh, 0xe9
invalid
in al, dx
invalid
mov esi, 0x2047b89d
sti
mov eax, 0xfa3be910
invalid
call [rbx]
invalid
sbb eax, esi
in al, 0xa9
scasd eax, dword [rdi]
invalid
imul r13d, dword [rsp + r15*2], 0x67
ja 0x180447e89
test ebp, ecx
invalid
invalid
stosd dword [rdi], eax
adc al, 0x43
outsb dx, byte [rsi]
invalid
cld
cmp dh, byte [rcx - 0x7b]
invalid
xchg esp, eax
mov ebx, 0x41503951
jmp 0x180447aed
jbe 0x180447ed6
rep movsd dword [rdi], dword [rsi]
xchg ebx, eax
jmp rdx
fadd qword [rcx + 0x55844f9c]
sub byte [rdx + rcx*2 - 0xb], bl
and al, 0xab
jmp 0x180447bcd
invalid
add byte gs:[rsi + 0x51], ah
pop rdx
or byte [rbp - 0x2b], bh
lock dec qword [rdi]
jmp 0x180447cfd