Function at 0x180029964
Capabilities:
Encode data using base64

Disassembly:
mov r11, rsp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x1b0
mov qword [r11 - 0x150], 0xfffffffffffffffe
mov qword [r11 + 0x10], rbx
mov rax, qword [0x18008f230]
xor rax, rsp
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x70], r9
mov r14, r8
mov rsi, rcx
mov qword [rsp + 0x80], r9
movdqa xmm0, xmmword [0x1800792a0]
movdqu xmmword [rsp + 0xd0], xmm0
xor edi, edi
mov word [rsp + 0xc0], di
movdqu xmmword [rsp + 0x130], xmm0
mov word [rsp + 0x120], di
mov qword [rsp + 0x58], rdi
mov dword [rsp + 0x60], edi
movdqu xmmword [rsp + 0x110], xmm0
mov word [rsp + 0x100], di
movdqu xmmword [rsp + 0xf0], xmm0
mov word [rsp + 0xe0], di
movzx eax, word [rcx + 0xc]
movzx ecx, word [rcx + 0xa]
movzx edx, word [rsi + 8]
movzx r8d, word [rsi + 6]
movzx r10d, word [rsi + 2]
movzx r9d, word [rsi]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x20], r10d
lea r8, [0x180073bf8]
lea r12d, [rdi + 0x15]
mov edx, r12d
lea rcx, [r11 - 0x88]
call fcn.18002a7d0
mov ebx, eax
test eax, eax
jns 0x180029a8c
lea r15, [0x18008d218]
mov rax, qword [0x18008d218]
cmp rax, r15
je 0x180029a9a
test byte [rax + 0x1c], 1
je 0x180029a9a
lfence
mov edx, r12d
mov r9d, ebx
lea r8, [0x180073f70]
mov rcx, qword [0x18008d218]
mov rcx, qword [rcx + 0x10]
call fcn.180001330
jmp 0x180029a93
lea r15, [0x18008d218]
mov rax, qword [0x18008d218]
test ebx, ebx
jns 0x180029ad8
cmp rax, r15
je 0x18002a4aa
test byte [rax + 0x1c], 1
je 0x18002a4aa
mov edx, 0x1c
lfence
mov r9d, ebx
lea r8, [0x180073f70]
mov rcx, qword [0x18008d218]
mov rcx, qword [rcx + 0x10]
call fcn.180001330
jmp 0x18002a4aa
lea rdx, [rsp + 0x168]
mov rcx, rsi
call fcn.1800291f8
mov ebx, eax
test eax, eax
jns 0x180029b0f
mov rax, qword [0x18008d218]
cmp rax, r15
je 0x18002a4aa
test byte [rax + 0x1c], 1
je 0x18002a4aa
mov edx, 0x1d
jmp 0x180029ab6
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x50]
call fcn.18003a4a0
mov ebx, eax
test eax, eax
jns 0x180029b94
mov rax, qword [0x18008d218]
cmp rax, r15
je 0x180029b59
test byte [rax + 0x1c], 1
je 0x180029b59
lfence
mov edx, 0x1e
mov r9d, ebx
lea r8, [0x180073f70]
mov rcx, qword [0x18008d218]
mov rcx, qword [rcx + 0x10]
call fcn.180001330
nop
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x180029b8f
or r14d, 0xffffffff
mov ecx, r14d
lock xadd dword [rax + 8], ecx
add ecx, r14d
test ecx, ecx
jg 0x180029b8f
lfence
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
lea edx, [r14 + 2]
mov rax, qword [rax]
call qword [case.0x180062b2e.0]
nop
jmp 0x18002a4aa
mov rbx, qword [rsp + 0x50]
mov rax, qword [rbx]
lea r8, [rsp + 0x140]
mov edx, 0x10
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x180062b2e.0]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0x10]
call qword [case.0x180062b2e.0]
mov rsi, rax
test rax, rax
je 0x180029bd2
lock inc dword [rax + 8]
mov qword [rsp + 0x90], rsi
mov rax, qword [rax]
lea r8, [rsp + 0x140]
mov edx, 0x10
mov rcx, rsi
mov rax, qword [rax + 8]
call qword [case.0x180062b2e.0]
mov rax, qword [rsi]
lea r8, [rsp + 0x150]
mov edx, 0x14
mov rcx, rsi
mov rax, qword [rax + 8]
call qword [case.0x180062b2e.0]
mov rcx, rdi
mov qword [rsp + 0x78], rcx
test r14, r14
je 0x180029c5d
mov ecx, 0x37
mov edx, ecx
mov rax, r14
cmp byte [rax], dil
je 0x180029c39
inc rax
sub rdx, 1
jne 0x180029c2b
mov rax, rdx
neg rax
sbb ebx, ebx
not ebx
and ebx, 0x80070057
test rdx, rdx
je 0x180029c53
sub rcx, rdx
jmp 0x180029c56
mov rcx, rdi
mov qword [rsp + 0x78], rcx
jmp 0x180029c62
mov ebx, 0x80070057
mov rdx, rdi
test ebx, ebx
cmovns rdx, rcx
mov qword [rsp + 0x98], rdx
jns 0x180029d0b
mov rax, qword [0x18008d218]
cmp rax, r15
je 0x180029cae
test byte [rax + 0x1c], 1
je 0x180029cae
lfence
mov edx, 0x1f
mov r9d, ebx
lea r8, [0x180073f70]
mov rcx, qword [0x18008d218]
mov rcx, qword [rcx + 0x10]
call fcn.180001330
nop
or r14d, 0xffffffff
mov eax, r14d
lock xadd dword [rsi + 8], eax
add eax, r14d
test eax, eax
jg 0x180029cd8
lfence
mov rax, qword [rsi]
lea edx, [r14 + 2]
mov rcx, rsi
mov rax, qword [rax]
call qword [case.0x180062b2e.0]
nop
mov rax, qword [rsp + 0x50]
mov ecx, r14d
lock xadd dword [rax + 8], ecx
add ecx, r14d
test ecx, ecx
jg 0x180029d06
lfence
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x180062b2e.0]
nop
jmp 0x18002a4aa
mov rax, qword [rsi]
mov r8, r14
mov rcx, rsi
mov rax, qword [rax + 8]
call qword [case.0x180062b2e.0]
mov rax, qword [rsi]
mov rcx, rsi
mov rax, qword [rax + 0x10]
call qword [case.0x180062b2e.0]
mov r12, rax
mov r14d, eax
cmp r14, rax
jne 0x18002a51e
mov dword [rsp + 0x60], eax
lea rdx, [0x180090eda]
mov rcx, r14
call fcn.180062870
xchg qword [rsp + 0x58], rax
test rax, rax
je 0x180029d62
mov rcx, rax
call fcn.180040d20
mov r8, qword [rsp + 0x58]
test r8, r8
jne 0x180029df9
mov ebx, 0x8007000e
mov rcx, qword [0x18008d218]
cmp rcx, r15
je 0x180029d9c
test byte [rcx + 0x1c], 1
je 0x180029d9c
lea edx, [r8 + 0x20]
lea r8, [0x180073f70]
mov rcx, qword [rcx + 0x10]
call fcn.180001310
nop
or r14d, 0xffffffff
mov eax, r14d
lock xadd dword [rsi + 8], eax
add eax, r14d
test eax, eax
jg 0x180029dc6
lfence
mov rax, qword [rsi]
lea edx, [r14 + 2]
mov rcx, rsi
mov rax, qword [rax]
call qword [case.0x180062b2e.0]
nop
mov rax, qword [rsp + 0x50]
mov ecx, r14d
lock xadd dword [rax + 8], ecx
add ecx, r14d
test ecx, ecx
jg 0x180029df4
lfence
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x180062b2e.0]
nop
jmp 0x18002a4aa
mov rax, qword [rsi]
mov rdx, r14
mov rcx, rsi
mov rax, qword [rax + 0x18]
call qword [case.0x180062b2e.0]
nop
or r14d, 0xffffffff
mov eax, r14d
lock xadd dword [rsi + 8], eax
add eax, r14d
test eax, eax
jg 0x180029e37
lfence
mov rax, qword [rsi]
lea edx, [r14 + 2]
mov rcx, rsi
mov rax, qword [rax]
call qword [case.0x180062b2e.0]
nop
mov rax, qword [rsp + 0x50]
mov ecx, r14d
lock xadd dword [rax + 8], ecx
add ecx, r14d
test ecx, ecx
jg 0x180029e65
lfence
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x180062b2e.0]
nop
jmp 0x180029e86
test ebx, ebx
jns 0x180029eae
mov rax, qword [0x18008d218]
cmp rax, r15
je 0x18002a4aa
test byte [rax + 0x1c], 1
je 0x18002a4aa
mov edx, 0x21
jmp 0x180029ab6
lea r8, [rsp + 0x100]
mov edx, r12d
mov rcx, qword [rsp + 0x58]
call fcn.180029570
mov ebx, eax
test eax, eax
jns 0x180029eed
mov rax, qword [0x18008d218]
cmp rax, r15
je 0x18002a4aa
test byte [rax + 0x1c], 1
je 0x18002a4aa
mov edx, 0x22
jmp 0x180029ab6
mov rdx, rdi
mov qword [rsp + 0xb0], rdx
mov r8d, 7
mov qword [rsp + 0xb8], r8
mov word [rsp + 0xa0], di
lea r12d, [r8 - 5]
lea rcx, [rsp + 0x142]
mov qword [rsp + 0x68], rcx
lea r15d, [r8 + 0x28]
mov bl, dil
mov r14b, dil
mov sil, byte [rcx - 2]
lea eax, [r12 - 1]
cmp eax, 0x10
jae 0x180029f3a
mov bl, byte [rcx - 1]
cmp r12d, 0x10
jae 0x180029f43
mov r14b, byte [rcx]
mov cl, sil
shr cl, 2
and sil, 3
shl sil, 4
mov al, bl
shr al, 4
or sil, al
and bl, 0xf
shl bl, 2
mov al, r14b
shr al, 6
or bl, al
and r14b, 0x3f
cmp cl, 0x1a
jae 0x180029f79
movzx ecx, cl
add cx, 0x41
jmp 0x180029fa2
cmp cl, 0x34
jae 0x180029f87
movzx ecx, cl
add cx, 0x47
jmp 0x180029fa2
cmp cl, 0x3e
jae 0x180029f95
movzx ecx, cl
sub cx, 4
jmp 0x180029fa2
jne 0x180029f9e
mov ecx, 0x2b
jmp 0x180029fa2
movzx ecx, r15w
cmp rdx, r8
jae 0x180029fd3
lea rax, [rdx + 1]
mov qword [rsp + 0xb0], rax
lea rax, [rsp + 0xa0]
cmp r8, 8
cmovae rax, qword [rsp + 0xa0]
mov word [rax + rdx*2], cx
mov word [rax + rdx*2 + 2], di
jmp 0x180029fe4
movzx r9d, cx
lea rcx, [rsp + 0xa0]
call fcn.18000ba04
cmp sil, 0x1a
jae 0x180029ff4
movzx ecx, sil
add cx, 0x41
jmp 0x18002a021
cmp sil, 0x34
jae 0x18002a004
movzx ecx, sil
add cx, 0x47
jmp 0x18002a021
cmp sil, 0x3e
jae 0x18002a014
movzx ecx, sil
sub cx, 4
jmp 0x18002a021
jne 0x18002a01d
mov ecx, 0x2b
jmp 0x18002a021
movzx ecx, r15w
mov rdx, qword [rsp + 0xb0]
cmp rdx, qword [rsp + 0xb8]
jae 0x18002a064
lea rax, [rdx + 1]
mov qword [rsp + 0xb0], rax
lea rax, [rsp + 0xa0]
cmp qword [rsp + 0xb8], 8
cmovae rax, qword [rsp + 0xa0]
mov word [rax + rdx*2], cx
mov word [rax + rdx*2 + 2], di
jmp 0x18002a075
movzx r9d, cx
lea rcx, [rsp + 0xa0]
call fcn.18000ba04
lea eax, [r12 - 1]
cmp eax, 0x10
jae 0x18002a103
cmp bl, 0x1a
jae 0x18002a091
movzx ecx, bl
add cx, 0x41
jmp 0x18002a0ba
cmp bl, 0x34
jae 0x18002a09f
movzx ecx, bl
add cx, 0x47
jmp 0x18002a0ba
cmp bl, 0x3e
jae 0x18002a0ad
movzx ecx, bl
sub cx, 4
jmp 0x18002a0ba
jne 0x18002a0b6
mov ecx, 0x2b
jmp 0x18002a0ba
movzx ecx, r15w
mov rdx, qword [rsp + 0xb0]
cmp rdx, qword [rsp + 0xb8]
jae 0x18002a0fd
lea rax, [rdx + 1]
mov qword [rsp + 0xb0], rax
lea rax, [rsp + 0xa0]
cmp qword [rsp + 0xb8], 8
cmovae rax, qword [rsp + 0xa0]
mov word [rax + rdx*2], cx
mov word [rax + rdx*2 + 2], di
jmp 0x18002a158
movzx r9d, cx
jmp 0x18002a14b
mov rcx, qword [rsp + 0xb0]
cmp rcx, qword [rsp + 0xb8]
jae 0x18002a145
lea rax, [rcx + 1]
mov qword [rsp + 0xb0], rax
lea rax, [rsp + 0xa0]
cmp qword [rsp + 0xb8], 8
cmovae rax, qword [rsp + 0xa0]
mov edx, 0x3d
mov dword [rax + rcx*2], edx
jmp 0x18002a15d
mov r9d, 0x3d
lea rcx, [rsp + 0xa0]
call fcn.18000ba04
mov edx, 0x3d
cmp r12d, 0x10
jae 0x18002a1ed
cmp r14b, 0x1a
jae 0x18002a177
movzx ecx, r14b
add cx, 0x41
jmp 0x18002a1a4
cmp r14b, 0x34
jae 0x18002a187
movzx ecx, r14b
add cx, 0x47
jmp 0x18002a1a4
cmp r14b, 0x3e
jae 0x18002a197
movzx ecx, r14b
sub cx, 4
jmp 0x18002a1a4
jne 0x18002a1a0
mov ecx, 0x2b
jmp 0x18002a1a4
movzx ecx, r15w
mov rdx, qword [rsp + 0xb0]
cmp rdx, qword [rsp + 0xb8]
jae 0x18002a1e7
lea rax, [rdx + 1]
mov qword [rsp + 0xb0], rax
lea rax, [rsp + 0xa0]
cmp qword [rsp + 0xb8], 8
cmovae rax, qword [rsp + 0xa0]
mov word [rax + rdx*2], cx
mov word [rax + rdx*2 + 2], di
jmp 0x18002a23e
movzx r9d, cx
jmp 0x18002a231
mov rcx, qword [rsp + 0xb0]
cmp rcx, qword [rsp + 0xb8]
jae 0x18002a22e
lea rax, [rcx + 1]
mov qword [rsp + 0xb0], rax
lea rax, [rsp + 0xa0]
cmp qword [rsp + 0xb8], 8
cmovae rax, qword [rsp + 0xa0]
mov dword [rax + rcx*2], 0x3d
jmp 0x18002a23e
mov r9d, edx
lea rcx, [rsp + 0xa0]
call fcn.18000ba04
lea ecx, [r12 - 2]
mov eax, 0x1f7047dd
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
imul eax, eax, 0x39
cmp ecx, eax
jne 0x18002a270
lea rdx, [0x180073d70]
lea rcx, [rsp + 0xa0]
call fcn.18000598c
add r12d, 3
mov rcx, qword [rsp + 0x68]
add rcx, 3
mov qword [rsp + 0x68], rcx
lea eax, [r12 - 2]
cmp eax, 0x10
jae 0x18002a2a1
mov r8, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xb0]
jmp 0x180029f23
movups xmm2, xmmword [rsp + 0xe0]
movups xmm3, xmmword [rsp + 0xf0]
movups xmm0, xmmword [rsp + 0xa0]
movups xmmword [rsp + 0xe0], xmm0
movups xmm1, xmmword [rsp + 0xb0]
movups xmmword [rsp + 0xf0], xmm1
movups xmmword [rsp + 0xa0], xmm2
movups xmmword [rsp + 0xb0], xmm3
lea rcx, [rsp + 0xa0]
call fcn.180005f20
lea rdx, [rsp + 0x120]
lea rcx, str.SecurityToken_
call fcn.18002905c
mov ebx, eax
test eax, eax
lea r15, [0x18008d218]
jns 0x18002a333
mov rax, qword [0x18008d218]
cmp rax, r15
je 0x18002a4aa
test byte [rax + 0x1c], 1
je 0x18002a4aa
mov edx, 0x24
jmp 0x180029ab6
lea rdx, str._wsse:UsernameToken_xmlns:wsu_http:__docs.oasis_open.org_wss_2004_01_oasis_200401_wss_wssecurity_utility_1.0.xsd__wsu:Id_
lea rcx, [rsp + 0xc0]
call fcn.18000598c
lea rdx, [rsp + 0x120]
lea rcx, [rsp + 0xc0]
call fcn.18000bc54
lea rdx, [0x180073cbc]
lea rcx, [rsp + 0xc0]
call fcn.18000598c
lea rdx, str._wsse:Username_
lea rcx, [rsp + 0xc0]
call fcn.18000598c
lea rdx, str.k8CLF3BX69dC0bge9PcDEtAa5cebEfkEEqXdve4BjK8
lea rcx, [rsp + 0xc0]
call fcn.18000598c
lea rdx, str.__wsse:Username_
lea rcx, [rsp + 0xc0]
call fcn.18000598c
lea rdx, str._wsse:Password_Type_http:__docs.oasis_open.org_wss_2004_01_oasis_200401_wss_username_token_profile_1.0PasswordDigest__
lea rcx, [rsp + 0xc0]
call fcn.18000598c
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0xc0]
call fcn.18000bc54
lea rdx, str.__wsse:Password_
lea rcx, [rsp + 0xc0]
call fcn.18000598c
lea rdx, str._wsse:Nonce_
lea rcx, [rsp + 0xc0]
call fcn.18000598c
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0xc0]
call fcn.18000bc54
lea rdx, str.__wsse:Nonce_
lea rcx, [rsp + 0xc0]
call fcn.18000598c
lea rdx, str._wsu:Created_
lea rcx, [rsp + 0xc0]
call fcn.18000598c
lea rdx, [rsp + 0x168]
lea rcx, [rsp + 0xc0]
call fcn.18000598c
lea rdx, str.__wsu:Created_
lea rcx, [rsp + 0xc0]
call fcn.18000598c
lea rdx, str.__wsse:UsernameToken_
lea rcx, [rsp + 0xc0]
call fcn.18000598c
mov rax, qword [rsp + 0x70]
movups xmm2, xmmword [rax]
movups xmm3, xmmword [rax + 0x10]
movups xmm0, xmmword [rsp + 0xc0]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rsp + 0xd0]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rsp + 0xc0], xmm2
movups xmmword [rsp + 0xd0], xmm3
lea rcx, [rsp + 0xe0]
call fcn.180005f20
nop
lea rcx, [rsp + 0x100]
call fcn.180005f20
nop
mov rcx, rdi
xchg qword [rsp + 0x58], rcx
test rcx, rcx
je 0x18002a4d9
call fcn.180040d20
nop
lea rcx, [rsp + 0x120]
call fcn.180005f20
nop
lea rcx, [rsp + 0xc0]
call fcn.180005f20
mov eax, ebx
mov rcx, qword [rsp + 0x1a0]
xor rcx, rsp
call fcn.180040cc0
mov rbx, qword [rsp + 0x1e8]
add rsp, 0x1b0
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
mov ecx, 0x80070057
call fcn.1800358d8
int3