Function at 0x140001b80
Capabilities:
Accept command line arguments
Print debug messages

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x270
mov rax, qword [0x140019080]
xor rax, rsp
mov qword [rsp + 0x260], rax
mov r14, rcx
mov qword [rsp + 0x28], rcx
mov qword [0x14001b5a0], rcx
mov ecx, 8
call fcn.1400069f0
xor ebx, ebx
test rax, rax
je 0x140001bdb
lea rcx, [rsp + 0x50]
mov qword [rax], rcx
jmp 0x140001bde
mov rax, rbx
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x50], rax
call fcn.140004bc0
mov qword [rsp + 0x80], rax
mov byte [rax + 0x69], 1
mov rax, qword [rsp + 0x80]
mov qword [rax + 8], rax
mov rax, qword [rsp + 0x80]
mov qword [rax], rax
mov rax, qword [rsp + 0x80]
mov qword [rax + 0x10], rax
mov qword [rsp + 0x88], rbx
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov r13, rax
test rax, rax
je 0x140001c3f
lea rcx, [rsp + 0x50]
mov rdx, rax
call fcn.140001600
lea rdx, str.RunType
lea rcx, [rsp + 0x90]
mov r8d, 7
mov qword [rsp + 0x208], 7
mov qword [rsp + 0x200], rbx
mov word [rsp + 0x1f0], bx
mov qword [rsp + 0xb0], 7
mov qword [rsp + 0xa8], rbx
mov word [rsp + 0x98], bx
call fcn.1400031f0
mov r12, qword [rsp + 0x80]
mov rsi, qword [rsp + 0xb0]
mov r9, qword [r12 + 8]
mov r11, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0x98]
or r15, 0xffffffffffffffff
cmp byte [r9 + 0x69], 0
mov rdi, r12
mov ebx, 1
jne 0x140001d5a
xor r14d, r14d
mov r10, qword [r9 + 0x30]
cmp rsi, 8
lea rcx, [rsp + 0x98]
cmovae rcx, rbp
cmp qword [r9 + 0x38], 8
jb 0x140001cf1
mov rdx, qword [r9 + 0x20]
jmp 0x140001cf5
lea rdx, [r9 + 0x20]
cmp r10, r11
mov r8, r11
cmovb r8, r10
test r8, r8
je 0x140001d19
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x140001d3b
add rdx, 2
add rcx, 2
sub r8, rbx
jne 0x140001d04
mov r8d, r14d
movsxd rax, r8d
test r8d, r8d
jne 0x140001d2f
cmp r10, r11
jb 0x140001d47
mov eax, r14d
setne al
test eax, eax
js 0x140001d47
mov rdi, r9
mov r9, qword [r9]
jmp 0x140001d4b
cmp word [rdx], ax
mov r8d, ebx
cmovb r8d, r15d
jmp 0x140001d1c
mov r9, qword [r9 + 0x10]
cmp byte [r9 + 0x69], r14b
je 0x140001cd0
mov r14, qword [rsp + 0x28]
mov r9, qword [rsp + 0x50]
mov qword [rsp + 0xe8], rdi
mov rbx, r12
mov qword [rsp + 0xe0], r9
test r9, r9
jne 0x140001da1
call fcn.140007424
mov r12, qword [rsp + 0x80]
mov r9, qword [rsp + 0x50]
mov rsi, qword [rsp + 0xb0]
mov r11, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0x98]
cmp rdi, rbx
je 0x140001e2b
cmp qword [rdi + 0x38], 8
mov r10, qword [rdi + 0x30]
jb 0x140001dbb
mov rcx, qword [rdi + 0x20]
jmp 0x140001dbf
lea rcx, [rdi + 0x20]
cmp rsi, 8
lea rdx, [rsp + 0x98]
mov r8, r10
cmovae rdx, rbp
cmp r11, r10
cmovb r8, r11
test r8, r8
je 0x140001df6
nop
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x140001e1c
add rdx, 2
add rcx, 2
sub r8, 1
jne 0x140001de0
xor r8d, r8d
movsxd rax, r8d
test r8d, r8d
jne 0x140001e0e
cmp r11, r10
jb 0x140001e2b
xor eax, eax
cmp r11, r10
setne al
test eax, eax
js 0x140001e2b
lea rcx, [rsp + 0xe0]
jmp 0x140001e3a
cmp word [rdx], ax
mov r8d, 1
cmovb r8d, r15d
jmp 0x140001df9
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r9
lea rcx, [rsp + 0x40]
mov rax, qword [rcx]
lea rdx, [rsp + 0x28]
mov qword [rdx], rax
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov rbx, qword [rsp + 0x28]
test rbx, rbx
je 0x140001e5c
cmp rbx, r9
je 0x140001e71
call fcn.140007424
mov rsi, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x30]
cmp rdi, r12
je 0x140001ec4
test rbx, rbx
jne 0x140001e8a
call fcn.140007424
xor r11d, r11d
jmp 0x140001e8d
mov r11, qword [rbx]
cmp rdi, qword [r11 + 0x30]
jne 0x140001e98
call fcn.140007424
lea rdx, [rdi + 0x40]
lea rcx, [rsp + 0x1e8]
mov r9, r15
xor r8d, r8d
call fcn.140003110
mov rsi, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0x98]
mov r11b, 1
jmp 0x140001ec7
xor r11b, r11b
test r11b, r11b
sete bl
cmp rsi, 8
jb 0x140001edb
mov rcx, rbp
call fcn.1400066e8
test bl, bl
je 0x140001fbd
lea rcx, str._DR_Argument_Error_:_No_specified___
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp qword [rsp + 0x208], 8
jb 0x140001f08
mov rcx, qword [rsp + 0x1f0]
call fcn.1400066e8
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x80]
xor ebx, ebx
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0xe0], rcx
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x1a0], xmm0
mov qword [rsp + 0x208], 7
mov qword [rsp + 0x200], rbx
mov word [rsp + 0x1f0], bx
mov rax, qword [rax]
lea r9, [rsp + 0x1a0]
lea r8, [rsp + 0x190]
mov qword [rsp + 0xe8], rax
lea rdx, [rsp + 0x1b0]
lea rcx, [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0xe0]
movdqa xmmword [rsp + 0x190], xmm1
call fcn.140003d00
mov rcx, qword [rsp + 0x80]
call fcn.1400066e8
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x88], rbx
call fcn.1400066e8
jmp 0x140002939
lea rcx, str.DR.exe_execute......
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov r9, qword [rsp + 0x200]
mov rbx, qword [rsp + 0x208]
mov r10, qword [rsp + 0x1f0]
cmp rbx, 8
mov edx, 0xf
lea r11, [rsp + 0x1f0]
lea rcx, str.ShowAgreementUI
cmovae r11, r10
cmp r9, rdx
cmovb rdx, r9
test rdx, rdx
je 0x14000202b
nop word [rax + rax]
movzx eax, word [rcx]
cmp word [r11], ax
jne 0x1400021fd
add r11, 2
add rcx, 2
sub rdx, 1
jne 0x140002010
xor r11d, r11d
mov edx, r11d
lea esi, [r11 + 1]
movsxd rax, edx
test edx, edx
jne 0x140002048
cmp r9, 0xf
jb 0x14000204c
mov eax, r11d
setne al
test eax, eax
je 0x1400020bd
cmp rbx, 8
mov r8d, 0x10
lea rcx, [rsp + 0x1f0]
cmovae rcx, r10
cmp r9, r8
lea rdx, str.ShowAgreementUI2
cmovb r8, r9
test r8, r8
je 0x14000209a
nop word [rax + rax]
movzx eax, word [rdx]
cmp word [rcx], ax
jne 0x140002214
add rcx, 2
add rdx, 2
sub r8, 1
jne 0x140002080
mov r8d, r11d
movsxd rax, r8d
test r8d, r8d
jne 0x1400020b5
cmp r9, 0x10
jb 0x140002223
mov eax, r11d
setne al
test eax, eax
jne 0x140002223
lea rcx, str.Web_agreement_in_protected_mode...
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rax, qword [section..data]
lea rcx, section..data
call qword [rax + 0x18]
mov rdx, qword [0x14001b5a0]
lea r9, str.ua.dll
add rax, 0x18
lea r8, str.dr.exe
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], rax
call fcn.140001320
mov rax, qword [section..data]
lea rcx, section..data
call qword [rax + 0x18]
mov rdi, qword [rsp + 0x20]
mov ecx, esi
mov edx, dword [rdi - 0x10]
sub ecx, dword [rdi - 8]
add rax, 0x18
mov qword [rsp + 0x28], rax
mov eax, dword [rdi - 0xc]
sub eax, edx
or ecx, eax
jge 0x140002142
lea rcx, [rsp + 0x20]
call fcn.140003870
mov rdi, qword [rsp + 0x20]
lea rdx, str._DR__current_path_:__s
lea rcx, [rsp + 0x28]
mov r8, rdi
call fcn.140004ee0
mov rbx, qword [rsp + 0x28]
mov edx, dword [rbx - 0x10]
mov eax, dword [rbx - 0xc]
sub esi, dword [rbx - 8]
sub eax, edx
or esi, eax
jge 0x140002179
lea rcx, [rsp + 0x28]
call fcn.140003870
mov rbx, qword [rsp + 0x28]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rdi, rax
test rax, rax
je 0x1400021b9
lea rdx, str.AgreementCmdW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor r9d, r9d
mov r8, r13
mov rdx, r14
xor ecx, ecx
call rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400021d4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rsp + 0x20]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r15d
dec r15d
test r15d, r15d
jg 0x1400028f9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x1400028f9
cmp word [r11], ax
mov esi, 1
mov edx, esi
cmovb edx, r15d
xor r11d, r11d
jmp 0x140002035
cmp word [rcx], ax
mov r8d, esi
cmovb r8d, r15d
jmp 0x14000209d
cmp rbx, 8
mov r8d, 0xc
lea rcx, [rsp + 0x1f0]
cmovae rcx, r10
cmp r9, r8
lea rdx, str.ManualDuplex
cmovb r8, r9
test r8, r8
je 0x14000226a
nop dword [rax]
movzx eax, word [rdx]
cmp word [rcx], ax
jne 0x140002321
add rcx, 2
add rdx, 2
sub r8, 1
jne 0x140002250
xor r14d, r14d
mov r8d, r14d
movsxd rax, r8d
test r8d, r8d
jne 0x140002288
cmp r9, 0xc
jb 0x1400028ec
mov eax, r14d
setne al
test eax, eax
jne 0x1400028ec
lea r8d, [rax + 0xa]
lea rdx, str.DuplexMode
lea rcx, [rsp + 0xb8]
mov r13d, r14d
mov qword [rsp + 0xd8], 7
mov qword [rsp + 0xd0], r14
mov word [rsp + 0xc0], r14w
call fcn.1400031f0
mov r12, qword [rsp + 0x80]
mov r9, qword [r12 + 8]
mov rsi, qword [rsp + 0xd8]
mov r11, qword [rsp + 0xd0]
cmp byte [r9 + 0x69], 0
mov rbp, qword [rsp + 0xc0]
mov rdi, r12
jne 0x140002398
mov ebx, 1
mov r10, qword [r9 + 0x30]
cmp rsi, 8
lea rcx, [rsp + 0xc0]
cmovae rcx, rbp
cmp qword [r9 + 0x38], 8
jb 0x140002333
mov rdx, qword [r9 + 0x20]
jmp 0x140002337
cmp word [rcx], ax
mov r8d, esi
cmovb r8d, r15d
xor r14d, r14d
jmp 0x140002270
lea rdx, [r9 + 0x20]
cmp r10, r11
mov r8, r11
cmovb r8, r10
test r8, r8
je 0x14000235b
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x14000237d
add rdx, 2
add rcx, 2
sub r8, rbx
jne 0x140002346
mov r8d, r14d
movsxd rax, r8d
test r8d, r8d
jne 0x140002371
cmp r10, r11
jb 0x140002389
mov eax, r14d
setne al
test eax, eax
js 0x140002389
mov rdi, r9
mov r9, qword [r9]
jmp 0x14000238d
cmp word [rdx], ax
mov r8d, ebx
cmovb r8d, r15d
jmp 0x14000235e
mov r9, qword [r9 + 0x10]
cmp byte [r9 + 0x69], 0
je 0x140002300
mov r9, qword [rsp + 0x50]
mov qword [rsp + 0x108], rdi
mov rbx, r12
mov qword [rsp + 0x100], r9
test r9, r9
jne 0x1400023df
call fcn.140007424
mov r12, qword [rsp + 0x80]
mov r9, qword [rsp + 0x50]
mov rsi, qword [rsp + 0xd8]
mov r11, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0xc0]
cmp rdi, rbx
je 0x14000245c
cmp qword [rdi + 0x38], 8
mov r10, qword [rdi + 0x30]
jb 0x1400023f5
mov rcx, qword [rdi + 0x20]
jmp 0x1400023f9
lea rcx, [rdi + 0x20]
cmp rsi, 8
lea rdx, [rsp + 0xc0]
mov r8, r10
cmovae rdx, rbp
cmp r11, r10
cmovb r8, r11
test r8, r8
je 0x14000242e
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x140002451
add rdx, 2
add rcx, 2
sub r8, 1
jne 0x140002418
mov eax, r14d
cdqe
test rax, rax
jne 0x140002443
cmp r11, r10
jb 0x14000245c
mov eax, r14d
setne al
test eax, eax
js 0x14000245c
lea rcx, [rsp + 0x100]
jmp 0x140002474
mov eax, 1
cmovb eax, r15d
jmp 0x140002431
mov qword [rsp + 0xf8], r12
mov qword [rsp + 0xf0], r9
lea rcx, [rsp + 0xf0]
mov rax, qword [rcx]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov rdi, qword [rsp + 0x40]
test rdi, rdi
je 0x140002496
cmp rdi, r9
je 0x1400024ab
call fcn.140007424
mov rsi, qword [rsp + 0xd8]
mov rbp, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0x48]
cmp rbx, r12
je 0x1400024ff
test rdi, rdi
jne 0x1400024c4
call fcn.140007424
mov r11, r14
jmp 0x1400024c7
mov r11, qword [rdi]
cmp rbx, qword [r11 + 0x30]
jne 0x1400024d2
call fcn.140007424
cmp qword [rbx + 0x60], 8
jb 0x1400024df
mov rcx, qword [rbx + 0x48]
jmp 0x1400024e3
lea rcx, [rbx + 0x48]
call fcn.140007260
mov rsi, qword [rsp + 0xd8]
mov rbp, qword [rsp + 0xc0]
mov r13d, eax
mov bl, 1
jmp 0x140002501
xor bl, bl
cmp rsi, 8
jb 0x14000250f
mov rcx, rbp
call fcn.1400066e8
test bl, bl
je 0x1400028f9
lea rdx, str.DuplexArg2
lea rcx, [rsp + 0x138]
mov r8d, 0xa
mov qword [rsp + 0x1e0], 7
mov qword [rsp + 0x1d8], r14
mov word [rsp + 0x1c8], r14w
mov qword [rsp + 0x230], 7
mov qword [rsp + 0x228], r14
mov word [rsp + 0x218], r14w
mov qword [rsp + 0x258], 7
mov qword [rsp + 0x250], r14
mov word [rsp + 0x240], r14w
mov qword [rsp + 0x158], 7
mov qword [rsp + 0x150], r14
mov word [rsp + 0x140], r14w
call fcn.1400031f0
lea r8, [rsp + 0x1c0]
lea rdx, [rsp + 0x138]
lea rcx, [rsp + 0x50]
call fcn.140001550
cmp qword [rsp + 0x158], 8
jb 0x1400025d7
mov rcx, qword [rsp + 0x140]
call fcn.1400066e8
lea rdx, str.DuplexArg3
lea rcx, [rsp + 0x160]
mov r8d, 0xa
mov qword [rsp + 0x180], 7
mov qword [rsp + 0x178], r14
mov word [rsp + 0x168], r14w
call fcn.1400031f0
lea r8, [rsp + 0x210]
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x50]
call fcn.140001550
cmp qword [rsp + 0x180], 8
jb 0x140002640
mov rcx, qword [rsp + 0x168]
call fcn.1400066e8
lea rdx, str.DuplexArg4
lea rcx, [rsp + 0x110]
mov r8d, 0xa
mov qword [rsp + 0x130], 7
mov qword [rsp + 0x128], r14
mov word [rsp + 0x118], r14w
call fcn.1400031f0
lea r8, [rsp + 0x238]
lea rdx, [rsp + 0x110]
lea rcx, [rsp + 0x50]
call fcn.140001550
cmp qword [rsp + 0x130], 8
jb 0x1400026a9
mov rcx, qword [rsp + 0x118]
call fcn.1400066e8
lea eax, [r13 - 1]
cmp eax, 5
ja case.default.0x1400026c7
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0x296c]
add rcx, rdx
jmp rcx
cmp qword [rsp + 0x1d8], 0
je case.default.0x1400026c7
cmp qword [rsp + 0x1e0], 8
lea rcx, [rsp + 0x1c8]
cmovae rcx, qword [rsp + 0x1c8]
call fcn.140005980
jmp case.default.0x1400026c7
cmp qword [rsp + 0x1d8], 0
je 0x14000272b
cmp qword [rsp + 0x1e0], 8
lea rcx, [rsp + 0x1c8]
cmovae rcx, qword [rsp + 0x1c8]
call fcn.140005f40
jmp case.default.0x1400026c7
call fcn.140005e20
jmp case.default.0x1400026c7
cmp qword [rsp + 0x1d8], 0
je case.default.0x1400026c7
cmp qword [rsp + 0x1e0], 8
lea rcx, [rsp + 0x1c8]
cmovae rcx, qword [rsp + 0x1c8]
call fcn.1400061a0
jmp case.default.0x1400026c7
cmp qword [rsp + 0x1d8], 0
je case.default.0x1400026c7
cmp qword [rsp + 0x1e0], 8
lea rcx, [rsp + 0x1c8]
cmovae rcx, qword [rsp + 0x1c8]
call fcn.140005bd0
jmp case.default.0x1400026c7
cmp qword [rsp + 0x1d8], 0
je case.default.0x1400026c7
cmp qword [rsp + 0x228], 0
je case.default.0x1400026c7
cmp qword [rsp + 0x230], 8
lea rdx, [rsp + 0x218]
lea rcx, [rsp + 0x1c8]
cmovae rdx, qword [rsp + 0x218]
cmp qword [rsp + 0x1e0], 8
cmovae rcx, qword [rsp + 0x1c8]
call fcn.140006070
jmp case.default.0x1400026c7
cmp qword [rsp + 0x1d8], 0
je case.default.0x1400026c7
cmp qword [rsp + 0x228], 0
je case.default.0x1400026c7
cmp qword [rsp + 0x250], 0
je case.default.0x1400026c7
cmp qword [rsp + 0x258], 8
lea r8, [rsp + 0x240]
lea rdx, [rsp + 0x218]
cmovae r8, qword [rsp + 0x240]
cmp qword [rsp + 0x230], 8
lea rcx, [rsp + 0x1c8]
cmovae rdx, qword [rsp + 0x218]
cmp qword [rsp + 0x1e0], 8
cmovae rcx, qword [rsp + 0x1c8]
call fcn.1400062e0
cmp qword [rsp + 0x258], 8
jb 0x140002880
mov rcx, qword [rsp + 0x240]
call fcn.1400066e8
cmp qword [rsp + 0x230], 8
mov qword [rsp + 0x258], 7
mov qword [rsp + 0x250], r14
mov word [rsp + 0x240], r14w
jb 0x1400028b5
mov rcx, qword [rsp + 0x218]
call fcn.1400066e8
cmp qword [rsp + 0x1e0], 8
mov qword [rsp + 0x230], 7
mov qword [rsp + 0x228], r14
mov word [rsp + 0x218], r14w
jb 0x1400028f9
mov rcx, qword [rsp + 0x1c8]
call fcn.1400066e8
jmp 0x1400028f9
lea rcx, str.Nothing_to_do.._end....
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp qword [rsp + 0x208], 8
jb 0x140002911
mov rcx, qword [rsp + 0x1f0]
call fcn.1400066e8
xor eax, eax
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x208], 7
mov qword [rsp + 0x200], rax
mov word [rsp + 0x1f0], ax
call fcn.140002df0
xor eax, eax
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.140006700
lea r11, [rsp + 0x270]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret