Function at 0x140006a80
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x310]
sub rsp, 0x410
mov rax, qword [0x140060080]
xor rax, rsp
mov qword [rbp + 0x300], rax
mov r14, r8
mov r15, rdx
mov r12, rcx
mov qword [rbp - 0x70], rcx
xor r13d, r13d
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x140007f90
mov rax, r12
cmp qword [r12 + 0x18], 0xf
jbe 0x140006adc
mov rax, qword [r12]
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rcx
call fcn.14001e224
movaps xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm0
lea r8, [rbp - 0x80]
mov edx, eax
lea rcx, [rbp - 0x68]
call fcn.140006580
nop
lea rcx, [rbp - 0x68]
call fcn.140006810
lea rdx, [rsp + 0x38]
mov rcx, rax
call fcn.140006920
nop
mov r8d, 4
lea rdx, str..xml
mov rcx, rax
call fcn.14000ab90
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], r13
mov qword [rbp - 0x18], r13
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x30], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x20], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rsp + 0x50]
cmp rdx, 0xf
jbe 0x140006b98
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140006b93
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008011
call fcn.14001fc20
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], 0xf
mov byte [rsp + 0x38], 0
mov rdx, qword [rbp - 0x50]
cmp rdx, 7
jbe 0x140006beb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140006be6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008017
call fcn.14001fc20
xor edx, edx
mov r8d, 0x308
lea rcx, [rbp - 0x10]
call fcn.140048080
mov qword [rbp], r13
mov dword [rbp + 8], r13d
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x10], xmm0
mov dword [rbp + 0x20], r13d
mov qword [rbp + 0x28], r13
movdqa xmmword [rbp + 0x30], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x40], xmm1
mov qword [rbp + 0x50], r13
lea rax, vtable.tinyxml2::XMLDocument.0
mov qword [rbp - 0x10], rax
mov word [rbp + 0x58], 0x100
mov qword [rbp + 0x5c], r13
mov dword [rbp + 0x68], r13d
movdqa xmmword [rbp + 0x70], xmm0
mov dword [rbp + 0x80], r13d
mov qword [rbp + 0x88], r13
mov qword [rbp + 0x90], r13
lea rax, [rbp + 0xa0]
mov qword [rbp + 0x98], rax
mov qword [rbp + 0xf0], 0xa
lea rax, vtable.tinyxml2::MemPoolT_120_.0
mov qword [rbp + 0xf8], rax
lea rax, [rbp + 0x108]
mov qword [rbp + 0x100], rax
mov qword [rbp + 0x158], 0xa
mov qword [rbp + 0x160], r13
mov qword [rbp + 0x168], r13
mov qword [rbp + 0x170], r13
lea rax, vtable.tinyxml2::MemPoolT_80_.0
mov qword [rbp + 0x178], rax
lea rax, [rbp + 0x188]
mov qword [rbp + 0x180], rax
mov qword [rbp + 0x1d8], 0xa
mov qword [rbp + 0x1e0], r13
mov qword [rbp + 0x1e8], r13
mov qword [rbp + 0x1f0], r13
lea rax, vtable.tinyxml2::MemPoolT_112_.0
mov qword [rbp + 0x1f8], rax
lea rax, [rbp + 0x208]
mov qword [rbp + 0x200], rax
mov qword [rbp + 0x258], 0xa
mov qword [rbp + 0x260], r13
mov qword [rbp + 0x268], r13
mov qword [rbp + 0x270], r13
lea rax, vtable.tinyxml2::MemPoolT_104_.0
mov qword [rbp + 0x278], rax
lea rax, [rbp + 0x288]
mov qword [rbp + 0x280], rax
mov qword [rbp + 0x2d8], 0xa
mov qword [rbp + 0x2e0], r13
mov qword [rbp + 0x2e8], r13
mov qword [rbp + 0x2f0], r13
lea rax, [rbp - 0x10]
mov qword [rbp - 8], rax
lea rbx, [rbp - 0x30]
cmp qword [rbp - 0x18], 0xf
jbe 0x140006d9a
mov rbx, qword [rbp - 0x30]
test rbx, rbx
jne 0x140006d9a
lea r9, str.filename_null_
xor r8d, r8d
mov edx, 4
lea rcx, [rbp - 0x10]
call fcn.140004660
jmp 0x140007030
mov qword [rbp + 0x30], r13
mov qword [rbp + 0x28], r13
mov dword [rbp + 0x5c], r13d
mov dword [rbp + 0x80], r13d
mov dword [rbp + 0x68], r13d
movdqa xmmword [rbp + 0x70], xmm0
xor ecx, ecx
call fcn.14001fc20
mov qword [rbp + 0x88], r13
mov dword [rbp + 0x94], r13d
mov qword [rbp - 0x80], r13
lea r8, [0x140056ab8]
mov rdx, rbx
lea rcx, [rbp - 0x80]
call fcn.1400296b8
test eax, eax
jne 0x140007013
mov rsi, qword [rbp - 0x80]
test rsi, rsi
je 0x140007013
mov rdi, qword [rbp + 0x28]
test rdi, rdi
je 0x140006ed1
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rdi + 0x50]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x30]
cmp rdi, rax
jne 0x140006e29
mov rax, qword [rax + 0x48]
mov qword [rbp + 0x30], rax
mov rcx, qword [rdi + 0x48]
test rcx, rcx
je 0x140006e3a
mov rax, qword [rdi + 0x50]
mov qword [rcx + 0x50], rax
mov rcx, qword [rdi + 0x50]
test rcx, rcx
je 0x140006e4b
mov rax, qword [rdi + 0x48]
mov qword [rcx + 0x48], rax
mov qword [rdi + 0x50], r13
mov qword [rdi + 0x48], r13
mov qword [rdi + 0x10], r13
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x38]
test rax, rax
jne 0x140006ea9
mov r8, qword [rdi + 8]
mov rax, r13
movsxd rcx, dword [r8 + 0x104]
test rcx, rcx
jle 0x140006ea9
mov r9, qword [r8 + 0xa8]
nop
lea rdx, [r9 + rax*8]
cmp rdi, qword [rdx]
je 0x140006e93
inc rax
cmp rax, rcx
jl 0x140006e80
jmp 0x140006ea9
movsxd rcx, dword [r8 + 0x104]
mov rcx, qword [r9 + rcx*8 - 8]
mov qword [rdx], rcx
dec dword [r8 + 0x104]
mov rbx, qword [rdi + 0x60]
mov rax, qword [rdi]
xor edx, edx
mov rcx, rdi
call qword [rax + 0x78]
mov rax, qword [rbx]
mov rdx, rdi
mov rcx, rbx
call qword [rax + 0x18]
mov rdi, qword [rbp + 0x28]
test rdi, rdi
jne 0x140006e10
mov qword [rbp + 0x30], r13
mov qword [rbp + 0x28], r13
cmp dword [rbp + 0xf4], 0
je 0x140006f08
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [rbp + 0x98]
mov rdx, qword [rdx]
call fcn.1400045b0
cmp dword [rbp + 0xf4], 0
jne 0x140006ef0
mov dword [rbp + 0x5c], r13d
mov dword [rbp + 0x80], r13d
test dword [rbp + 0x68], 0x200
je 0x140006f25
mov rcx, qword [rbp + 0x70]
call fcn.14001fc20
mov dword [rbp + 0x68], r13d
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x70], xmm0
mov rcx, qword [rbp + 0x88]
call fcn.14001fc20
mov qword [rbp + 0x88], r13
mov dword [rbp + 0x94], r13d
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call fcn.14002f880
mov rcx, rsi
call fcn.14002617c
cmp eax, 0xffffffff
jne 0x140006f75
mov rcx, rsi
call fcn.1400259f8
test eax, eax
jne 0x140006ff5
xor edx, edx
mov r8d, 2
mov rcx, rsi
call fcn.14002f880
mov rcx, rsi
call fcn.140029c04
mov rbx, rax
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call fcn.14002f880
cmp rbx, 0xffffffffffffffff
jae 0x140006ff5
test rbx, rbx
jne 0x140006faf
mov edx, 0xd
jmp 0x140006ffa
lea rcx, [rbx + 1]
call fcn.14001fc64
mov qword [rbp + 0x88], rax
mov r9, rsi
mov r8, rbx
mov edx, 1
mov rcx, rax
call fcn.140029f08
cmp rax, rbx
jne 0x140006ff5
mov rax, qword [rbp + 0x88]
mov byte [rax + rbx], 0
lea rcx, [rbp - 0x10]
call fcn.140004790
mov rcx, rsi
call fcn.140025d38
jmp 0x140007030
mov edx, 5
xor r9d, r9d
xor r8d, r8d
lea rcx, [rbp - 0x10]
call fcn.140004660
mov rcx, rsi
call fcn.140025d38
jmp 0x140007030
mov qword [rsp + 0x20], rbx
lea r9, str.filename_s
xor r8d, r8d
mov edx, 3
lea rcx, [rbp - 0x10]
call fcn.140004660
cmp dword [rbp + 0x5c], 0
jne 0x140007510
mov rcx, qword [r12 + 0x10]
mov rax, r12
cmp qword [r12 + 0x18], 0xf
jbe 0x14000704e
mov rax, qword [r12]
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rcx
call fcn.14001e224
movaps xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm0
lea r8, [rbp - 0x80]
mov edx, eax
lea rcx, [rsp + 0x58]
call fcn.140006580
nop
lea rcx, [rsp + 0x58]
cmp qword [rsp + 0x70], 7
cmova rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x68]
lea rdi, [rcx + rax*2]
mov rbx, rdi
mov rdx, rdi
call fcn.140006700
cmp rax, rdi
je 0x1400070db
nop
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x1400070af
cmp cx, 0x2f
jne 0x1400070b8
add rax, 2
cmp rax, rdi
jne 0x1400070a0
cmp rax, rdi
je 0x1400070db
nop dword [rax]
lea rdx, [rbx - 2]
movzx ecx, word [rdx]
cmp cx, 0x5c
je 0x1400070db
cmp cx, 0x2f
je 0x1400070db
mov rbx, rdx
cmp rax, rdx
jne 0x1400070c0
mov qword [rbp - 0x80], rbx
sub rdi, rbx
sar rdi, 1
mov qword [rbp - 0x78], rdi
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x38]
call fcn.14000d7d0
nop
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x38]
call fcn.140006920
mov rsi, rax
cmp qword [rax + 0x18], 0xf
jbe 0x140007113
mov rsi, qword [rax]
mov rbx, qword [rbp + 0x28]
test rbx, rbx
je 0x140007174
nop dword [rax]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov rdi, rax
test rax, rax
je 0x14000716b
test rsi, rsi
je 0x140007177
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
test rax, rax
je 0x140007148
mov rax, r13
jmp 0x140007156
lea rcx, [rdi + 0x18]
call fcn.140001c70
cmp rax, rsi
je 0x140007177
mov r8d, 0x7fffffff
mov rdx, rsi
mov rcx, rax
call fcn.140029160
test eax, eax
je 0x140007177
mov rbx, qword [rbx + 0x50]
test rbx, rbx
jne 0x140007120
mov rdi, r13
mov rdx, qword [rbp - 0x50]
cmp rdx, 0xf
jbe 0x1400071b2
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400071ad
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000801d
call fcn.14001fc20
mov qword [rbp - 0x58], r13
mov qword [rbp - 0x50], 0xf
mov byte [rbp - 0x68], 0
mov rdx, qword [rsp + 0x50]
cmp rdx, 7
jbe 0x140007204
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400071ff
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008023
call fcn.14001fc20
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], 7
mov word [rsp + 0x38], r13w
mov rdx, qword [rsp + 0x70]
cmp rdx, 7
jbe 0x14000725a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007255
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008029
call fcn.14001fc20
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r13w
test rdi, rdi
je 0x140007510
xor sil, sil
mov byte [rsp + 0x30], sil
mov rbx, qword [rdi + 0x70]
test rbx, rbx
je 0x1400072e5
nop dword [rax + rax]
lea rcx, [rbx + 8]
call fcn.140001c70
lea rcx, str.shellcodemode
cmp rax, rcx
je 0x1400072c5
mov r8d, 0x7fffffff
mov rdx, rcx
mov rcx, rax
call fcn.140029160
test eax, eax
je 0x1400072c5
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x140007290
jmp 0x1400072e5
test rbx, rbx
je 0x1400072e5
lea rcx, [rbx + 0x20]
call fcn.140001c70
lea rdx, [rsp + 0x30]
mov rcx, rax
call fcn.1400021f0
movzx esi, byte [rsp + 0x30]
mov byte [r14 + 0x20], sil
xor sil, sil
mov byte [rsp + 0x30], sil
mov rbx, qword [rdi + 0x70]
test rbx, rbx
je 0x140007355
nop word [rax + rax]
lea rcx, [rbx + 8]
call fcn.140001c70
lea rcx, str.emptythetext
cmp rax, rcx
je 0x140007335
mov r8d, 0x7fffffff
mov rdx, rcx
mov rcx, rax
call fcn.140029160
test eax, eax
je 0x140007335
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x140007300
jmp 0x140007355
test rbx, rbx
je 0x140007355
lea rcx, [rbx + 0x20]
call fcn.140001c70
lea rdx, [rsp + 0x30]
mov rcx, rax
call fcn.1400021f0
movzx esi, byte [rsp + 0x30]
mov byte [r14 + 0x21], sil
xor sil, sil
mov byte [rsp + 0x30], sil
mov rbx, qword [rdi + 0x70]
test rbx, rbx
je 0x1400073c5
nop word [rax + rax]
lea rcx, [rbx + 8]
call fcn.140001c70
lea rcx, str.obfuscateentrypoint
cmp rax, rcx
je 0x1400073a5
mov r8d, 0x7fffffff
mov rdx, rcx
mov rcx, rax
call fcn.140029160
test eax, eax
je 0x1400073a5
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x140007370
jmp 0x1400073c5
test rbx, rbx
je 0x1400073c5
lea rcx, [rbx + 0x20]
call fcn.140001c70
lea rdx, [rsp + 0x30]
mov rcx, rax
call fcn.1400021f0
movzx esi, byte [rsp + 0x30]
mov byte [r14 + 0x22], sil
mov rbx, qword [rdi + 0x70]
test rbx, rbx
je 0x140007414
lea rsi, str.outFileName
nop dword [rax]
lea rcx, [rbx + 8]
call fcn.140001c70
cmp rax, rsi
je 0x1400074b5
mov r8d, 0x7fffffff
mov rdx, rsi
mov rcx, rax
call fcn.140029160
test eax, eax
je 0x1400074b5
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x1400073e0
mov rax, r13
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], 0
jne 0x140007420
mov rdx, rax
mov rcx, r14
call fcn.14000b770
mov rbx, qword [rdi + 0x70]
test rbx, rbx
je 0x140007471
lea rsi, str.obfrandomnode
lea rcx, [rbx + 8]
call fcn.140001c70
cmp rax, rsi
je 0x1400074cc
mov r8d, 0x7fffffff
mov rdx, rsi
mov rcx, rax
call fcn.140029160
test eax, eax
je 0x1400074cc
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x140007445
mov rax, r13
test rax, rax
setne al
mov byte [r14 + 0x23], al
mov rbx, qword [rdi + 0x38]
test rbx, rbx
je 0x140007510
lea rsi, str.obf_funcs
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov rdi, rax
test rax, rax
je 0x140007507
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
test rax, rax
je 0x1400074dc
mov rax, r13
jmp 0x1400074ee
test rbx, rbx
je 0x140007414
lea rcx, [rbx + 0x20]
call fcn.140001c70
jmp 0x140007417
test rbx, rbx
je 0x140007471
lea rcx, [rbx + 0x20]
call fcn.140001c70
jmp 0x140007474
lea rcx, [rdi + 0x18]
call fcn.140001c70
cmp rax, rsi
je 0x1400075ca
mov r8d, 0x7fffffff
mov rdx, rsi
mov rcx, rax
call fcn.140029160
test eax, eax
je 0x1400075ca
mov rbx, qword [rbx + 0x50]
test rbx, rbx
jne 0x140007492
lea rax, vtable.tinyxml2::XMLDocument.0
mov qword [rbp - 0x10], rax
cmp qword [rbp + 0x28], 0
je 0x140007b56
nop word [rax + rax]
mov rdi, qword [rbp + 0x28]
mov rax, qword [rdi + 0x50]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x30]
cmp rdi, rax
jne 0x14000754d
mov rax, qword [rax + 0x48]
mov qword [rbp + 0x30], rax
mov rcx, qword [rdi + 0x48]
test rcx, rcx
je 0x14000755e
mov rax, qword [rdi + 0x50]
mov qword [rcx + 0x50], rax
mov rcx, qword [rdi + 0x50]
test rcx, rcx
je 0x14000756f
mov rax, qword [rdi + 0x48]
mov qword [rcx + 0x48], rax
mov qword [rdi + 0x50], r13
mov qword [rdi + 0x48], r13
mov qword [rdi + 0x10], r13
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x38]
test rax, rax
jne 0x140007b30
mov r8, qword [rdi + 8]
mov rax, r13
movsxd rcx, dword [r8 + 0x104]
test rcx, rcx
jle 0x140007b30
mov r9, qword [r8 + 0xa8]
nop dword [rax + rax]
lea rdx, [r9 + rax*8]
cmp rdi, qword [rdx]
je 0x140007b1a
inc rax
cmp rax, rcx
jl 0x1400075b0
jmp 0x140007b30
mov r14, qword [rdi + 0x38]
test r14, r14
je 0x140007510
lea rdi, str.name
nop
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 8]
mov rsi, rax
test rax, rax
je 0x140007b08
xor eax, eax
mov qword [rbp - 0x68], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], r13
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], al
mov dword [rbp - 0x40], eax
mov dword [rbp - 0x3c], 0x1010101
mov word [rbp - 0x38], 0x101
mov rbx, qword [rsi + 0x70]
test rbx, rbx
je 0x140007660
nop word [rax + rax]
lea rcx, [rbx + 8]
call fcn.140001c70
cmp rax, rdi
je 0x1400076cc
mov r8d, 0x7fffffff
mov rdx, rdi
mov rcx, rax
call fcn.140029160
test eax, eax
je 0x1400076cc
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x140007630
mov rax, r13
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140007670
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.14000b770
xor dil, dil
mov byte [rsp + 0x30], dil
mov rbx, qword [rsi + 0x70]
test rbx, rbx
je 0x1400076fc
lea rcx, [rbx + 8]
call fcn.140001c70
lea rcx, str.ctfflattening
cmp rax, rcx
je 0x1400076dc
mov r8d, 0x7fffffff
mov rdx, rcx
mov rcx, rax
call fcn.140029160
test eax, eax
je 0x1400076dc
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x140007697
jmp 0x1400076fc
test rbx, rbx
je 0x140007660
lea rcx, [rbx + 0x20]
call fcn.140001c70
jmp 0x140007663
test rbx, rbx
je 0x1400076fc
lea rcx, [rbx + 0x20]
call fcn.140001c70
lea rdx, [rsp + 0x30]
mov rcx, rax
call fcn.1400021f0
movzx edi, byte [rsp + 0x30]
mov byte [rbp - 0x3b], dil
xor dil, dil
mov byte [rsp + 0x30], dil
mov rbx, qword [rsi + 0x70]
test rbx, rbx
je 0x140007766
lea rcx, [rbx + 8]
call fcn.140001c70
lea rcx, str.movobf
cmp rax, rcx
je 0x140007746
mov r8d, 0x7fffffff
mov rdx, rcx
mov rcx, rax
call fcn.140029160
test eax, eax
je 0x140007746
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x140007711
jmp 0x140007766
test rbx, rbx
je 0x140007766
lea rcx, [rbx + 0x20]
call fcn.140001c70
lea rdx, [rsp + 0x30]
mov rcx, rax
call fcn.1400021f0
movzx edi, byte [rsp + 0x30]
mov byte [rbp - 0x3a], dil
xor dil, dil
mov byte [rsp + 0x30], dil
mov rbx, qword [rsi + 0x70]
test rbx, rbx
je 0x1400077d5
nop dword [rax + rax]
lea rcx, [rbx + 8]
call fcn.140001c70
lea rcx, str.mutateobf
cmp rax, rcx
je 0x1400077b5
mov r8d, 0x7fffffff
mov rdx, rcx
mov rcx, rax
call fcn.140029160
test eax, eax
je 0x1400077b5
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x140007780
jmp 0x1400077d5
test rbx, rbx
je 0x1400077d5
lea rcx, [rbx + 0x20]
call fcn.140001c70
lea rdx, [rsp + 0x30]
mov rcx, rax
call fcn.1400021f0
movzx edi, byte [rsp + 0x30]
mov byte [rbp - 0x39], dil
xor dil, dil
mov byte [rsp + 0x30], dil
mov rbx, qword [rsi + 0x70]
test rbx, rbx
je 0x140007845
nop word [rax + rax]
lea rcx, [rbx + 8]
call fcn.140001c70
lea rcx, str.leaobf
cmp rax, rcx
je 0x140007825
mov r8d, 0x7fffffff
mov rdx, rcx
mov rcx, rax
call fcn.140029160
test eax, eax
je 0x140007825
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x1400077f0
jmp 0x140007845
test rbx, rbx
je 0x140007845
lea rcx, [rbx + 0x20]
call fcn.140001c70
lea rdx, [rsp + 0x30]
mov rcx, rax
call fcn.1400021f0
movzx edi, byte [rsp + 0x30]
mov byte [rbp - 0x38], dil
xor dil, dil
mov byte [rsp + 0x30], dil
mov rbx, qword [rsi + 0x70]
test rbx, rbx
je 0x1400078b5
nop word [rax + rax]
lea rcx, [rbx + 8]
call fcn.140001c70
lea rcx, str.antidisassembly
cmp rax, rcx
je 0x140007895
mov r8d, 0x7fffffff
mov rdx, rcx
mov rcx, rax
call fcn.140029160
test eax, eax
je 0x140007895
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x140007860
jmp 0x1400078b5
test rbx, rbx
je 0x1400078b5
lea rcx, [rbx + 0x20]
call fcn.140001c70
lea rdx, [rsp + 0x30]
mov rcx, rax
call fcn.1400021f0
movzx edi, byte [rsp + 0x30]
mov byte [rbp - 0x37], dil
xor dil, dil
mov byte [rsp + 0x30], dil
mov rbx, qword [rsi + 0x70]
test rbx, rbx
je 0x140007925
nop word [rax + rax]
lea rcx, [rbx + 8]
call fcn.140001c70
lea rcx, str.obfuscate
cmp rax, rcx
je 0x140007905
mov r8d, 0x7fffffff
mov rdx, rcx
mov rcx, rax
call fcn.140029160
test eax, eax
je 0x140007905
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x1400078d0
jmp 0x140007925
test rbx, rbx
je 0x140007925
lea rcx, [rbx + 0x20]
call fcn.140001c70
lea rdx, [rsp + 0x30]
mov rcx, rax
call fcn.1400021f0
movzx edi, byte [rsp + 0x30]
mov byte [rbp - 0x3c], dil
mov rdi, r13
mov qword [rbp - 0x80], r13
mov rbx, qword [rsi + 0x70]
test rbx, rbx
je 0x140007993
nop dword [rax]
lea rcx, [rbx + 8]
call fcn.140001c70
lea rcx, str.size
cmp rax, rcx
je 0x140007975
mov r8d, 0x7fffffff
mov rdx, rcx
mov rcx, rax
call fcn.140029160
test eax, eax
je 0x140007975
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x140007940
jmp 0x140007993
test rbx, rbx
je 0x140007993
lea rcx, [rbx + 0x20]
call fcn.140001c70
lea rdx, [rbp - 0x80]
mov rcx, rax
call fcn.140002360
mov rdi, qword [rbp - 0x80]
mov dword [rbp - 0x40], edi
mov rdi, r13
mov qword [rbp - 0x80], r13
mov rbx, qword [rsi + 0x70]
test rbx, rbx
je 0x1400079f9
lea rcx, [rbx + 8]
call fcn.140001c70
lea rcx, str.offset
cmp rax, rcx
je 0x1400079db
mov r8d, 0x7fffffff
mov rdx, rcx
mov rcx, rax
call fcn.140029160
test eax, eax
je 0x1400079db
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x1400079a6
jmp 0x1400079f9
test rbx, rbx
je 0x1400079f9
lea rcx, [rbx + 0x20]
call fcn.140001c70
lea rdx, [rbp - 0x80]
mov rcx, rax
call fcn.140002360
mov rdi, qword [rbp - 0x80]
mov dword [rbp - 0x64], edi
mov eax, r13d
mov dword [rbp - 0x80], eax
mov rbx, qword [rsi + 0x70]
test rbx, rbx
je 0x140007a5d
lea rdi, [0x14005773c]
lea rcx, [rbx + 8]
call fcn.140001c70
cmp rax, rdi
je 0x140007a40
mov r8d, 0x7fffffff
mov rdx, rdi
mov rcx, rax
call fcn.140029160
test eax, eax
je 0x140007a40
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x140007a12
jmp 0x140007a5a
test rbx, rbx
je 0x140007a5a
lea rcx, [rbx + 0x20]
call fcn.140001c70
lea rdx, [rbp - 0x80]
mov rcx, rax
call fcn.140002130
mov eax, dword [rbp - 0x80]
mov dword [rbp - 0x68], eax
mov rbx, qword [r15 + 8]
cmp rbx, qword [r15 + 0x10]
je 0x140007ab6
mov dword [rbx], eax
mov eax, dword [rbp - 0x64]
mov dword [rbx + 4], eax
lea rcx, [rbx + 8]
lea rdx, [rbp - 0x60]
call fcn.140009a10
mov eax, dword [rbp - 0x40]
mov dword [rbx + 0x28], eax
movzx eax, byte [rbp - 0x3c]
mov byte [rbx + 0x2c], al
movzx eax, byte [rbp - 0x3b]
mov byte [rbx + 0x2d], al
movzx eax, byte [rbp - 0x3a]
mov byte [rbx + 0x2e], al
movzx eax, byte [rbp - 0x39]
mov byte [rbx + 0x2f], al
movzx eax, byte [rbp - 0x38]
mov byte [rbx + 0x30], al
movzx eax, byte [rbp - 0x37]
mov byte [rbx + 0x31], al
add qword [r15 + 8], 0x38
jmp 0x140007ac6
lea r8, [rbp - 0x68]
mov rdx, rbx
mov rcx, r15
call fcn.14000d920
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0xf
jbe 0x140007b01
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007afc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000802f
call fcn.14001fc20
lea rdi, str.name
mov r14, qword [r14 + 0x50]
test r14, r14
jne 0x1400075e0
jmp 0x140007510
movsxd rcx, dword [r8 + 0x104]
mov rcx, qword [r9 + rcx*8 - 8]
mov qword [rdx], rcx
dec dword [r8 + 0x104]
mov rbx, qword [rdi + 0x60]
mov rax, qword [rdi]
xor edx, edx
mov rcx, rdi
call qword [rax + 0x78]
mov rax, qword [rbx]
mov rdx, rdi
mov rcx, rbx
call qword [rax + 0x18]
cmp qword [rbp + 0x28], 0
jne 0x140007530
mov qword [rbp + 0x30], r13
mov qword [rbp + 0x28], r13
cmp dword [rbp + 0xf4], 0
je 0x140007b88
nop word [rax + rax]
mov rdx, qword [rbp + 0x98]
mov rdx, qword [rdx]
call fcn.1400045b0
cmp dword [rbp + 0xf4], 0
jne 0x140007b70
mov dword [rbp + 0x5c], r13d
mov dword [rbp + 0x80], r13d
test dword [rbp + 0x68], 0x200
je 0x140007ba5
mov rcx, qword [rbp + 0x70]
call fcn.14001fc20
mov dword [rbp + 0x68], r13d
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x70], xmm0
mov rcx, qword [rbp + 0x88]
call fcn.14001fc20
mov qword [rbp + 0x88], r13
mov dword [rbp + 0x94], r13d
lea rax, vtable.tinyxml2::MemPoolT_104_.0
mov qword [rbp + 0x278], rax
mov eax, dword [rbp + 0x2dc]
test eax, eax
je 0x140007c0d
dec eax
mov dword [rbp + 0x2dc], eax
movsxd rcx, eax
mov rax, qword [rbp + 0x280]
mov edx, 0xfd8
mov rcx, qword [rax + rcx*8]
call fcn.14001fc20
mov eax, dword [rbp + 0x2dc]
test eax, eax
jne 0x140007be3
mov qword [rbp + 0x2e0], r13
mov qword [rbp + 0x2e8], r13
mov qword [rbp + 0x2f0], r13
lea rax, [rbp + 0x288]
mov rcx, qword [rbp + 0x280]
cmp rcx, rax
je 0x140007c3a
call fcn.14001fc20
lea rbx, vtable.tinyxml2::MemPool.0
mov qword [rbp + 0x278], rbx
lea rax, vtable.tinyxml2::MemPoolT_112_.0
mov qword [rbp + 0x1f8], rax
mov eax, dword [rbp + 0x25c]
test eax, eax
je 0x140007c8a
dec eax
mov dword [rbp + 0x25c], eax
movsxd rcx, eax
mov rax, qword [rbp + 0x200]
mov edx, 0xfc0
mov rcx, qword [rax + rcx*8]
call fcn.14001fc20
mov eax, dword [rbp + 0x25c]
test eax, eax
jne 0x140007c60
mov qword [rbp + 0x260], r13
mov qword [rbp + 0x268], r13
mov qword [rbp + 0x270], r13
lea rax, [rbp + 0x208]
mov rcx, qword [rbp + 0x200]
cmp rcx, rax
je 0x140007cb7
call fcn.14001fc20
mov qword [rbp + 0x1f8], rbx
lea rax, vtable.tinyxml2::MemPoolT_80_.0
mov qword [rbp + 0x178], rax
mov eax, dword [rbp + 0x1dc]
test eax, eax
je 0x140007d0a
nop word [rax + rax]
dec eax
mov dword [rbp + 0x1dc], eax
movsxd rcx, eax
mov rax, qword [rbp + 0x180]
mov edx, 0xff0
mov rcx, qword [rax + rcx*8]
call fcn.14001fc20
mov eax, dword [rbp + 0x1dc]
test eax, eax
jne 0x140007ce0
mov qword [rbp + 0x1e0], r13
mov qword [rbp + 0x1e8], r13
mov qword [rbp + 0x1f0], r13
lea rax, [rbp + 0x188]
mov rcx, qword [rbp + 0x180]
cmp rcx, rax
je 0x140007d37
call fcn.14001fc20
mov qword [rbp + 0x178], rbx
lea rax, vtable.tinyxml2::MemPoolT_120_.0
mov qword [rbp + 0xf8], rax
mov eax, dword [rbp + 0x15c]
test eax, eax
je 0x140007d8a
nop word [rax + rax]
dec eax
mov dword [rbp + 0x15c], eax
movsxd rcx, eax
mov rax, qword [rbp + 0x100]
mov edx, 0xff0
mov rcx, qword [rax + rcx*8]
call fcn.14001fc20
mov eax, dword [rbp + 0x15c]
test eax, eax
jne 0x140007d60
mov qword [rbp + 0x160], r13
mov qword [rbp + 0x168], r13
mov qword [rbp + 0x170], r13
lea rax, [rbp + 0x108]
mov rcx, qword [rbp + 0x100]
cmp rcx, rax
je 0x140007db7
call fcn.14001fc20
mov qword [rbp + 0xf8], rbx
lea rax, [rbp + 0xa0]
mov rcx, qword [rbp + 0x98]
cmp rcx, rax
je 0x140007dd6
call fcn.14001fc20
test dword [rbp + 0x68], 0x200
je 0x140007de8
mov rcx, qword [rbp + 0x70]
call fcn.14001fc20
mov dword [rbp + 0x68], r13d
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x70], xmm0
lea rax, vtable.tinyxml2::XMLNode.0
mov qword [rbp - 0x10], rax
mov rdi, qword [rbp + 0x28]
test rdi, rdi
je 0x140007ed1
nop dword [rax]
mov rax, qword [rdi + 0x50]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x30]
cmp rdi, rax
jne 0x140007e29
mov rax, qword [rax + 0x48]
mov qword [rbp + 0x30], rax
mov rcx, qword [rdi + 0x48]
test rcx, rcx
je 0x140007e3a
mov rax, qword [rdi + 0x50]
mov qword [rcx + 0x50], rax
mov rcx, qword [rdi + 0x50]
test rcx, rcx
je 0x140007e4b
mov rax, qword [rdi + 0x48]
mov qword [rcx + 0x48], rax
mov qword [rdi + 0x50], r13
mov qword [rdi + 0x48], r13
mov qword [rdi + 0x10], r13
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x38]
test rax, rax
jne 0x140007ea9
mov r8, qword [rdi + 8]
mov rax, r13
movsxd rcx, dword [r8 + 0x104]
test rcx, rcx
jle 0x140007ea9
mov r9, qword [r8 + 0xa8]
nop
lea rdx, [r9 + rax*8]
cmp rdi, qword [rdx]
je 0x140007e93
inc rax
cmp rax, rcx
jl 0x140007e80
jmp 0x140007ea9
movsxd rcx, dword [r8 + 0x104]
mov rcx, qword [r9 + rcx*8 - 8]
mov qword [rdx], rcx
dec dword [r8 + 0x104]
mov rbx, qword [rdi + 0x60]
mov rax, qword [rdi]
xor edx, edx
mov rcx, rdi
call qword [rax + 0x78]
mov rax, qword [rbx]
mov rdx, rdi
mov rcx, rbx
call qword [rax + 0x18]
mov rdi, qword [rbp + 0x28]
test rdi, rdi
jne 0x140007e10
mov qword [rbp + 0x30], r13
mov qword [rbp + 0x28], r13
mov rcx, qword [rbp]
test rcx, rcx
je 0x140007f3a
mov rax, qword [rcx + 0x38]
lea rdx, [rbp - 0x10]
cmp rdx, rax
jne 0x140007ef7
mov rax, qword [rax + 0x50]
mov qword [rcx + 0x38], rax
mov rax, qword [rcx + 0x40]
lea rdx, [rbp - 0x10]
cmp rdx, rax
jne 0x140007f0c
mov rax, qword [rax + 0x48]
mov qword [rcx + 0x40], rax
mov rcx, qword [rbp + 0x38]
test rcx, rcx
je 0x140007f21
mov rax, qword [rbp + 0x40]
mov qword [rcx + 0x50], rax
mov rcx, qword [rbp + 0x38]
mov rax, qword [rbp + 0x40]
test rax, rax
je 0x140007f2e
mov qword [rax + 0x48], rcx
mov qword [rbp + 0x40], r13
mov qword [rbp + 0x38], r13
mov qword [rbp], r13
test dword [rbp + 8], 0x200
je 0x140007f4c
mov rcx, qword [rbp + 0x10]
call fcn.14001fc20
mov dword [rbp + 8], r13d
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x10], xmm0
mov rdx, qword [rbp - 0x18]
cmp rdx, 0xf
jbe 0x140007f90
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007f8a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008005
call fcn.14001fc20
nop
mov rdx, qword [r12 + 0x18]
cmp rdx, 0xf
jbe 0x140007fc8
inc rdx
mov rcx, qword [r12]
cmp rdx, 0x1000
jb 0x140007fc3
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14000800b
mov rcx, r8
call fcn.14001fc20
mov qword [r12 + 0x10], r13
mov qword [r12 + 0x18], 0xf
mov byte [r12], 0
mov rcx, qword [rbp + 0x300]
xor rcx, rsp
call fcn.14001fc00
mov rbx, qword [rsp + 0x468]
add rsp, 0x410
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400306f8
nop
call fcn.1400306f8
nop
call fcn.1400306f8
nop
call fcn.1400306f8
nop
call fcn.1400306f8
nop
call fcn.1400306f8
nop
call fcn.1400306f8
int3
call fcn.1400306f8
int3