Function at 0x14015e7b0
Capabilities:
Encode data using base64
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x28]
sub rsp, 0x128
mov rax, qword [r9]
xor r13d, r13d
mov r15, qword [r9 + 0xe0]
mov r12, r9
mov rdi, qword [r9 + 0xe8]
mov r10d, edx
mov r9d, edx
mov qword [rbp + 0x10], r13
mov r14d, dword [rax + 0x40]
movzx esi, r13w
shr r9d, 0x13
xor eax, eax
shr edx, 2
and r9d, 1
and edx, 1
mov qword [rbp], r13
mov qword [rbp - 0x30], r13
mov r11d, r13d
mov qword [rbp - 0x28], r13
mov rbx, rcx
mov dword [rbp - 0x6c], r13d
mov dword [rbp - 0x3c], r13d
mov word [rbp + 0x78], r13w
mov dword [rbp - 0x58], r13d
mov dword [rsp + 0x5c], r13d
mov dword [rbp - 0x80], r13d
mov dword [rsp + 0x50], r13d
mov dword [rsp + 0x58], r13d
mov dword [rbp - 0x7c], r13d
mov r13, qword [r12 + 0x40]
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x68], rdi
mov dword [rbp - 0x38], r14d
mov dword [rsp + 0x54], r9d
mov dword [rbp - 0x40], edx
mov qword [rbp - 0x50], r13
mov qword [rbp + 0x18], rax
test r14b, 8
je 0x14015e877
mov dword [r15], 0x80090000
jmp 0x14015e884
test r14b, 4
je 0x14015e895
mov dword [r15], 0x80180005
mov dword [r15 + 4], 0x801a0000
add r15, 8
mov qword [rsp + 0x78], r15
bt r10d, 0x19
jae 0x14015ea0a
cmp rcx, r13
jae 0x14016181f
nop dword [rax]
cmp r15, rdi
jae 0x14016186a
movzx edi, byte [rbx]
mov r10, rbx
inc rbx
test r9d, r9d
je 0x14015e9ca
cmp edi, 0xc0
jb 0x14015e9ca
movzx ecx, byte [rbx]
and ecx, 0x3f
test dil, 0x20
jne 0x14015e8f7
and edi, 0x1f
mov eax, edi
mov edi, ecx
shl eax, 6
or edi, eax
inc rbx
jmp 0x14015e9ca
test dil, 0x10
jne 0x14015e91e
and edi, 0xf
mov eax, edi
mov edi, ecx
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 2
jmp 0x14015e9ca
test dil, 8
jne 0x14015e94e
and edi, 7
mov eax, edi
mov edi, ecx
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 3
jmp 0x14015e9ca
test dil, 4
jne 0x14015e98a
and edi, 3
mov eax, edi
mov edi, ecx
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 3]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 4
jmp 0x14015e9ca
and edi, 1
mov eax, edi
mov edi, ecx
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 3]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 4]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 5
test edx, edx
je 0x14015e9f0
mov r8d, edx
mov qword [rsp + 0x20], r12
lea rdx, [rbp - 0x28]
mov r9, r15
mov rcx, r10
call fcn.14015e740
mov r9d, dword [rsp + 0x54]
mov r15, rax
mov edx, dword [rbp - 0x40]
mov dword [r15], edi
add r15, 4
mov rdi, qword [rsp + 0x68]
cmp rbx, r13
jb 0x14015e8b0
jmp 0x14016181f
mov r8, qword [r12 + 0x50]
mov r14d, r10d
mov qword [rbp - 0x60], rax
mov rcx, r8
bts r14d, 7
movabs rax, 0xaaaaaaaaaaaaaaab
mul r8
shr rdx, 3
lea rax, [rdx + rdx*2]
shl rax, 2
sub rcx, rax
mov rax, qword [r12 + 0x28]
sub rax, rcx
add rax, r8
mov r8d, r11d
bt r10d, 0x18
mov qword [rbp + 8], rax
cmovae r14d, r10d
mov r10d, r11d
mov dword [rsp + 0x70], r14d
jmp 0x14015ea75
mov r12, qword [rbp + 0x88]
jmp 0x14015ea75
inc rbx
movzx esi, word [rbp + 0x78]
mov rdi, qword [rsp + 0x68]
cmp rbx, r13
jae 0x14016180f
cmp r15, rdi
jae 0x14016186a
mov rdx, qword [r12]
movzx eax, si
cmp eax, dword [rdx + 0x3c]
ja 0x140161808
movzx edi, byte [rbx]
mov rsi, rbx
inc rbx
mov dword [rsp + 0x60], edi
mov qword [rbp + 0x70], rbx
mov ecx, edi
test r9d, r9d
je 0x14015ebbc
cmp edi, 0xc0
jb 0x14015ebbc
movzx ecx, byte [rbx]
and ecx, 0x3f
test dil, 0x20
jne 0x14015eadf
and edi, 0x1f
mov eax, edi
mov edi, ecx
shl eax, 6
or edi, eax
inc rbx
jmp 0x14015ebb2
test dil, 0x10
jne 0x14015eb06
and edi, 0xf
mov eax, edi
mov edi, ecx
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 2
jmp 0x14015ebb2
test dil, 8
jne 0x14015eb36
and edi, 7
mov eax, edi
mov edi, ecx
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 3
jmp 0x14015ebb2
test dil, 4
jne 0x14015eb72
and edi, 3
mov eax, edi
mov edi, ecx
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 3]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 4
jmp 0x14015ebb2
and edi, 1
mov eax, edi
mov edi, ecx
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 3]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 4]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 5
mov dword [rsp + 0x60], edi
mov ecx, edi
mov qword [rbp + 0x70], rbx
test r11d, r11d
je 0x14015ec53
cmp ecx, 0x5c
jne 0x14015ebe2
cmp rbx, r13
jae 0x14015ebe2
cmp byte [rbx], 0x45
jne 0x14015ebe2
xor edx, edx
mov r11d, edx
mov dword [rsp + 0x50], edx
jmp 0x14015ea69
test r10d, r10d
jg 0x14015f052
test r8d, r8d
jne 0x14015ec38
mov ecx, dword [rbp - 0x58]
mov eax, ecx
dec ecx
mov dword [rbp - 0x58], ecx
test eax, eax
jg 0x14015ec30
mov r8d, dword [rbp - 0x40]
lea rdx, [rbp - 0x28]
mov r9, r15
mov qword [rsp + 0x20], r12
mov rcx, rsi
call fcn.14015e740
mov r11, qword [rbp - 0x28]
mov r15, rax
mov r9d, dword [rsp + 0x54]
mov r8d, dword [rsp + 0x58]
mov qword [rbp - 0x30], r11
mov r11d, dword [rsp + 0x50]
mov eax, 1
mov dword [rbp - 0x7c], eax
mov r10d, dword [rsp + 0x5c]
xor ecx, ecx
mov dword [r15], edi
add r15, 4
mov qword [rsp + 0x78], r15
mov dword [rbp - 0x6c], ecx
jmp 0x14015ea6c
test r8d, r8d
je 0x14015edd6
mov eax, r14d
and eax, 0x400080
cmp eax, 0x400080
jne 0x14015ecb6
cmp ecx, 0xff
jbe 0x14015ec86
mov eax, edi
or eax, 1
cmp eax, 0x200f
je 0x14015ec86
cmp eax, 0x2029
jne 0x14015ecb6
test edi, 0xffffff00
jne 0x14015edd6
cmp edi, 0x23
je 0x14015edd6
mov rax, qword [r12 + 0x20]
test byte [rdi + rax], 1
jne 0x14015edd6
cmp edi, 0x85
je 0x14015edd6
cmp edi, 0x29
je 0x14015ed7d
cmp edi, 0x5c
je 0x14015ecd5
mov dword [r15], edi
add r15, 4
mov qword [rsp + 0x78], r15
jmp 0x14015ea6c
bt r14d, 0x16
jae 0x14015ed67
xor eax, eax
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x30], eax
lea r9, [rbp - 0x80]
mov eax, dword [rdx + 0x40]
lea r8, [rsp + 0x60]
mov dword [rsp + 0x28], eax
lea rcx, [rbp + 0x70]
mov rdx, r13
mov dword [rsp + 0x20], r14d
call fcn.140158330
mov ecx, dword [rbp - 0x80]
test ecx, ecx
jne 0x1401616bc
test eax, eax
je 0x14015ed50
sub eax, 0x19
je case.default.0x14015f47c
mov rbx, qword [rbp + 0x70]
cmp eax, 1
jne 0x14016164c
mov r9d, dword [rsp + 0x54]
mov r11d, eax
movzx esi, word [rbp + 0x78]
mov r8d, dword [rsp + 0x58]
mov r10d, dword [rsp + 0x5c]
mov dword [rsp + 0x50], eax
jmp 0x14015ea70
mov rbx, qword [rbp + 0x70]
mov edi, dword [rsp + 0x60]
mov r9d, dword [rsp + 0x54]
mov r11d, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x58]
mov r10d, dword [rsp + 0x5c]
mov dword [r15], edi
add r15, 4
mov qword [rsp + 0x78], r15
jmp 0x14015ea6c
xor edx, edx
mov rax, rbx
sub rax, qword [rbp + 0x18]
dec rax
mov dword [rsp + 0x58], edx
cmp rax, 0xff
jg 0x140161656
mov rcx, qword [rbp + 0x10]
mov rax, r15
movzx esi, word [rbp + 0x78]
sub rax, rcx
mov rdi, qword [rsp + 0x68]
mov r8d, edx
sar rax, 2
dec eax
mov dword [rcx], eax
mov ecx, dword [rbp - 0x3c]
test ecx, ecx
je 0x14015ea75
mov dword [r15], ecx
add r15, 4
mov qword [rsp + 0x78], r15
mov dword [rbp - 0x3c], edx
jmp 0x14015ea75
cmp edi, 0x5c
jne 0x14015ee00
cmp rbx, r13
jae 0x14015ee00
movzx eax, byte [rbx]
cmp al, 0x51
je 0x14015edeb
cmp al, 0x45
jne 0x14015ee00
xor ecx, ecx
mov r11d, ecx
cmp al, 0x51
sete r11b
mov dword [rsp + 0x50], r11d
jmp 0x14015ea69
test r14b, r14b
jns 0x14015ef7b
cmp edi, 0x100
jae 0x14015ee20
mov rax, qword [r12 + 0x20]
test byte [rdi + rax], 1
jne 0x14015ea6c
cmp edi, 0x85
je 0x14015ea6c
mov eax, edi
or eax, 1
cmp eax, 0x200f
je 0x14015ea6c
cmp eax, 0x2029
je 0x14015ea6c
cmp edi, 0x23
jne 0x14015ef7b
movzx esi, word [rbp + 0x78]
mov rdi, qword [rsp + 0x68]
cmp rbx, r13
jae 0x14016180f
nop dword [rax]
nop word [rax + rax]
mov edx, dword [r12 + 0x100]
lea rdi, [r12 + 0x104]
mov rax, qword [r12 + 0x40]
test edx, edx
je 0x14015eed4
cmp rbx, rax
jae 0x14015eeac
mov dword [rsp + 0x20], r9d
mov r8, rax
mov r9, rdi
mov rcx, rbx
call fcn.14017b950
test eax, eax
je 0x14015eeac
mov eax, 1
jmp 0x14015eeae
xor eax, eax
mov r9d, dword [rsp + 0x54]
test eax, eax
je 0x14015eefe
mov eax, dword [rdi]
add rbx, rax
mov r11d, dword [rsp + 0x50]
movzx esi, word [rbp + 0x78]
mov r8d, dword [rsp + 0x58]
mov r10d, dword [rsp + 0x5c]
jmp 0x14015ea70
mov ecx, dword [rdi]
sub rax, rcx
cmp rbx, rax
ja 0x14015eefe
movzx eax, byte [r12 + 0x110]
cmp byte [rbx], al
jne 0x14015eefe
cmp ecx, 1
je 0x14015eeb7
movzx eax, byte [r12 + 0x111]
cmp byte [rbx + 1], al
je 0x14015eeb7
inc rbx
test r9d, r9d
je 0x14015ef55
mov r11d, dword [rsp + 0x50]
movzx esi, word [rbp + 0x78]
mov rdi, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x58]
mov r10d, dword [rsp + 0x5c]
cmp rbx, r13
jae 0x14016180f
movzx eax, byte [rbx]
and al, 0xc0
cmp al, 0x80
jne 0x14015ef55
mov r11d, dword [rsp + 0x50]
inc rbx
movzx esi, word [rbp + 0x78]
mov rdi, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x58]
mov r10d, dword [rsp + 0x5c]
cmp rbx, r13
jb 0x14015ef27
jmp 0x14015ea75
mov r11d, dword [rsp + 0x50]
movzx esi, word [rbp + 0x78]
mov rdi, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x58]
mov r10d, dword [rsp + 0x5c]
cmp rbx, r13
jb 0x14015ee70
jmp 0x14015ea75
cmp edi, 0x28
jne 0x14015efb6
mov rax, r13
sub rax, rbx
cmp rax, 2
jl 0x14015efeb
cmp byte [rbx], 0x3f
jne 0x14015efeb
cmp byte [rbx + 1], 0x23
jne 0x14015efeb
nop word [rax + rax]
inc rbx
cmp rbx, r13
jae 0x140161663
cmp byte [rbx], 0x29
jne 0x14015efa0
jmp 0x14015ea69
lea eax, [rdi - 0x2a]
cmp eax, 1
jbe 0x14015f02d
cmp edi, 0x3f
je 0x14015f02d
cmp edi, 0x7b
jne 0x14015efeb
lea rax, [rbp - 0x80]
mov qword [rbp - 0x20], rbx
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rcx, [rbp - 0x20]
mov rdx, r13
call fcn.140163110
test eax, eax
jne 0x14015f028
mov ecx, dword [rbp - 0x58]
mov eax, ecx
dec ecx
mov dword [rbp - 0x58], ecx
test eax, eax
jg 0x14015f028
mov r8d, dword [rbp - 0x40]
lea rdx, [rbp - 0x28]
mov r9, r15
mov qword [rsp + 0x20], r12
mov rcx, rsi
call fcn.14015e740
mov r9, qword [rbp - 0x28]
mov r15, rax
mov r10d, dword [rsp + 0x5c]
mov qword [rbp - 0x30], r9
mov qword [rsp + 0x78], rax
jmp 0x14015f031
mov r10d, dword [rsp + 0x5c]
mov r9, qword [rbp - 0x30]
test r10d, r10d
jle 0x14015f0ae
cmp edi, 0x28
jne 0x14015f052
mov rax, r13
sub rax, rbx
cmp rax, 3
jl 0x14015f052
movzx eax, byte [rbx]
cmp al, 0x3f
je 0x14015f05f
cmp al, 0x2a
je 0x14015f064
dec rbx
mov ecx, 0x80
jmp 0x140161885
cmp byte [rbx], 0x2a
jne 0x14015f079
movzx ecx, byte [rbx + 1]
mov rax, qword [r12 + 0x20]
movzx edx, byte [rcx + rax]
shr edx, 2
and edx, 1
jmp 0x14015f09c
movzx ecx, byte [rbx + 1]
sub ecx, 0x21
je 0x14015f0ae
sub ecx, 0x1b
je 0x14015f0a2
sub ecx, 1
je 0x14015f0ae
cmp ecx, 6
jne 0x14015f052
xor eax, eax
cmp r10d, 2
mov edx, eax
sete dl
test edx, edx
je 0x14015f052
jmp 0x14015f0ae
movzx eax, byte [rbx + 2]
cmp al, 0x3d
je 0x14015f0ae
cmp al, 0x21
jne 0x14015f052
mov ecx, dword [rbp - 0x6c]
xor r11d, r11d
mov esi, dword [rbp - 0x7c]
mov r8d, r10d
mov dword [rbp - 0x70], r10d
mov r10d, r11d
mov dword [rsp + 0x5c], r11d
mov eax, ecx
mov dword [rbp - 0x7c], r11d
mov edx, ecx
mov dword [rbp - 0x6c], r11d
test ecx, ecx
je 0x14015f124
cmp edi, 0x3f
je 0x14015f0e0
cmp edi, 0x2b
jne 0x14015f124
mov r9d, dword [rsp + 0x54]
cmp edi, 0x3f
mov r11d, dword [rsp + 0x50]
mov r8d, 0x20000
mov ecx, 0x10000
cmove ecx, r8d
mov r8d, dword [rsp + 0x58]
add ecx, eax
mov rax, 0xfffffffffffffffc
cmp edx, 0x803d0000
mov rdx, 0xfffffffffffffff4
cmove rax, rdx
mov dword [rax + r15], ecx
jmp 0x14015ea6c
lea eax, [rdi - 0x24]
cmp eax, 0x58
ja case.0x14015f149.37
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0x1618e4]
mov ecx, dword [rdx + rax*4 + 0x1618b0]
add rcx, rdx
jmp rcx
mov rax, qword [r12]
lea r9, [rbp - 0x80]
mov qword [rsp + 0x38], r12
lea r8, [rsp + 0x60]
mov dword [rsp + 0x30], r11d
lea rcx, [rbp + 0x70]
mov r14, rbx
mov qword [rbp - 0x20], rbx
mov eax, dword [rax + 0x40]
mov rdx, r13
mov ebx, dword [rsp + 0x70]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ebx
call fcn.140158330
mov ecx, dword [rbp - 0x80]
mov edi, eax
test ecx, ecx
jne 0x14015f1ce
test eax, eax
je 0x14015f51b
js 0x14015f499
add eax, 0xfffffffa
cmp eax, 0x16
ja case.0x14015f1be.13
lea rdx, [0x140000000]
cdqe
movzx eax, byte [rdx + rax + 0x161958]
mov ecx, dword [rdx + rax*4 + 0x161940]
add rcx, rdx
jmp rcx
bt ebx, 0x14
jae case.0x14015f1be.12
mov ecx, UnRegisterTypeLib
mov dword [rbp - 0x80], ecx
mov rbx, qword [rbp + 0x70]
test byte [rbp - 0x38], 2
je 0x140161885
mov r9d, dword [rsp + 0x54]
mov rbx, r14
cmp r14, r13
jb 0x14015f52d
mov edx, 0x5c
jmp 0x14015f642
mov eax, 1
mov dword [rbp - 0x7c], eax
mov r14d, dword [rsp + 0x70]
jmp 0x14015f422
xor ebx, ebx
mov qword [rsp + 0x28], r12
lea rax, [rbp - 0x80]
mov word [rbp - 0x70], bx
lea r9, [rsp + 0x60]
mov word [rsp + 0x60], bx
lea r8, [rbp - 0x70]
mov qword [rsp + 0x20], rax
lea rdx, [rbp - 4]
lea rcx, [rbp + 0x70]
call fcn.14015e000
test eax, eax
je 0x14015f3ee
cmp dword [rbp - 4], ebx
je 0x14015f250
cmp edi, 0xf
mov eax, ebx
sete al
lea edi, [rax + 0xf]
movzx ecx, word [rbp - 0x70]
lea eax, [rdi - 0x7fe80000]
mov r14d, dword [rsp + 0x70]
mov rbx, qword [rbp + 0x70]
mov r9d, dword [rsp + 0x54]
mov dword [r15], eax
movzx eax, word [rsp + 0x60]
shl ecx, 0x10
or ecx, eax
mov eax, 1
mov dword [r15 + 4], ecx
add r15, 8
mov qword [rsp + 0x78], r15
mov dword [rbp - 0x7c], eax
jmp 0x14015eebc
mov rbx, qword [rbp + 0x70]
cmp rbx, r13
jae 0x14015f3f6
movzx eax, byte [rbx]
cmp al, 0x7b
je 0x14015f2b3
cmp al, 0x3c
je 0x14015f337
cmp al, 0x27
jne 0x14015f3f6
cmp al, 0x27
mov esi, 0x7d
mov eax, 0x27
cmove esi, eax
cmp edi, 0x1b
jne 0x14015f358
cmp esi, 0x7d
je 0x14015f358
mov r8d, dword [r12 + 0xd4]
lea rax, [rbx + 1]
mov qword [rsp + 0x78], rax
lea rcx, [rsp + 0x78]
lea rax, [rbp - 0x80]
mov r9d, 0xffff
mov qword [rsp + 0x30], rax
mov rdx, r13
lea rax, [rbp - 0x78]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xa1
call fcn.140162fe0
test eax, eax
je 0x14015f34d
mov rcx, qword [rsp + 0x78]
cmp rcx, r13
jae 0x14015f33e
movzx eax, byte [rcx]
cmp eax, esi
jne 0x14015f33e
mov eax, dword [rbp - 0x78]
mov rbx, rcx
mov r14d, dword [rsp + 0x70]
jmp 0x14016129e
mov esi, 0x3e
jmp 0x14015f2c2
mov eax, 0x9d
mov ecx, eax
mov dword [rbp - 0x80], eax
jmp 0x14015f1d2
mov ecx, dword [rbp - 0x80]
test ecx, ecx
jne 0x14015f1d2
mov r8d, dword [rsp + 0x54]
lea rax, [rbp - 0x80]
mov qword [rsp + 0x40], r12
lea rcx, [rbp + 0x70]
mov qword [rsp + 0x38], rax
mov r9d, esi
lea rax, [rbp - 0x74]
mov rdx, r13
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x20], rax
call fcn.140162c30
test eax, eax
je 0x14015f3ee
cmp edi, 0x1c
je 0x14015f3a8
mov eax, 0x80210000
cmp esi, 0x7d
jne 0x14015f3ad
mov eax, 0x80040000
mov rcx, qword [rbp - 0x68]
mov r14d, dword [rsp + 0x70]
mov rbx, qword [rbp + 0x70]
mov r9d, dword [rsp + 0x54]
mov dword [r15], eax
mov eax, dword [rbp - 0x74]
mov dword [r15 + 4], eax
mov rax, rcx
shr rax, 0x20
mov dword [r15 + 8], eax
mov eax, 1
mov dword [r15 + 0xc], ecx
add r15, 0x10
mov dword [rbp - 0x7c], eax
mov qword [rsp + 0x78], r15
jmp 0x14015eebc
mov ecx, dword [rbp - 0x80]
jmp 0x14015f1ce
cmp edi, 0x1b
mov ecx, 0xa9
mov eax, 0x9d
cmove ecx, eax
mov dword [rbp - 0x80], ecx
jmp 0x14015f1d2
mov r14d, dword [rsp + 0x70]
mov eax, 1
bt r14d, 0x11
mov dword [rbp - 0x7c], eax
jb 0x14015f442
lea eax, [rdi - 0x7fe80000]
mov dword [r15], eax
add r15, 4
mov qword [rsp + 0x78], r15
mov rbx, qword [rbp + 0x70]
mov r9d, dword [rsp + 0x54]
jmp 0x14015eebc
lea eax, [rdi - 7]
test eax, 0xfffffff9
jne 0x14015f456
mov eax, 0x80180010
cmp edi, 0xd
jne 0x14015f45b
mov eax, 0x8018000f
mov dword [r15], eax
add edi, 0xfffffffa
add r15, 4
mov qword [rsp + 0x78], r15
cmp edi, 5
ja case.default.0x14015f47c
movsxd rax, edi
mov ecx, dword [rdx + rax*4 + 0x161970]
add rcx, rdx
jmp rcx
mov dword [r15], 0x3000d
jmp 0x14015f42b
mov dword [r15], 0x70000
jmp 0x14015f42b
mov dword [r15], 0x90000
jmp 0x14015f42b
mov rbx, qword [rbp + 0x70]
neg edi
mov eax, edi
mov rcx, rbx
sub rcx, qword [r12 + 0x38]
or eax, 0x80030000
dec rcx
mov dword [r15], eax
add r15, 4
mov qword [rbp - 0x68], rcx
mov qword [rsp + 0x78], r15
cmp edi, 0xa
jge 0x14015f4ed
movsxd rax, edi
cmp qword [r12 + rax*8 + 0x58], 0xffffffffffffffff
jne 0x14015f504
mov r14d, dword [rsp + 0x70]
mov r9d, dword [rsp + 0x54]
mov qword [r12 + rax*8 + 0x58], rcx
mov eax, 1
mov dword [rbp - 0x7c], eax
jmp 0x14015eebc
mov rax, rcx
shr rax, 0x20
mov dword [r15], eax
mov dword [r15 + 4], ecx
add r15, 8
mov qword [rsp + 0x78], r15
mov r14d, dword [rsp + 0x70]
mov eax, 1
mov r9d, dword [rsp + 0x54]
mov dword [rbp - 0x7c], eax
jmp 0x14015eebc
mov rbx, qword [rbp + 0x70]
mov edx, dword [rsp + 0x60]
mov r9d, dword [rsp + 0x54]
jmp 0x14015f642
movzx edx, byte [r14]
lea rbx, [r14 + 1]
test r9d, r9d
je 0x14015f642
cmp edx, 0xc0
jb 0x14015f642
test dl, 0x20
jne 0x14015f565
movzx eax, byte [rbx]
and edx, 0x1f
shl edx, 6
and eax, 0x3f
or edx, eax
inc rbx
jmp 0x14015f642
test dl, 0x10
jne 0x14015f58d
movzx eax, byte [rbx]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
add rbx, 2
jmp 0x14015f642
test dl, 8
jne 0x14015f5c1
movzx eax, byte [rbx]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
add rbx, 3
jmp 0x14015f642
movzx ecx, byte [rbx]
and ecx, 0x3f
test dl, 4
jne 0x14015f602
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 6
or edx, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [rbx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
add rbx, 4
jmp 0x14015f642
and edx, 1
mov eax, edx
mov edx, ecx
shl eax, 6
or edx, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [rbx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [rbx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
add rbx, 5
mov r14d, dword [rsp + 0x70]
mov eax, 1
mov dword [r15], edx
add r15, 4
mov qword [rsp + 0x78], r15
mov dword [rbp - 0x7c], eax
jmp 0x14015eebc
mov r9d, dword [rsp + 0x54]
mov r11d, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x58]
mov dword [r15], 0x80090000
add r15, 4
mov qword [rsp + 0x78], r15
jmp 0x14015ea6c
mov r9d, dword [rsp + 0x54]
mov r11d, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x58]
mov dword [r15], 0x80160000
add r15, 4
mov qword [rsp + 0x78], r15
jmp 0x14015ea6c
mov r9d, dword [rsp + 0x54]
mov eax, 1
mov r11d, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x58]
mov dword [r15], 0x80170000
add r15, 4
mov qword [rsp + 0x78], r15
mov dword [rbp - 0x7c], eax
jmp 0x14015ea6c
mov r10d, 0x80340000
jmp 0x14015f744
mov r10d, 0x80370000
jmp 0x14015f744
mov r10d, 0x803a0000
jmp 0x14015f744
lea rax, [rbp - 0x80]
mov rdx, r13
lea r9, [rbp - 0xc]
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x10]
lea rcx, [rbp + 0x70]
call fcn.140163110
test eax, eax
jne 0x14015f73a
mov ecx, dword [rbp - 0x80]
test ecx, ecx
jne 0x1401616bc
mov rbx, qword [rbp + 0x70]
mov eax, 1
mov r9d, dword [rsp + 0x54]
mov dword [r15], edi
add r15, 4
mov qword [rsp + 0x78], r15
mov dword [rbp - 0x7c], eax
jmp 0x14015eebc
mov rbx, qword [rbp + 0x70]
mov r10d, 0x803d0000
mov dword [rbp - 0x6c], r10d
test esi, esi
je 0x14016166d
cmp dword [r15 - 4], 0x802a0000
lea rcx, [r15 - 4]
jne 0x14015f790
mov rdx, qword [rbp]
cmp rcx, rdx
jb 0x14015f77e
nop word [rax + rax]
mov eax, dword [rcx]
mov dword [rcx + 4], eax
sub rcx, 4
cmp rcx, rdx
jae 0x14015f770
mov dword [rdx], 0x801a0000
mov dword [r15 + 4], 0x80190000
add r15, 8
mov r9d, dword [rsp + 0x54]
mov r11d, dword [rsp + 0x50]
movzx esi, word [rbp + 0x78]
mov r8d, dword [rsp + 0x58]
mov dword [r15], r10d
add r15, 4
mov r10d, dword [rsp + 0x5c]
cmp edi, 0x7b
mov rdi, qword [rsp + 0x68]
mov qword [rsp + 0x78], r15
jne 0x14015ea75
mov eax, dword [rbp - 0x10]
mov dword [r15], eax
mov eax, dword [rbp - 0xc]
mov dword [r15 + 4], eax
add r15, 8
mov qword [rsp + 0x78], r15
jmp 0x14015ea75
mov rax, r13
mov esi, 1
sub rax, rbx
mov dword [rbp - 0x7c], esi
cmp rax, 6
jl 0x14015f89e
lea r8d, [rsi + 5]
mov rcx, rbx
lea rdx, [0x140340ec0]
call fcn.14017bde0
test eax, eax
je 0x14015f827
lea r8d, [rsi + 5]
mov rcx, rbx
lea rdx, str._:_:__
call fcn.14017bde0
test eax, eax
jne 0x14015f89e
mov dword [r15], 0x80180005
lea rax, [r15 + 8]
cmp byte [rbx + 2], 0x3c
jne 0x14015f842
mov dword [r15 + 4], 0x80230000
jmp 0x14015f85c
mov rcx, qword [rbp + 0x80]
mov dword [r15 + 4], 0x80250000
mov dword [rcx], esi
xor ecx, ecx
mov qword [rax], rcx
add rax, 8
bt r14d, 0x11
lea r15, [rax + 4]
jb 0x14015f86f
mov dword [rax], 0x8018000b
jmp 0x14015f880
mov dword [rax], 0x80180010
mov dword [r15], 0x90000
add r15, 4
mov r9d, dword [rsp + 0x54]
mov dword [r15], 0x80190000
add r15, 4
mov qword [rsp + 0x78], r15
add rbx, 6
jmp 0x14015eebc
cmp rbx, r13
jae 0x14015f8d1
movzx eax, byte [rbx]
cmp al, 0x3d
ja 0x14015f8d1
movabs rcx, 0x2400400000000000
bt rcx, rax
jae 0x14015f8d1
lea r8, [rbp - 0x20]
mov rdx, r13
mov rcx, rbx
call fcn.140159740
test eax, eax
jne 0x14016167a
xor r10d, r10d
mov r14d, r10d
cmp rbx, r13
jae 0x14015faaf
mov r12d, dword [rsp + 0x70]
lea r15d, [r10 + 1]
mov edx, dword [rsp + 0x54]
mov rsi, r13
sub rsi, rbx
movzx edi, byte [rbx]
dec rsi
inc rbx
mov dword [rsp + 0x60], edi
mov qword [rbp + 0x70], rbx
mov eax, edi
mov ecx, edi
test edx, edx
je 0x14015fa2d
cmp edi, 0xc0
jb 0x14015fa2d
test al, 0x20
jne 0x14015f939
movzx edi, byte [rbx]
and eax, 0x1f
and edi, 0x3f
shl eax, 6
or edi, eax
inc rbx
dec rsi
jmp 0x14015fa23
test al, 0x10
jne 0x14015f964
movzx edi, byte [rbx]
and eax, 0xf
and edi, 0x3f
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 2
sub rsi, 2
jmp 0x14015fa23
test al, 8
jne 0x14015f99b
movzx edi, byte [rbx]
and eax, 7
and edi, 0x3f
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 3
sub rsi, 3
jmp 0x14015fa23
movzx ecx, byte [rbx]
and ecx, 0x3f
test al, 4
jne 0x14015f9df
and edi, 3
mov eax, edi
mov edi, ecx
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 3]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 4
sub rsi, 4
jmp 0x14015fa23
and edi, r15d
mov eax, edi
mov edi, ecx
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 3]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 4]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 5
sub rsi, 5
mov dword [rsp + 0x60], edi
mov ecx, edi
mov qword [rbp + 0x70], rbx
cmp ecx, 0x5c
jne 0x14015fa79
cmp rbx, r13
jae 0x14015fa48
cmp byte [rbx], 0x45
jne 0x14015fa48
inc rbx
mov qword [rbp + 0x70], rbx
dec rsi
jmp 0x14015fa97
cmp rsi, 3
jl 0x14015faa0
mov r8d, 3
lea rdx, [0x140340ed0]
mov rcx, rbx
call fcn.14017bde0
test eax, eax
jne 0x14015faa0
mov edx, dword [rsp + 0x54]
add rbx, 3
mov qword [rbp + 0x70], rbx
sub rsi, 3
jmp 0x14015fa97
bt r12d, 0x18
jae 0x14015fa8a
cmp ecx, 9
je 0x14015fa97
cmp ecx, 0x20
je 0x14015fa97
test r14d, r14d
jne 0x14015faa0
cmp edi, 0x5e
jne 0x14015faa0
mov r14d, r15d
cmp rbx, r13
jb 0x14015f8f3
mov r15, qword [rsp + 0x78]
xor r10d, r10d
mov r12, qword [rbp + 0x88]
cmp edi, 0x5d
jne 0x14015faea
test byte [r12 + 0xcc], 1
je 0x14015faea
mov r9d, dword [rsp + 0x54]
test r14d, r14d
mov r14d, dword [rsp + 0x70]
mov eax, 0x800b0000
mov ecx, 0x800c0000
cmovne eax, ecx
mov dword [r15], eax
add r15, 4
mov qword [rsp + 0x78], r15
jmp 0x14015eebc
mov r11d, dword [rsp + 0x50]
test r14d, r14d
mov eax, 0x800a0000
mov ecx, 0x800e0000
cmovne eax, ecx
mov edx, 1
mov dword [r15], eax
mov r14d, r10d
add r15, 4
mov dword [rbp - 0x7c], edx
mov esi, edx
test r11d, r11d
je 0x14015fb43
cmp edi, 0x5c
jne 0x140160096
cmp rbx, r13
jae 0x140160096
cmp byte [rbx], 0x45
jne 0x140160096
mov r11d, r10d
mov dword [rsp + 0x50], r10d
inc rbx
jmp 0x14015fc68
mov ecx, dword [rsp + 0x70]
bt ecx, 0x18
jae 0x14015fb5f
cmp edi, 0x20
je 0x14015fc68
cmp edi, 9
je 0x14015fc68
cmp edi, 0x5b
jne 0x14015fcf4
mov rax, r13
sub rax, rbx
cmp rax, 3
jl 0x140160096
movzx eax, byte [rbx]
cmp al, 0x3d
ja 0x140160096
movabs rcx, 0x2400400000000000
bt rcx, rax
jae 0x140160096
lea r8, [rbp - 0x20]
mov rdx, r13
mov rcx, rbx
call fcn.140159740
test eax, eax
je 0x140160089
cmp r14d, 1
je 0x1401616c9
cmp byte [rbx], 0x3a
jne 0x140161699
movzx esi, byte [rbx + 1]
inc rbx
cmp sil, 0x5e
jne 0x14015fbd1
inc rbx
mov rdi, qword [rbp - 0x20]
mov rcx, rbx
mov edx, edi
sub edx, ebx
call fcn.1401596b0
mov r9d, eax
test eax, eax
js 0x14016168f
lea rbx, [rdi + 2]
lea rcx, [r13 - 1]
cmp rbx, rcx
jae 0x14015fc08
cmp byte [rbx], 0x2d
jne 0x14015fc08
cmp byte [rbx + 1], 0x5d
jne 0x1401616c9
xor r10d, r10d
mov eax, 0x20000
mov r14d, r10d
test dword [rsp + 0x70], eax
je 0x14015fcd7
lea eax, [r9 + r9]
movsxd rcx, eax
lea rax, [0x140000000]
mov edx, dword [rax + rcx*4 + 0x48fc30]
mov r8d, dword [rax + rcx*4 + 0x48fc34]
test edx, edx
js 0x14015fcba
cmp sil, 0x5e
mov eax, r10d
setne al
shl edx, 0x10
sub eax, 0x7fe7fff1
or edx, r8d
mov dword [r15], eax
mov dword [r15 + 4], edx
add r15, 8
mov r11d, dword [rsp + 0x50]
mov edx, 1
cmp rbx, r13
jae 0x1401616e0
movzx edi, byte [rbx]
inc rbx
mov r9d, dword [rsp + 0x54]
mov eax, edi
mov dword [rsp + 0x60], edi
mov ecx, edi
mov qword [rbp + 0x70], rbx
test r9d, r9d
je 0x1401601ce
cmp eax, 0xc0
jb 0x1401601ce
test al, 0x20
jne 0x1401600ea
movzx edi, byte [rbx]
and eax, 0x1f
and edi, 0x3f
shl eax, 6
or edi, eax
inc rbx
jmp 0x1401601c4
test r8d, r8d
je 0x14015fcd7
cmp sil, 0x5e
mov eax, r10d
setne al
sub eax, 0x7fe7ffee
mov dword [r15], eax
add r15, 4
jmp 0x14015fc5e
cmp sil, 0x5e
mov eax, 0x801c0000
mov ecx, 0x801d0000
cmove eax, ecx
mov dword [r15], eax
mov dword [r15 + 4], r9d
jmp 0x14015fc5a
cmp edi, 0x2d
jne 0x14015fd23
cmp r14d, 2
jb 0x140160096
cmp r14d, 3
mov eax, 0x801e0000
mov ecx, 0x801f0000
mov r14d, edx
cmove eax, ecx
mov dword [r15], eax
add r15, 4
jmp 0x14015fc68
cmp edi, 0x5c
jne 0x140160096
mov rax, qword [r12]
lea r9, [rbp - 0x80]
mov qword [rsp + 0x38], r12
lea r8, [rsp + 0x60]
mov dword [rsp + 0x30], edx
mov rdx, r13
mov qword [rbp - 0x20], rbx
mov eax, dword [rax + 0x40]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
lea rcx, [rbp + 0x70]
call fcn.140158330
mov ecx, dword [rbp - 0x80]
movsxd rdi, eax
test ecx, ecx
je 0x14015fec9
test byte [rbp - 0x38], 2
je 0x1401616bc
cmp rbx, r13
jb 0x14015fd8a
xor r10d, r10d
mov edi, 0x5c
mov esi, r10d
jmp 0x14016008c
movzx edi, byte [rbx]
inc rbx
cmp dword [rsp + 0x54], 0
je 0x14015fef4
cmp edi, 0xc0
jb 0x14015fef4
test dil, 0x20
jne 0x14015fdc9
movzx eax, byte [rbx]
and edi, 0x1f
shl edi, 6
and eax, 0x3f
or edi, eax
inc rbx
xor r10d, r10d
mov esi, r10d
jmp 0x14016008c
test dil, 0x10
jne 0x14015fdf8
movzx eax, byte [rbx]
and edi, 0xf
shl edi, 6
and eax, 0x3f
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 2
xor r10d, r10d
mov esi, r10d
jmp 0x14016008c
test dil, 8
jne 0x14015fe33
movzx eax, byte [rbx]
and edi, 7
shl edi, 6
and eax, 0x3f
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 3
xor r10d, r10d
mov esi, r10d
jmp 0x14016008c
movzx ecx, byte [rbx]
and ecx, 0x3f
test dil, 4
jne 0x14015fe7e
and edi, 3
mov eax, edi
mov edi, ecx
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 3]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 4
xor r10d, r10d
mov esi, r10d
jmp 0x14016008c
and edi, 1
mov eax, edi
mov edi, ecx
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 3]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 4]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 5
xor r10d, r10d
mov esi, r10d
jmp 0x14016008c
lea rdx, [0x140000000]
mov rax, rdi
cmp edi, 0x1a
ja case.0x14015feea.5
movzx eax, byte [rdx + rax + 0x1619a0]
mov ecx, dword [rdx + rax*4 + 0x161988]
add rcx, rdx
jmp rcx
mov rbx, qword [rbp + 0x70]
mov edi, dword [rsp + 0x60]
xor r10d, r10d
mov esi, r10d
jmp 0x14016008c
mov rbx, qword [rbp + 0x70]
xor r10d, r10d
mov esi, r10d
mov edi, 8
jmp 0x14016008c
mov rbx, qword [rbp + 0x70]
mov edx, 1
mov r11d, edx
mov dword [rsp + 0x50], edx
xor r10d, r10d
jmp 0x14015fc68
mov rbx, qword [rbp + 0x70]
xor r10d, r10d
jmp 0x14015fc5e
cmp r14d, 1
je 0x1401616c5
xor r10d, r10d
lea eax, [rdi - 6]
mov r14d, r10d
cmp eax, 0xf
ja case.0x14015ff5f.13
cdqe
mov ecx, dword [rdx + rax*4 + 0x1619bc]
add rcx, rdx
jmp rcx
lea eax, [rdi - 0x7fe80000]
mov dword [r15], eax
add r15, 4
jmp case.default.0x14015ffc9
mov eax, 0x20000
test dword [rsp + 0x70], eax
jne 0x14015ff90
lea eax, [rdi - 0x7fe80000]
mov dword [r15], eax
add r15, 4
jmp case.default.0x14015ffc9
lea eax, [rdi - 7]
test eax, 0xfffffff9
jne 0x14015ffa4
mov eax, 0x80180010
cmp edi, 0xd
jne 0x14015ffa9
mov eax, 0x8018000f
mov dword [r15], eax
add edi, 0xfffffffa
add r15, 4
cmp edi, 5
ja case.default.0x14015ffc9
movsxd rax, edi
mov ecx, dword [rdx + rax*4 + 0x1619fc]
add rcx, rdx
jmp rcx
mov dword [r15], 0x3000d
add r15, 4
jmp case.default.0x14015ffc9
mov dword [r15], 0x70000
add r15, 4
jmp case.default.0x14015ffc9
mov dword [r15], 0x90000
add r15, 4
jmp case.default.0x14015ffc9
lea rax, [rbp - 0x80]
mov qword [rsp + 0x28], r12
lea r9, [rbp - 0x70]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x60]
mov word [rsp + 0x60], r10w
lea rdx, [rbp - 8]
mov word [rbp - 0x70], r10w
lea rcx, [rbp + 0x70]
call fcn.14015e000
test eax, eax
je 0x14016172f
xor r10d, r10d
cmp dword [rbp - 8], r14d
je 0x140160041
cmp edi, 0xf
mov eax, r10d
sete al
lea edi, [rax + 0xf]
movzx ecx, word [rsp + 0x60]
lea eax, [rdi - 0x7fe80000]
mov dword [r15], eax
movzx eax, word [rbp - 0x70]
shl ecx, 0x10
or ecx, eax
mov dword [r15 + 4], ecx
add r15, 8
mov rbx, qword [rbp + 0x70]
lea rax, [r13 - 1]
cmp rbx, rax
jae 0x14015fc5e
cmp byte [rbx], 0x2d
jne 0x14015fc5e
cmp byte [rbx + 1], 0x5d
jne 0x1401616c9
jmp 0x14015fc5e
xor r10d, r10d
mov r11d, dword [rsp + 0x50]
mov edx, 1
cmp r14d, 1
jne 0x1401600da
cmp edi, dword [r15 - 8]
jne 0x1401600ae
sub r15, 4
mov r14d, r10d
jmp 0x14015fc68
jb 0x1401616d3
test esi, esi
jne 0x1401600cb
mov eax, 0x801f0000
cmp dword [r15 - 4], eax
jne 0x1401600cb
mov dword [r15 - 4], 0x801e0000
mov dword [r15], edi
mov r14d, r10d
add r15, 4
jmp 0x14015fc68
mov dword [r15], edi
lea r14d, [rsi + 2]
add r15, 4
jmp 0x14015fc68
test al, 0x10
jne 0x140160111
movzx edi, byte [rbx]
and eax, 0xf
and edi, 0x3f
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 2
jmp 0x1401601c4
test al, 8
jne 0x140160144
movzx edi, byte [rbx]
and eax, 7
and edi, 0x3f
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 3
jmp 0x1401601c4
movzx ecx, byte [rbx]
and ecx, 0x3f
test al, 4
jne 0x140160184
and edi, 3
mov eax, edi
mov edi, ecx
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 3]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 4
jmp 0x1401601c4
and edi, 1
mov eax, edi
mov edi, ecx
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 3]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 4]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 5
mov dword [rsp + 0x60], edi
mov ecx, edi
mov qword [rbp + 0x70], rbx
cmp ecx, 0x5d
jne 0x14015fb11
test r11d, r11d
jne 0x14015fb11
cmp r14d, 1
jne 0x1401601ee
mov dword [r15 - 4], 0x2d
mov r14d, dword [rsp + 0x70]
movzx esi, word [rbp + 0x78]
mov r8d, dword [rsp + 0x58]
mov r10d, dword [rsp + 0x5c]
mov dword [r15], 0x800d0000
add r15, 4
mov qword [rsp + 0x78], r15
jmp 0x14015ea70
cmp rbx, r13
jae 0x140161880
cmp byte [rbx], 0x3f
je 0x140160734
cmp byte [rbx], 0x2a
movzx esi, word [rbp + 0x78]
je 0x14016028a
inc si
mov word [rbp + 0x78], si
bt r14d, 0xd
jb 0x140160265
mov eax, dword [r12 + 0xd4]
mov ecx, 0xffff
cmp eax, ecx
jae 0x1401617c0
inc eax
mov dword [r12 + 0xd4], eax
or eax, 0x80080000
jmp 0x14016026a
mov eax, 0x801a0000
mov r9d, dword [rsp + 0x54]
mov r11d, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x58]
mov dword [r15], eax
add r15, 4
mov qword [rsp + 0x78], r15
jmp 0x14015ea70
mov r9d, dword [rsp + 0x54]
mov rax, r13
mov r11d, dword [rsp + 0x50]
sub rax, rbx
mov rdi, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x58]
cmp rax, 1
jle 0x14015ea75
movzx eax, byte [rbx + 1]
cmp al, 0x29
je 0x14015ea75
mov r8d, dword [rsp + 0x54]
mov ecx, eax
mov rax, qword [r12 + 0x20]
xor r9d, r9d
test byte [rcx + rax], 4
lea rcx, [rbp + 0x70]
je 0x14016053f
mov rax, qword [rbp + 0x88]
lea r12, [0x140340890]
mov qword [rsp + 0x40], rax
mov rdx, r13
lea rax, [rbp - 0x80]
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x74]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x20], rax
call fcn.140162c30
test eax, eax
je 0x14016172f
mov rbx, qword [rbp + 0x70]
cmp rbx, r13
jae 0x140161711
cmp byte [rbx], 0x3a
jne 0x140161711
mov r15d, dword [rbp - 0x74]
lea r9, [0x140000000]
xor eax, eax
mov dword [rbp - 0x78], eax
mov edi, eax
mov r14d, eax
mov r8d, eax
mov ecx, eax
mov edx, eax
movsxd r13, eax
movsxd rax, edi
cmp r15d, dword [r9 + rax*8 + 0x340970]
jne 0x140160381
mov edi, ecx
mov esi, edx
mov rcx, qword [rbp - 0x48]
mov rdx, r12
mov r8, r15
call fcn.14017bde0
lea r9, [0x140000000]
test eax, eax
je 0x1401603a8
mov r8d, r14d
mov eax, dword [r9 + r13*8 + 0x340970]
lea edi, [r8 + 1]
inc eax
mov dword [rbp - 0x78], edi
add r12, rax
mov r14d, edi
mov eax, edi
mov r8d, edi
mov ecx, edi
mov edx, edi
mov esi, edi
cmp edi, 0x11
jl 0x140160350
cmp edi, 0x11
jge 0x140161711
mov r8d, dword [rbp - 0x70]
movsxd rax, esi
mov ecx, dword [r9 + rax*8 + 0x340974]
test r8d, r8d
jle 0x1401603d6
lea eax, [rcx + 0x7fdd0000]
cmp eax, 0x30000
ja 0x1401616ea
cmp ecx, 0x80250000
ja 0x140160439
je 0x140160522
cmp ecx, 0x80020000
je 0x140160e0b
cmp ecx, 0x80220000
je 0x14016046a
cmp ecx, 0x80230000
je 0x140160e43
cmp ecx, 0x80240000
jne 0x140161707
mov r15, qword [rsp + 0x78]
mov r13, qword [rbp - 0x50]
mov r12, qword [rbp + 0x88]
mov r14d, dword [rsp + 0x70]
mov r10d, dword [rsp + 0x5c]
mov dword [r15], 0x80240000
inc rbx
jmp 0x140160f07
mov eax, 0x80260000
cmp ecx, eax
je 0x140160522
cmp ecx, 0x80270000
je 0x140160e6c
cmp ecx, 0x80280000
je 0x140160522
cmp ecx, 0x8fff0000
jne 0x140161707
mov r15, qword [rsp + 0x78]
inc rbx
movzx esi, word [rbp + 0x78]
mov r13, qword [rbp - 0x50]
inc si
mov r14d, dword [rsp + 0x70]
mov r9d, dword [rsp + 0x54]
mov r11d, dword [rsp + 0x50]
mov rdi, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x58]
mov r10d, dword [rsp + 0x5c]
mov dword [r15], 0x80220000
add r15, 4
mov qword [rsp + 0x78], r15
mov word [rbp + 0x78], si
cmp ecx, 0x8fff0000
jne 0x14015ea60
mov rdi, qword [rbp - 0x60]
mov dword [r15], 0x80020000
add r15, 4
mov qword [rsp + 0x78], r15
test rdi, rdi
jne 0x1401604e6
mov r12, qword [rbp + 0x88]
mov rdi, qword [r12 + 0x28]
mov qword [rbp - 0x60], rdi
jmp 0x1401604ff
add rdi, 0xc
mov qword [rbp - 0x60], rdi
cmp rdi, qword [rbp + 8]
jae 0x1401617f1
mov r12, qword [rbp + 0x88]
mov r14d, dword [rsp + 0x70]
mov eax, r14d
mov r11d, dword [rsp + 0x50]
and eax, 0x10424e8
mov dword [rdi + 8], eax
mov word [rdi], si
mov word [rdi + 6], 4
jmp 0x14015ea70
mov r13, qword [rbp - 0x50]
dec rbx
mov r12, qword [rbp + 0x88]
mov r14d, dword [rsp + 0x70]
mov r10d, dword [rsp + 0x5c]
jmp 0x140160ecc
mov rdi, qword [rbp - 0x50]
lea rax, [rbp - 0x80]
mov qword [rsp + 0x40], r12
lea r13, [0x1403407f0]
mov qword [rsp + 0x38], rax
mov rdx, rdi
lea rax, [rbp - 0x74]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x20], rax
call fcn.140162c30
test eax, eax
je 0x14016172f
mov rbx, qword [rbp + 0x70]
cmp rbx, rdi
jae 0x140161814
movzx eax, byte [rbx]
cmp al, 0x3a
je 0x14016059f
cmp al, 0x29
jne 0x140161814
mov r12d, dword [rbp - 0x74]
lea r10, [0x140000000]
xor eax, eax
mov esi, eax
mov dword [rbp - 0x78], eax
mov ecx, eax
mov r14d, eax
mov r8d, eax
mov edx, eax
nop dword [rax + rax]
movsxd r15, eax
movsxd rax, ecx
lea rcx, [rax + rax*2]
cmp r12d, dword [r10 + rcx*4 + 0x340820]
jne 0x1401605f3
mov rcx, qword [rbp - 0x48]
mov edi, edx
mov rdx, r13
mov r8, r12
call fcn.14017bde0
lea r10, [0x140000000]
test eax, eax
je 0x14016061e
mov r8d, r14d
lea esi, [r8 + 1]
lea rax, [r15 + r15*2]
mov dword [rbp - 0x78], esi
mov eax, dword [r10 + rax*4 + 0x340820]
mov ecx, esi
inc eax
mov r14d, esi
add r13, rax
mov r8d, esi
mov eax, esi
mov edx, esi
mov edi, esi
cmp esi, 9
jl 0x1401605c0
cmp edi, 9
jge 0x140161814
cmp byte [rbx], 0x3a
mov r13, qword [rbp - 0x50]
jne 0x140160640
lea rax, [rbx + 1]
cmp rax, r13
jae 0x140160640
cmp byte [rax], 0x29
cmove rbx, rax
movsxd rax, esi
lea rcx, [rax + rax*2]
lea rcx, [rcx*4]
mov edx, dword [rcx + r10 + 0x340828]
test edx, edx
jle 0x14016068f
cmp byte [rbx], 0x3a
jne 0x14016171b
mov r9, qword [rsp + 0x78]
xor edx, edx
mov ecx, dword [rcx + r10 + 0x340824]
mov esi, edx
inc rbx
mov qword [rbp], r9
cmp ecx, 0x802a0000
lea r8, [r9 + 4]
sete sil
mov dword [rbp - 0x7c], esi
jmp 0x1401606cf
mov r9, qword [rsp + 0x78]
xor eax, eax
mov ecx, dword [rcx + r10 + 0x340824]
mov esi, eax
movzx eax, byte [rbx]
cmp ecx, 0x802a0000
mov qword [rbp], r9
sete sil
lea r8, [r9 + 4]
inc rbx
mov dword [rbp - 0x7c], esi
cmp al, 0x3a
jne 0x140160713
test edx, edx
jns 0x1401606cd
mov dword [rbp - 0x3c], ecx
mov eax, 0x80290000
jmp 0x1401606e1
xor edx, edx
mov eax, edx
cmp ecx, 0x80290000
mov edx, 0x10000
cmovne eax, edx
add eax, ecx
mov r14d, dword [rsp + 0x70]
lea r15, [r8 + 4]
mov dword [r9], eax
mov r12, qword [rbp + 0x88]
mov r9d, dword [rsp + 0x54]
mov qword [rsp + 0x78], r15
mov qword [rbp + 0x10], r8
mov qword [rbp + 0x18], rbx
mov dword [rsp + 0x58], 1
jmp 0x14015eebc
mov r12, qword [rbp + 0x88]
mov r15, r8
mov r14d, dword [rsp + 0x70]
mov dword [r9], ecx
mov r9d, dword [rsp + 0x54]
mov qword [rsp + 0x78], r8
jmp 0x14015eebc
inc rbx
mov qword [rbp + 0x70], rbx
cmp rbx, r13
jae 0x140161880
movzx edx, byte [rbx]
lea eax, [rdx - 0x21]
cmp eax, 0x31
ja case.0x14016076e.46
lea rsi, [0x140000000]
cdqe
movzx eax, byte [rsi + rax + 0x161a4c]
mov ecx, dword [rsi + rax*4 + 0x161a14]
add rcx, rsi
jmp rcx
inc rbx
mov qword [rbp + 0x70], rbx
cmp rbx, r13
jae 0x140161880
movzx eax, byte [rbx]
cmp al, 0x3c
jne 0x140160792
mov r9d, 0x3e
jmp 0x140160f78
cmp al, 0x3e
je case.0x14016076e.34
cmp al, 0x3d
jne 0x140161725
mov r8d, dword [rsp + 0x54]
lea rax, [rbp - 0x80]
mov qword [rsp + 0x40], r12
lea rcx, [rbp + 0x70]
mov qword [rsp + 0x38], rax
mov r9d, 0x29
lea rax, [rbp - 0x74]
mov rdx, r13
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x20], rax
call fcn.140162c30
test eax, eax
je 0x14016172f
mov dword [r15], 0x80040000
mov eax, dword [rbp - 0x74]
mov rcx, qword [rbp - 0x68]
mov rbx, qword [rbp + 0x70]
mov r9d, dword [rsp + 0x54]
mov dword [r15 + 4], eax
mov rax, rcx
shr rax, 0x20
mov dword [r15 + 8], eax
mov eax, 1
mov dword [r15 + 0xc], ecx
add r15, 0x10
mov qword [rsp + 0x78], r15
mov dword [rbp - 0x7c], eax
jmp 0x14015eebc
inc rbx
mov eax, r11d
mov dword [rbp - 0x78], eax
cmp rbx, r13
jae 0x140160841
cmp byte [rbx], 0x29
je 0x1401612a3
mov ecx, 0x9e
jmp 0x140161885
mov rax, r13
sub rax, rbx
cmp rax, 2
jl 0x140160865
movzx eax, byte [rbx + 1]
sub al, 0x30
cmp al, 9
jbe case.0x14016076e.39
mov ecx, 0x81
jmp 0x140161885
mov r8d, dword [rsp + 0x54]
lea rax, [rbp - 0x80]
mov qword [rsp + 0x40], r12
lea rcx, [rbp + 0x70]
mov qword [rsp + 0x38], rax
mov r9d, 0x29
lea rax, [rbp - 0x74]
mov rdx, r13
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x20], rax
call fcn.140162c30
test eax, eax
je 0x14016172f
mov dword [r15], 0x80210000
jmp 0x1401607f1
inc rbx
cmp rbx, r13
jae 0x140161880
lea r10d, [r8 - 1]
mov dword [rsp + 0x5c], r10d
test r9, r9
je 0x1401608f8
test r14b, 4
je 0x1401608f8
lea rax, [r15 - 0x10]
cmp r9, rax
jne 0x1401608f8
cmp dword [r15 - 4], 0xff
cmove r15, r9
movzx edx, byte [rbx]
mov r11, r15
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x28], r15
mov dword [rbp - 0x58], 1
cmp dl, 0x29
je 0x1401609e1
lea eax, [rdx - 0x30]
cmp al, 9
jbe 0x1401609e1
xor edi, edi
mov r10, rbx
cmp dword [0x1403614a0], edi
mov dword [rbp - 0x78], edi
je 0x140160968
mov r9d, edx
mov ecx, edi
mov edx, edi
mov r8d, edi
nop dword [rax + rax]
movsxd rax, ecx
movsxd rdx, edx
cmp r9d, dword [rsi + rax*4 + 0x3614a0]
je 0x140160972
lea ecx, [r8 + 1]
movsxd rax, r8d
mov edx, ecx
mov dword [rbp - 0x78], ecx
mov r8d, ecx
cmp dword [rsi + rax*4 + 0x3614a4], edi
jne 0x140160940
mov ecx, UnRegisterTypeLib
jmp 0x140161885
mov ecx, dword [rsi + rdx*4 + 0x361478]
test ecx, ecx
je 0x140160968
mov dword [r15], 0x80070000
inc rbx
cmp rbx, r13
jae 0x140161745
movzx eax, byte [rbx]
cmp eax, ecx
jne 0x140160984
inc rbx
cmp rbx, r13
jae 0x1401609a6
movzx eax, byte [rbx]
cmp eax, ecx
je 0x140160984
mov rax, rbx
mov ecx, 0xffffffff
sub rax, r10
cmp rax, rcx
ja 0x14016173b
mov dword [r15 + 0xc], eax
sub r10, qword [r12 + 0x38]
mov rax, r10
mov dword [r15 + 0x14], r10d
shr rax, 0x20
mov dword [r15 + 0x10], eax
add r15, 0x14
mov qword [rbp - 0x68], r10
mov r10d, dword [rsp + 0x5c]
jmp 0x140160a1a
xor edi, edi
mov dword [r15], 0x80060000
mov ecx, edi
add r15, 0xc
movzx edx, byte [rbx]
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x140160a17
lea ecx, [rcx + rcx*4]
inc rbx
lea ecx, [rcx - 0x18]
lea ecx, [rdx + rcx*2]
cmp ecx, 0xff
jg 0x140161752
cmp rbx, r13
jb 0x1401609f0
mov dword [r15], ecx
cmp rbx, r13
jae 0x14016175c
cmp byte [rbx], 0x29
jne 0x14016175c
movzx esi, word [rbp + 0x78]
inc rbx
mov eax, ebx
sub eax, dword [r12 + 0x38]
mov dword [r11 + 4], eax
mov dword [r11 + 8], edi
jmp 0x140161548
inc rbx
mov qword [rbp + 0x70], rbx
cmp rbx, r13
jae 0x140161880
movzx esi, word [rbp + 0x78]
movzx eax, byte [rbx]
inc si
mov word [rbp + 0x78], si
cmp al, 0x3f
je 0x140160dec
cmp al, 0x2a
je 0x140160dec
mov r8d, dword [r12 + 0xd4]
lea rax, [rbp - 0x80]
mov qword [rsp + 0x30], rax
lea rcx, [rbp + 0x70]
lea rax, [rbp - 0x78]
mov r9d, 0xffff
mov qword [rsp + 0x28], rax
mov rdx, r13
mov dword [rsp + 0x20], 0xa1
call fcn.140162fe0
test eax, eax
je 0x140160aef
mov edx, dword [rbp - 0x78]
mov rbx, qword [rbp + 0x70]
test edx, edx
jle 0x140161766
mov dword [r15], 0x80120000
mov rcx, rbx
sub rcx, qword [r12 + 0x38]
sub rcx, 2
mov dword [r15 + 0xc], edx
mov rax, rcx
mov dword [r15 + 8], ecx
shr rax, 0x20
mov dword [r15 + 4], eax
add r15, 0xc
mov qword [rbp - 0x68], rcx
jmp 0x140160db5
mov ecx, dword [rbp - 0x80]
test ecx, ecx
jne 0x1401616bc
mov rdi, qword [rbp + 0x70]
mov rsi, r13
sub rsi, rdi
cmp rsi, 0xa
jl 0x140160c2c
lea r8d, [rcx + 7]
mov rcx, rdi
lea rdx, str.VERSION
call fcn.14017bde0
test eax, eax
jne 0x140160c2c
movzx eax, byte [rdi + 7]
lea rbx, [rdi + 7]
cmp al, 0x29
je 0x140160c2c
xor ecx, ecx
mov dword [rsp + 0x60], ecx
mov esi, ecx
mov edi, ecx
cmp al, 0x3e
jne 0x140160b51
movzx eax, byte [rbx + 1]
lea esi, [rcx + 1]
inc rbx
cmp al, 0x3d
jne 0x140161770
movzx eax, byte [rbx + 1]
inc rbx
sub al, 0x30
mov qword [rbp + 0x70], rbx
cmp al, 9
ja 0x140161770
lea rax, [rbp - 0x80]
mov r9d, 0x3e8
mov qword [rsp + 0x30], rax
lea rcx, [rbp + 0x70]
lea rax, [rsp + 0x60]
mov r8d, 0xffffffff
mov qword [rsp + 0x28], rax
mov rdx, r13
mov dword [rsp + 0x20], UnRegisterTypeLib
call fcn.140162fe0
test eax, eax
je 0x14016172f
mov rbx, qword [rbp + 0x70]
cmp rbx, r13
jae 0x140161770
cmp byte [rbx], 0x2e
jne 0x140160c0d
inc rbx
cmp rbx, r13
jae 0x140161770
movzx ecx, byte [rbx]
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x140161770
lea eax, [rcx - 0x30]
inc rbx
lea edi, [rax + rax*4]
add edi, edi
cmp rbx, r13
jae 0x140161770
movzx ecx, byte [rbx]
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x140160bfb
lea eax, [rcx - 0x30]
add edi, eax
inc rbx
cmp rbx, r13
jae 0x140161770
cmp byte [rbx], 0x29
jne 0x140161770
mov eax, dword [rsp + 0x60]
mov dword [r15], 0x80150000
mov dword [r15 + 4], esi
mov dword [r15 + 8], eax
add r15, 0xc
mov dword [r15], edi
jmp 0x140160db1
xor eax, eax
mov r14d, eax
movzx eax, byte [rdi]
cmp al, 0x52
jne 0x140160c56
cmp rsi, 1
jle 0x140160c72
cmp byte [rdi + 1], 0x26
lea rax, [rdi + 1]
jne 0x140160c72
mov esi, 1
mov qword [rbp + 0x70], rax
mov r14d, esi
jmp 0x140160c7e
cmp al, 0x3c
jne 0x140160c64
mov ebx, 0x3e
lea esi, [rbx - 0x3d]
jmp 0x140160c83
cmp al, 0x27
jne 0x140160c72
mov ebx, 0x27
lea esi, [rbx - 0x26]
jmp 0x140160c83
dec rdi
mov esi, 1
mov qword [rbp + 0x70], rdi
mov ebx, 0x29
mov r8d, dword [rsp + 0x54]
lea rax, [rbp - 0x80]
mov qword [rsp + 0x40], r12
lea rcx, [rbp + 0x70]
mov qword [rsp + 0x38], rax
mov r9d, ebx
lea rax, [rbp - 0x74]
mov rdx, r13
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x20], rax
call fcn.140162c30
test eax, eax
je 0x14016172f
mov edi, dword [rbp - 0x74]
test r14d, r14d
je 0x140160ce3
mov rbx, qword [rbp + 0x70]
dec rbx
mov dword [r15], 0x80130000
jmp 0x140160d82
cmp ebx, 0x29
jne 0x140160d77
mov rbx, qword [rbp - 0x48]
cmp edi, 6
jne 0x140160d1c
mov r8d, edi
lea rdx, str.DEFINE
mov rcx, rbx
call fcn.14017bde0
test eax, eax
jne 0x140160d1c
mov eax, 0x80100000
mov dword [r15], eax
mov rbx, qword [rbp + 0x70]
dec rbx
jmp 0x140160d82
mov dword [rbp - 0x78], esi
mov eax, esi
cmp edi, 1
jle 0x140160d58
mov r9d, esi
mov r8d, esi
mov edx, esi
nop
cdqe
movzx ecx, byte [rax + rbx]
mov eax, edx
cmp cl, 0x30
jb 0x140160d58
mov eax, r8d
cmp cl, 0x39
ja 0x140160d58
lea eax, [r9 + 1]
mov dword [rbp - 0x78], eax
mov r9d, eax
mov r8d, eax
mov edx, eax
cmp eax, edi
jl 0x140160d30
cmp byte [rbx], 0x52
jne 0x140160d66
cmp eax, edi
mov eax, 0x80140000
jge 0x140160d6b
mov eax, 0x80110000
mov dword [r15], eax
mov rbx, qword [rbp + 0x70]
dec rbx
jmp 0x140160d82
mov rbx, qword [rbp + 0x70]
mov dword [r15], 0x80110000
mov eax, dword [r15]
add r15, 4
cmp eax, 0x80100000
je 0x140160d97
mov dword [r15], edi
add r15, 4
mov rcx, qword [rbp - 0x68]
mov r14d, dword [rsp + 0x70]
mov rax, rcx
shr rax, 0x20
mov dword [r15], eax
add r15, 4
mov dword [r15], ecx
movzx esi, word [rbp + 0x78]
cmp rbx, r13
jae 0x14016177a
cmp byte [rbx], 0x29
jne 0x14016177a
mov r9d, dword [rsp + 0x54]
inc rbx
mov r11d, dword [rsp + 0x50]
add r15, 4
mov r8d, dword [rsp + 0x58]
mov r10d, dword [rsp + 0x5c]
mov qword [rsp + 0x78], r15
jmp 0x14015ea70
mov eax, 2
mov dword [r15], 0x800f0000
add r15, 4
mov dword [rsp + 0x5c], eax
dec rbx
mov r10d, eax
jmp 0x14016154c
mov r15, qword [rsp + 0x78]
mov r13, qword [rbp - 0x50]
mov r12, qword [rbp + 0x88]
mov r14d, dword [rsp + 0x70]
mov r10d, dword [rsp + 0x5c]
movzx esi, word [rbp + 0x78]
inc si
mov dword [r15], 0x80020000
add r15, 4
mov word [rbp + 0x78], si
inc rbx
jmp 0x14016154c
mov r15, qword [rsp + 0x78]
mov r13, qword [rbp - 0x50]
mov r12, qword [rbp + 0x88]
mov r14d, dword [rsp + 0x70]
mov r10d, dword [rsp + 0x5c]
mov dword [r15], 0x80230000
inc rbx
jmp 0x140160f07
mov r15, qword [rsp + 0x78]
mov r13, qword [rbp - 0x50]
mov r12, qword [rbp + 0x88]
mov r14d, dword [rsp + 0x70]
mov r10d, dword [rsp + 0x5c]
mov dword [r15], 0x80270000
inc rbx
jmp 0x140160f07
mov rax, r13
sub rax, rbx
cmp rax, 1
jle 0x140160787
movzx eax, byte [rbx + 1]
cmp al, 0x3d
je 0x140160ec7
cmp al, 0x21
je 0x140160eb6
cmp al, 0x2a
jne 0x140160787
cmp al, 0x21
mov ecx, 0x80280000
mov eax, 0x80260000
cmove ecx, eax
jmp 0x140160ecc
mov ecx, 0x80250000
mov r9, qword [rsp + 0x78]
lea r15, [r9 + 8]
mov dword [r9], ecx
mov rcx, rbx
mov rax, qword [rbp + 0x80]
mov dword [rax], 1
sub rcx, qword [r12 + 0x38]
sub rcx, 2
mov rax, rcx
mov qword [rbp - 0x68], rcx
shr rax, 0x20
mov dword [r9 + 4], eax
add rbx, 2
mov dword [r15], ecx
movzx esi, word [rbp + 0x78]
add r15, 4
inc si
mov qword [rsp + 0x78], r15
mov word [rbp + 0x78], si
test r8d, r8d
jle 0x140161551
mov rdi, qword [rbp - 0x60]
test rdi, rdi
jne 0x140160f38
mov rdi, qword [r12 + 0x28]
mov qword [rbp - 0x60], rdi
jmp 0x140160f4a
add rdi, 0xc
mov qword [rbp - 0x60], rdi
cmp rdi, qword [rbp + 8]
jae 0x1401617f1
mov r9d, dword [rsp + 0x54]
mov eax, r14d
mov r11d, dword [rsp + 0x50]
and eax, 0x10424e8
mov r8d, dword [rsp + 0x58]
mov dword [rdi + 8], eax
mov word [rdi], si
mov word [rdi + 6], 2
jmp 0x14015ea70
mov r9d, 0x27
mov r8d, dword [rsp + 0x54]
lea rax, [rbp - 0x80]
mov qword [rsp + 0x40], r12
lea rcx, [rbp + 0x70]
mov qword [rsp + 0x38], rax
mov rdx, r13
lea rax, [rbp - 0x74]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x20], rax
call fcn.140162c30
test eax, eax
je 0x14016172f
mov eax, dword [r12 + 0xd4]
mov ecx, 0xffff
cmp eax, ecx
jae 0x1401617bc
inc word [rbp + 0x78]
inc eax
mov dword [r12 + 0xd4], eax
or eax, 0x80080000
mov dword [r15], eax
add r15, 4
movzx edx, word [r12 + 0xb0]
mov eax, 0x2710
mov qword [rsp + 0x78], r15
cmp dx, ax
jae 0x1401617ae
mov r14d, dword [rbp - 0x74]
movzx eax, word [r12 + 0xb2]
lea ecx, [r14 + 3]
cmp ecx, eax
jbe 0x140161027
lea eax, [r14 + 3]
mov word [r12 + 0xb2], ax
mov rbx, qword [r12 + 0xc0]
xor eax, eax
mov r12, qword [rbp - 0x48]
mov r15d, eax
mov rcx, qword [rbp + 0x88]
mov esi, eax
mov dword [rbp - 0x78], eax
mov edi, eax
cmp ax, dx
jae 0x1401610c1
nop dword [rax + rax]
movzx eax, word [rbx + 0xc]
cmp r14d, eax
jne 0x14016109c
mov rdx, qword [rbx]
mov r8, r14
mov rcx, r12
call fcn.14017bde0
mov rcx, qword [rbp + 0x88]
test eax, eax
jne 0x14016109c
mov eax, dword [rcx + 0xd4]
cmp dword [rbx + 8], eax
je 0x1401610c1
test byte [rsp + 0x70], 0x40
je 0x140161784
mov eax, 1
mov word [rbx + 0xe], ax
mov r15d, eax
mov dword [rcx + 0x128], eax
jmp 0x1401610ab
mov eax, dword [rcx + 0xd4]
cmp dword [rbx + 8], eax
je 0x140161792
movzx eax, word [rcx + 0xb0]
inc esi
add rbx, 0x10
mov dword [rbp - 0x78], esi
mov edi, esi
cmp esi, eax
jl 0x140161050
movzx ecx, word [rcx + 0xb0]
cmp edi, ecx
jge 0x1401610eb
mov r15, qword [rsp + 0x78]
mov r12, qword [rbp + 0x88]
mov r14d, dword [rsp + 0x70]
mov rbx, qword [rbp + 0x70]
mov r9d, dword [rsp + 0x54]
jmp 0x14015eebc
mov rdx, qword [rbp + 0x88]
mov eax, dword [rdx + 0xc8]
cmp ecx, eax
jb 0x140161173
lea edi, [rax + rax]
mov rax, qword [rdx]
mov ecx, edi
shl rcx, 4
mov rdx, qword [rax + 0x10]
call qword [rax]
mov rbx, rax
test rax, rax
je 0x1401617a0
mov rax, qword [rbp + 0x88]
mov rcx, rbx
mov r8d, dword [rax + 0xc8]
mov rdx, qword [rax + 0xc0]
shl r8, 4
call fcn.140305e90
mov rax, qword [rbp + 0x88]
cmp dword [rax + 0xc8], 0x14
jbe 0x140161164
mov r8, qword [rax]
mov rcx, qword [rax + 0xc0]
mov rdx, qword [r8 + 0x10]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
mov rax, qword [rbp + 0x88]
mov qword [rax + 0xc0], rbx
mov dword [rax + 0xc8], edi
jmp 0x14016117a
mov rax, qword [rbp + 0x88]
movzx ecx, word [rax + 0xb0]
mov rax, qword [rax + 0xc0]
add rcx, rcx
mov rbx, qword [rbp + 0x70]
mov r9d, dword [rsp + 0x54]
mov qword [rax + rcx*8], r12
mov r12, qword [rbp + 0x88]
movzx ecx, word [r12 + 0xb0]
mov rax, qword [r12 + 0xc0]
add rcx, rcx
mov word [rax + rcx*8 + 0xc], r14w
movzx edx, word [r12 + 0xb0]
mov rcx, qword [r12 + 0xc0]
add rdx, rdx
mov eax, dword [r12 + 0xd4]
mov r14d, dword [rsp + 0x70]
mov dword [rcx + rdx*8 + 8], eax
movzx ecx, word [r12 + 0xb0]
mov rax, qword [r12 + 0xc0]
add rcx, rcx
mov word [rax + rcx*8 + 0xe], r15w
inc word [r12 + 0xb0]
mov r15, qword [rsp + 0x78]
jmp 0x14015eebc
cmp dl, 0x2d
jne 0x1401612de
mov rax, r13
sub rax, rbx
cmp rax, 1
jle 0x1401612de
movzx eax, byte [rbx + 1]
sub al, 0x30
cmp al, 9
ja 0x1401612de
movzx eax, byte [rbx]
mov r8d, 0xffffffff
sub al, 0x30
cmp al, 9
jbe 0x140161249
mov r8d, dword [r12 + 0xd4]
lea rax, [rbp - 0x80]
mov r9d, 0xffff
mov qword [rsp + 0x30], rax
lea rcx, [rbp + 0x70]
lea rax, [rbp - 0x78]
mov rdx, r13
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xa1
call fcn.140162fe0
test eax, eax
je 0x14016172f
mov eax, dword [rbp - 0x78]
mov rbx, qword [rbp + 0x70]
test eax, eax
js 0x1401617ca
cmp rbx, r13
jae 0x140161880
cmp byte [rbx], 0x29
jne 0x140161880
mov r10d, dword [rsp + 0x5c]
movzx esi, word [rbp + 0x78]
or eax, 0x80200000
mov dword [r15], eax
mov rcx, rbx
sub rcx, qword [r12 + 0x38]
inc rbx
mov rax, rcx
mov dword [r15 + 8], ecx
shr rax, 0x20
mov dword [r15 + 4], eax
add r15, 0xc
mov eax, 1
mov qword [rbp - 0x68], rcx
mov dword [rbp - 0x7c], eax
jmp 0x14016154c
movzx esi, word [rbp + 0x78]
mov rdi, qword [rbp - 0x60]
inc si
mov word [rbp + 0x78], si
test rdi, rdi
jne 0x1401612fd
mov rdi, qword [r12 + 0x28]
mov qword [rbp - 0x60], rdi
jmp 0x14016130f
add rdi, 0xc
mov qword [rbp - 0x60], rdi
cmp rdi, qword [rbp + 8]
jae 0x1401617f1
mov eax, r14d
mov word [rdi], si
and eax, 0x10424e8
mov word [rdi + 6], r11w
mov dword [rdi + 8], eax
cmp byte [rbx], 0x7c
jne 0x140161366
movzx eax, word [r12 + 0xd4]
mov word [rdi + 2], ax
movzx eax, word [r12 + 0xd4]
mov word [rdi + 4], ax
mov word [rdi + 6], 1
or dword [r12 + 0xd0], 0x200000
mov dword [r15], 0x801a0000
add r15, 4
inc rbx
jmp 0x14016154c
mov dword [rdi + 2], r11d
lea r8, [rbp - 0x14]
movzx eax, byte [rbx]
mov ecx, r11d
mov dword [rbp - 0x18], ecx
mov edx, r11d
mov dword [rbp - 0x14], edx
mov r10d, r14d
cmp al, 0x5e
jne 0x14016138e
and r14d, 0xfeffdb57
inc rbx
cmp al, 0x5e
mov r9d, r11d
setne r9b
cmp rbx, r13
jae 0x140161460
lea rdx, [0x140000000]
nop word [rax + rax]
movzx eax, byte [rbx]
cmp al, 0x29
je 0x14016145a
cmp al, 0x3a
je 0x14016145a
inc rbx
sub eax, 0x2d
cmp eax, 0x4b
ja case.0x1401613e6.53
cdqe
movzx eax, byte [rdx + rax + 0x161aa4]
mov ecx, dword [rdx + rax*4 + 0x161a80]
add rcx, rdx
jmp rcx
test r9d, r9d
je 0x1401617d7
lea r8, [rbp - 0x18]
mov r9d, r11d
jmp 0x140161451
or dword [r8], 0x40
or dword [r12 + 0xd0], 0x400
jmp 0x140161451
or dword [r8], 8
jmp 0x140161451
or dword [r8], 0x400
jmp 0x140161451
or dword [r8], 0x2000
jmp 0x140161451
or dword [r8], 0x20
jmp 0x140161451
or dword [r8], 0x40000
jmp 0x140161451
mov eax, dword [r8]
bts eax, 7
mov dword [r8], eax
cmp rbx, r13
jae 0x14016145a
cmp byte [rbx], 0x78
jne 0x140161451
bts eax, 0x18
mov dword [r8], eax
inc rbx
cmp rbx, r13
jb 0x1401613b0
mov edx, dword [rbp - 0x14]
mov ecx, dword [rbp - 0x18]
mov eax, edx
and eax, 0x1000080
cmp eax, 0x80
je 0x140161472
test cl, cl
jns 0x140161476
bts ecx, 0x18
or r14d, edx
not ecx
and r14d, ecx
mov dword [rsp + 0x70], r14d
cmp rbx, r13
jae 0x140161880
movzx eax, byte [rbx]
inc rbx
cmp al, 0x29
jne 0x1401614be
mov eax, 0xffff
add si, ax
mov word [rbp + 0x78], si
cmp rdi, qword [r12 + 0x28]
jbe 0x1401614b9
cmp word [rdi - 0xc], si
lea rax, [rdi - 0xc]
jne 0x1401614b9
mov qword [rbp - 0x60], rax
jmp 0x1401614ce
mov word [rdi], si
jmp 0x1401614ce
mov dword [r15], 0x801a0000
add r15, 4
mov qword [rsp + 0x78], r15
mov r9d, dword [rsp + 0x54]
cmp r14d, r10d
mov r10d, dword [rsp + 0x5c]
mov r11d, dword [rsp + 0x50]
mov rdi, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x58]
je 0x14015ea75
mov dword [r15], 0x801b0000
mov dword [r15 + 4], r14d
add r15, 8
mov qword [rsp + 0x78], r15
jmp 0x14015ea75
mov rdi, qword [rbp - 0x60]
movzx esi, word [rbp + 0x78]
test rdi, rdi
je 0x140161541
cmp word [rdi], si
jne 0x140161541
test byte [rdi + 6], 1
je 0x140161541
movzx eax, word [rdi + 4]
mov ecx, dword [r12 + 0xd4]
cmp ecx, eax
jbe 0x140161535
mov word [rdi + 4], cx
movzx eax, word [rdi + 2]
mov dword [r12 + 0xd4], eax
mov dword [r15], 0x80010000
add r15, 4
mov qword [rsp + 0x78], r15
mov r9d, dword [rsp + 0x54]
mov r11d, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x58]
jmp 0x14015ea70
mov rdi, qword [rbp - 0x60]
mov eax, 1
movzx esi, word [rbp + 0x78]
mov dword [rbp - 0x7c], eax
test rdi, rdi
je 0x1401615eb
cmp word [rdi], si
jne 0x1401615eb
and r14d, 0xfefbdb17
or r14d, dword [rdi + 8]
mov dword [rsp + 0x70], r14d
test byte [rdi + 6], al
je 0x1401615aa
movzx eax, word [rdi + 4]
cmp eax, dword [r12 + 0xd4]
jbe 0x1401615aa
mov dword [r12 + 0xd4], eax
movzx eax, word [rdi + 6]
movzx r11d, ax
not r11w
shr r11d, 1
and r11d, 1
mov dword [rbp - 0x7c], r11d
test al, 4
je 0x1401615d0
mov dword [r15], 0x80190000
add r15, 4
cmp rdi, qword [r12 + 0x28]
jne 0x1401615df
xor eax, eax
mov qword [rbp - 0x60], rax
jmp 0x1401615eb
sub rdi, 0xc
mov dword [rbp - 0x7c], r11d
mov qword [rbp - 0x60], rdi
test si, si
je 0x1401617fb
mov r9d, dword [rsp + 0x54]
mov eax, 0xffff
mov r11d, dword [rsp + 0x50]
add si, ax
mov r8d, dword [rsp + 0x58]
mov dword [r15], 0x80190000
add r15, 4
mov qword [rsp + 0x78], r15
mov word [rbp + 0x78], si
jmp 0x14015ea70
mov r9d, dword [rsp + 0x54]
mov eax, 1
mov r11d, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x58]
mov dword [r15], edi
add r15, 4
mov qword [rsp + 0x78], r15
mov dword [rbp - 0x7c], eax
jmp 0x14015ea6c
mov ecx, 0x8c
jmp 0x140161885
dec rbx
mov ecx, 0xb0
jmp 0x140161885
mov ecx, 0x76
jmp 0x140161885
mov ecx, WSASetLastError
dec rbx
jmp 0x140161885
movzx eax, byte [rbx]
xor ecx, ecx
dec rbx
cmp al, 0x3a
setne cl
add ecx, 0x70
jmp 0x140161885
mov ecx, 0x82
jmp 0x140161885
mov ecx, WSACleanup
dec rbx
jmp 0x140161885
mov rbx, qword [rbp + 0x70]
mov ecx, WSAGetLastError
dec rbx
jmp 0x140161885
mov ecx, 0xab
mov rbx, qword [rbp + 0x70]
jmp 0x140161885
mov rbx, qword [rbp + 0x70]
mov ecx, 0x96
jmp 0x140161885
mov ecx, WSASetLastError
dec rbx
jmp 0x140161885
mov ecx, 0x6a
jmp 0x140161885
lea eax, [rcx + 0x7fd90000]
mov ecx, 0xc6
test eax, 0xfffeffff
mov eax, 0x80
cmovne ecx, eax
jmp 0x140161885
mov ecx, 0xbd
jmp 0x140161885
mov ecx, 0xc3
jmp 0x140161885
mov ecx, 0xa6
jmp 0x140161885
mov ecx, 0x8d
jmp 0x140161885
mov rbx, qword [rbp + 0x70]
mov ecx, dword [rbp - 0x80]
jmp 0x140161885
mov ecx, 0xac
jmp 0x140161885
mov ecx, UnRegisterTypeLib
mov rbx, r10
jmp 0x140161885
mov ecx, 0x8a
jmp 0x140161885
mov ecx, 0x8b
jmp 0x140161885
mov ecx, reloc.WS2_32.dll_WSAStartup
jmp 0x140161885
mov ecx, 0xb3
jmp 0x140161885
mov ecx, 0x7c
jmp 0x140161885
mov rbx, qword [rbp + 0x70]
mov ecx, 0x8f
jmp 0x140161885
mov rbx, qword [rbp + 0x70]
mov ecx, 0xa5
jmp 0x140161885
mov rbx, qword [rbp + 0x70]
mov ecx, 0x79
jmp 0x140161885
mov rbx, qword [rbp + 0x70]
mov ecx, 0x95
jmp 0x140161885
mov rbx, qword [rbp + 0x70]
mov ecx, 0xc5
jmp 0x140161885
mov ecx, reloc.WS2_32.dll_WSAStartup
dec rbx
jmp 0x140161885
mov ecx, 0xc2
dec rbx
jmp 0x140161885
mov ecx, reloc.WS2_32.dll_WSAGetLastError
dec rbx
jmp 0x140161885
mov ecx, reloc.OLEAUT32.dll_VariantTimeToSystemTime
jmp 0x140161885
mov ecx, 0x7a
dec rbx
jmp 0x140161885
mov ecx, 0x77
jmp 0x140161885
test r8d, r8d
je 0x14016181b
mov ecx, 0xa0
jmp 0x140161885
mov r14d, dword [rbp - 0x38]
mov r8d, dword [rbp - 0x40]
lea rdx, [rbp - 0x28]
mov r9, r15
mov qword [rsp + 0x20], r12
mov rcx, rbx
call fcn.14015e740
test r14b, 8
je 0x14016184c
mov dword [rax], 0x80190000
mov dword [rax + 4], 0x80160000
jmp 0x14016185f
test r14b, 4
je 0x140161863
mov dword [rax], 0x80190000
mov dword [rax + 4], 0x80180005
add rax, 8
cmp rax, qword [rsp + 0x68]
jb 0x140161871
mov ecx, 0xa3
jmp 0x140161885
mov dword [rax], 0x80000000
test si, si
jne 0x140161880
xor eax, eax
jmp 0x140161899
mov ecx, WSACleanup
mov rax, qword [rbp + 0x88]
sub rbx, qword [rax + 0x38]
mov qword [rax + 0xa8], rbx
mov eax, ecx
add rsp, 0x128
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret