Function at 0x14003dec0
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x1230
call fcn.1400f6fb0
sub rsp, rax
mov r14d, r8d
mov bl, r8b
mov rbp, rcx
mov edi, 1
lea rcx, [rsp + 0x400]
and bl, 0xf0
and r14d, edi
mov byte [rsp + 0x370], bl
mov qword [rsp + 0x3e0], r9
mov dword [rsp + 0x1280], r14d
call fcn.140064d14
mov r12, qword [rsp + 0x1278]
or dword [rsp + 0x350], 0xffffffff
lea rcx, [rsp + 0x1278]
call fcn.1400157dc
xor r14d, r14d
lea rcx, [rsp + 0x368]
mov r13d, 0xffff0000
mov byte [rsp + 0x327], 0xff
mov byte [rsp + 0x326], 0xff
mov byte [rsp + 0x32a], r14b
mov r15b, r14b
mov byte [rsp + 0x322], r14b
mov byte [rsp + 0x320], r14b
mov sil, r14b
mov byte [rsp + 0x329], r14b
mov byte [rsp + 0x349], r14b
mov byte [rsp + 0x324], r14b
mov dword [rsp + 0x388], r13d
mov qword [rsp + 0x3b8], r14
mov byte [rsp + 0x32b], r14b
call fcn.14005a150
lea rdx, [rsp + 0x1278]
lea rcx, [0x1400fcdc0]
mov r8d, edi
mov qword [rsp + 0x7a8], r14
mov word [rsp + 0x7b0], r14w
call fcn.14005c928
cmp al, r14b
jne 0x14003dfe5
mov al, r14b
cmp bl, r14b
je 0x14003dfe8
mov al, dil
cmp bl, r14b
mov byte [rsp + 0x323], al
setne byte [rsp + 0x328]
cmp al, r14b
je 0x14003e00f
mov byte [rsp + 0x327], r14b
mov byte [rsp + 0x326], dil
mov rdx, qword [rsp + 0x1278]
mov bl, 0x2a
cmp word [rdx], 0x2d
jne 0x14003e021
mov bl, byte [rdx]
movzx eax, word [rdx]
movsx edi, bl
mov r13d, 5
cmp eax, edi
jne 0x14003e5b1
movzx eax, word [rdx + 2]
cmp eax, edi
jne 0x14003e58a
add rdx, 4
lea rcx, [0x1400ff630]
mov r8d, 1
mov qword [rsp + 0x1278], rdx
lea rdx, [rsp + 0x1278]
call fcn.14005c928
cmp al, r14b
je 0x14003e07d
mov eax, 1
mov dword [rsp + 0x1280], eax
jmp 0x14003e56a
lea rdx, [rsp + 0x1278]
lea rcx, [0x1400ff62c]
mov r8d, 2
call fcn.14005c928
cmp al, r14b
je 0x14003e0ad
mov eax, 1
mov byte [rsp + 0x327], al
jmp 0x14003e56a
lea rdx, [rsp + 0x1278]
lea rcx, [0x1400fe7c0]
mov r8d, 3
call fcn.14005c928
cmp al, r14b
je 0x14003e0d9
mov byte [rsp + 0x327], r14b
jmp 0x14003e56a
lea rdx, [rsp + 0x1278]
lea rcx, str.nrcd
mov r8d, 4
call fcn.14005c928
cmp al, r14b
je 0x14003e105
mov byte [rsp + 0x326], 2
jmp 0x14003e56a
lea rdx, [rsp + 0x1278]
lea rcx, [0x1400ff620]
mov r8d, 3
call fcn.14005c928
cmp al, r14b
je 0x14003e131
mov byte [rsp + 0x326], r14b
jmp 0x14003e56a
lea rdx, [rsp + 0x1278]
lea rcx, [0x1400ff61c]
mov r8d, 2
call fcn.14005c928
cmp al, r14b
je 0x14003e15d
mov byte [rsp + 0x322], 1
jmp 0x14003e56a
lea rdx, [rsp + 0x1278]
lea rcx, [0x1400ff618]
mov r8d, 3
call fcn.14005c928
cmp al, r14b
je 0x14003e189
mov byte [rsp + 0x322], 0x23
jmp 0x14003e56a
lea rdx, [rsp + 0x1278]
lea rcx, [0x1400ff614]
mov r8d, 3
call fcn.14005c928
cmp al, r14b
je 0x14003e1b5
mov byte [rsp + 0x322], 0x2a
jmp 0x14003e56a
lea rdx, [rsp + 0x1278]
lea rcx, [0x1400ff610]
mov r8d, 3
call fcn.14005c928
cmp al, r14b
je 0x14003e1e1
mov byte [rsp + 0x322], 0x24
jmp 0x14003e56a
lea rdx, [rsp + 0x1278]
lea rcx, [0x1400ff60c]
mov r8d, 3
call fcn.14005c928
cmp al, r14b
je 0x14003e20d
mov byte [rsp + 0x322], 0x40
jmp 0x14003e56a
lea rdx, [rsp + 0x1278]
lea rcx, [0x1400ff608]
mov r8d, 3
call fcn.14005c928
cmp al, r14b
je 0x14003e239
mov byte [rsp + 0x322], 0x3d
jmp 0x14003e56a
lea rdx, [rsp + 0x1278]
lea rcx, [0x1400ff604]
mov r8d, 2
call fcn.14005c928
cmp al, r14b
je 0x14003e266
mov eax, 1
mov dword [rsp + 0x388], eax
jmp 0x14003e28d
lea rdx, [rsp + 0x1278]
lea rcx, [0x1400ff600]
mov r8d, 3
call fcn.14005c928
cmp al, r14b
je 0x14003e298
mov dword [rsp + 0x388], r14d
mov r13d, 5
jmp 0x14003e56a
lea rdx, [rsp + 0x1278]
lea rcx, [0x1400ff5fc]
mov r8d, 3
call fcn.14005c928
cmp al, r14b
je 0x14003e2bf
mov sil, 1
jmp 0x14003e56a
lea rdx, [rsp + 0x1278]
lea rcx, [0x1400ff5f8]
mov r8d, 3
call fcn.14005c928
cmp al, r14b
je 0x14003e2eb
mov byte [rsp + 0x329], 1
jmp 0x14003e56a
lea rdx, [rsp + 0x1278]
lea rcx, [0x1400fcec0]
mov r8d, 1
call fcn.14005c928
cmp al, r14b
je 0x14003e317
mov byte [rsp + 0x349], 1
jmp 0x14003e56a
lea rdx, [rsp + 0x1278]
lea rcx, [0x1400fa8a0]
mov r8d, 3
call fcn.14005c928
cmp al, r14b
je 0x14003e343
mov byte [rsp + 0x324], 1
jmp 0x14003e56a
lea rdx, [rsp + 0x1278]
lea rcx, [0x1400ff5f4]
mov r8d, 3
call fcn.14005c928
cmp al, r14b
je 0x14003e36f
mov byte [rsp + 0x32b], 1
jmp 0x14003e56a
lea rdx, [rsp + 0x1278]
lea rcx, str.bool
mov r8d, 4
call fcn.14005c928
cmp al, r14b
je 0x14003e39b
mov byte [rsp + 0x324], 2
jmp 0x14003e56a
mov rdx, qword [rsp + 0x1278]
lea rcx, str.sret:
mov r8d, r13d
call fcn.140053674
cmp al, r14b
je 0x14003e3c5
mov r8, qword [rsp + 0x1278]
add r8, 2
jmp 0x14003e3f0
mov rdx, qword [rsp + 0x1278]
lea rcx, str.ret:
mov r8d, 4
call fcn.140053674
cmp al, r14b
je 0x14003e4a1
mov r8, qword [rsp + 0x1278]
add r8, 8
mov qword [rsp + 0x1278], r8
mov rdx, r8
movzx eax, word [r8]
cmp ax, r14w
je 0x14003e439
mov ecx, 0x20
lea r9d, [rcx - 0x17]
cmp r9w, ax
ja 0x14003e41e
cmp ax, 0xd
jbe 0x14003e439
cmp cx, ax
je 0x14003e439
add r8, 2
mov qword [rsp + 0x1278], r8
mov ax, word [r8]
cmp ax, r14w
jne 0x14003e412
sub r8, rdx
lea rcx, [rsp + 0x368]
sar r8, 1
call fcn.14005a3b8
lea rcx, [rsp + 0x1278]
call fcn.1400157dc
lea rdx, [rsp + 0x368]
xor r8d, r8d
mov rcx, rbp
call fcn.14000397c
mov rdx, qword [rsp + 0x368]
lea rcx, [0x1400fa8c8]
mov r15b, 1
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
cmp eax, r14d
jne 0x14003e56a
mov rax, qword [rsp + 0x368]
mov r15b, 3
mov word [rax], r14w
jmp 0x14003e56a
lea rdx, [rsp + 0x1278]
lea rcx, [0x1400ff5d8]
mov r8d, 1
call fcn.14005c928
cmp al, r14b
je 0x14003e4cd
mov byte [rsp + 0x320], 1
jmp 0x14003e56a
mov rax, qword [rsp + 0x1278]
cmp bl, 0x2a
jne 0x14003e523
movzx ecx, word [rax]
mov rdx, rax
cmp cx, r14w
je 0x14003e55d
mov r8d, 0x20
lea r9d, [r8 + 0xc]
lea r10d, [r8 - 0x17]
cmp r10w, cx
ja 0x14003e500
cmp cx, 0xd
jbe 0x14003e529
cmp r8w, cx
je 0x14003e529
cmp r9w, cx
je 0x14003e57e
add rax, 2
mov qword [rsp + 0x1278], rax
mov cx, word [rax]
cmp cx, r14w
je 0x14003e55d
jmp 0x14003e4f4
mov r10d, 9
movzx ecx, word [rax]
cmp cx, r14w
je 0x14003e55d
mov edx, 0x20
cmp r10w, cx
ja 0x14003e543
cmp cx, 0xd
jbe 0x14003e55d
cmp dx, cx
je 0x14003e55d
add rax, 2
mov qword [rsp + 0x1278], rax
mov cx, word [rax]
cmp cx, r14w
jne 0x14003e537
lea rcx, [rsp + 0x1278]
call fcn.1400157dc
mov rdx, qword [rsp + 0x1278]
movzx eax, word [rdx]
cmp eax, edi
jne 0x14003e58a
jmp 0x14003e035
add rdx, 0xfffffffffffffffc
mov qword [rsp + 0x1278], rdx
cmp sil, r14b
je 0x14003e5b1
lea r9, [0x1400f9548]
xor r8d, r8d
mov rcx, rbp
mov dword [rsp + 0x20], 0xffffff9c
call fcn.1400bcbc0
mov rsi, rax
jmp 0x1400415d9
lea rcx, [rsp + 0x418]
mov ebx, r14d
xor edx, edx
mov r8d, 0x370
mov qword [rsp + 0x410], r14
mov dword [rsp + 0x3b0], ebx
call fcn.1400dd9e0
lea rcx, [rsp + 0x838]
xor edx, edx
mov r8d, 0x350
call fcn.1400dd9e0
mov edi, 0x348
lea rcx, [rsp + 0xb98]
mov r8, rdi
xor edx, edx
call fcn.1400dd9e0
lea rcx, [rsp + 0xee8]
mov r8, rdi
xor edx, edx
mov qword [rsp + 0xee0], r14
call fcn.1400dd9e0
lea rcx, [rsp + 0x3c8]
call fcn.14005a614
mov rcx, qword [rsp + 0x1278]
mov rdi, qword [rsp + 0x3e0]
mov esi, 1
mov qword [rsp + 0x358], rdi
mov qword [rsp + 0x830], rcx
lea edx, [rsi + 0x2b]
mov qword [rsp + 0xb90], rcx
mov dword [rsp + 0x3a8], esi
call qword [sym.imp.SHLWAPI.dll_StrChrW]
mov rbp, rax
mov qword [rsp + 0x378], rax
cmp rax, r14
je 0x14003e69a
mov rsi, rax
sub rsi, r12
sar rsi, 1
add rbp, 2
mov qword [rsp + 0x350], rsi
mov qword [rsp + 0x378], rbp
mov esi, 1
mov qword [rsp + 0x838], rbp
mov qword [rsp + 0xb98], rbp
mov r12d, 0xc
cmp rbp, r14
je 0x14003e6cf
lea rcx, str._LoadLibrary
mov r8d, r12d
mov rdx, rbp
call fcn.140053674
cmp al, r14b
je 0x14003e6cf
mov r14b, sil
xor r8d, r8d
mov byte [rsp + 0x321], r14b
cmp rbp, r8
je 0x14003e6ff
lea rcx, str._GetProcAddress
mov r8d, 0xf
mov rdx, rbp
call fcn.140053674
xor r8d, r8d
mov r13b, sil
cmp al, r8b
jne 0x14003e702
mov r13b, r8b
cmp rbp, r8
je 0x14003e731
lea rcx, str._FreeLibrary
mov r8d, r12d
mov rdx, rbp
call fcn.140053674
xor r8d, r8d
cmp al, r8b
je 0x14003e731
lea ecx, [r8 + 1]
mov r12b, cl
mov byte [rsp + 0x325], cl
jmp 0x14003e741
mov r12b, r8b
mov byte [rsp + 0x325], r8b
mov ecx, 1
mov sil, r12b
or sil, r13b
or sil, r14b
mov byte [rsp + 0x338], sil
cmp rbp, r8
je 0x14003e76b
mov eax, 0x2a
cmp ax, word [rbp]
jne 0x14003e76b
mov byte [rsp + 0x348], cl
jmp 0x14003e794
mov byte [rsp + 0x348], r8b
cmp byte [rsp + 0x323], r8b
jne 0x14003e794
cmp byte [rsp + 0x328], r8b
jne 0x14003e794
cmp r14b, r8b
jne 0x14003e794
mov r14b, cl
cmp r12b, r8b
je 0x14003e797
mov r14b, r8b
mov al, r13b
or al, byte [rsp + 0x321]
je 0x14003e7ab
or byte [rsp + 0x32b], 0x10
cmp byte [rsp + 0x329], r8b
jne 0x14003e852
cmp r14b, r8b
je 0x14003e852
mov rax, rdi
cmp rdi, rbx
mov esi, 1
cmove rax, qword [rsp + 0x1278]
mov ebp, ecx
mov rdi, rcx
mov qword [rsp + 0x358], rax
lea r12d, [rsi + 0x2b]
mov edx, r12d
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_StrChrW]
mov qword [rsp + 0x358], rax
cmp rax, rbx
je 0x14003e830
mov word [rax], bx
mov rax, qword [rsp + 0x358]
add rax, 2
cmp rdi, 2
mov qword [rsp + 0x358], rax
jl 0x14003e825
mov qword [rsp + rdi*8 + 0x830], rax
add rdi, rsi
add ebp, esi
cmp rdi, 0x6a
jl 0x14003e7e7
mov sil, byte [rsp + 0x338]
mov r12b, byte [rsp + 0x325]
mov dword [rsp + 0x3a8], ebp
mov rbp, qword [rsp + 0x378]
xor r8d, r8d
mov rdx, r8
mov qword [rsp + 0x390], r8
mov qword [rsp + 0x3e8], r8
mov edi, 0x2c
mov qword [rsp + 0x340], rdx
cmp rbp, r8
je 0x14003e89a
mov edx, edi
mov rcx, rbp
call qword [sym.imp.SHLWAPI.dll_StrChrW]
xor r8d, r8d
mov qword [rsp + 0x340], rax
mov word [rbp - 2], r8w
mov rdx, qword [rsp + 0x340]
mov rax, qword [rsp + 0x1278]
cmp word [rax], r8w
jne 0x14003e8e0
cmp sil, r8b
jne 0x14003e8e0
lea rcx, [rsp + 0x390]
call fcn.140052160
lea rcx, [rsp + 0x3c8]
call fcn.1400d6a34
lea rcx, [rsp + 0x3c8]
call fcn.140052160
mov rsi, 0xffffffff80070057
jmp 0x1400415d9
cmp rdx, r8
je 0x14003e8fd
mov word [rdx], r8w
mov rdx, qword [rsp + 0x340]
add rdx, 2
mov qword [rsp + 0x340], rdx
and r15b, 2
mov byte [rsp + 0x338], r15b
je 0x14003e928
cmp rbp, r8
je 0x14003e928
movzx eax, word [rbp]
neg ax
sbb rcx, rcx
and rcx, rbp
mov rbp, rcx
mov qword [rsp + 0x378], rcx
mov rsi, qword [rsp + 0x1270]
cmp r15b, r8b
je 0x14003e97b
cmp rdx, r8
je 0x14003e97b
mov word [rsp + 0x20], r8w
lea rdx, [rsp + 0x340]
lea r8, [rsp + 0x368]
mov r9d, edi
mov rcx, rsi
call fcn.14004bbf0
mov r11, qword [rsp + 0x340]
movzx eax, word [r11]
neg ax
sbb rcx, rcx
and rcx, r11
xor r8d, r8d
mov qword [rsp + 0x340], rcx
lea rcx, [rsp + 0x3a0]
mov edx, 0x20a
mov rdi, r8
mov qword [rsp + 0x3f0], r8
mov r15, r8
mov qword [rsp + 0x330], r8
call fcn.14005a1c4
xor r8d, r8d
cmp byte [rsp + 0x326], r8b
jg 0x14003e9c6
mov rdx, qword [rsp + 0x3a0]
mov ecx, 0x208
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
xor r8d, r8d
mov dl, byte [rsp + 0x321]
mov rcx, qword [rsp + 0x340]
mov r10d, 0x5e
lea r11d, [r10 - 0x34]
cmp dl, r8b
je 0x14003e9ff
cmp rcx, r8
je 0x14003e9ff
cmp r10w, word [rcx]
jne 0x14003e9ff
cmp r11w, word [rcx + 2]
jne 0x14003e9ff
lea r9d, [r10 - 0x5d]
mov eax, r9d
jmp 0x14003ea08
mov eax, r8d
mov r9d, 1
cmp dl, r8b
je 0x14003ea29
cmp rcx, r8
je 0x14003ea29
cmp r10w, word [rcx]
jne 0x14003ea29
cmp r11w, word [rcx + 2]
je 0x14003ea29
mov dword [rsp + 0x3f8], r9d
jmp 0x14003ea36
mov dword [rsp + 0x3f8], r8d
cmp eax, r8d
je 0x14003ea42
add rcx, 2
mov qword [rsp + 0x340], rcx
movsxd rax, dword [rsp + 0x3a8]
mov qword [rsp + 0x3c0], rax
cmp dl, r8b
je 0x14003eac7
cmp byte [rsp + 0x320], r8b
jne 0x14003eac7
mov rax, qword [rsp + 0x368]
cmp word [rax], r8w
je 0x14003eab5
cmp r11w, word [rax]
je 0x14003eab5
cmp rcx, r8
je 0x14003eac7
cmp r11w, word [rcx]
je 0x14003eac7
mov rdx, rcx
lea rcx, [rsp + 0x327]
call fcn.140018544
mov rcx, qword [rsp + 0x340]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
xor r14d, r14d
mov rdi, rax
mov eax, 1
mov byte [rsp + 0x32a], al
jmp 0x140041562
lea rcx, [rsp + 0x3a0]
call fcn.140052160
jmp 0x14003e8ad
cmp r13b, r8b
je 0x14003ebb6
mov bpl, r9b
cmp r11w, word [rcx]
jne 0x14003eae5
add rcx, 2
mov qword [rsp + 0x340], rcx
mov bl, byte [rsp + 0x320]
mov edi, 0x23
cmp r11w, word [rcx]
je 0x14003eafc
cmp di, word [rcx]
jne 0x14003eb0d
add rcx, 2
mov bl, r9b
mov qword [rsp + 0x340], rcx
jmp 0x14003eaf1
lea rdx, [rsp + 0x350]
lea rcx, [rsp + 0x340]
xor r14d, r14d
mov qword [rsp + 0x350], r14
call fcn.140068bc8
mov rdx, qword [rsp + 0x340]
mov rdi, r14
cmp rdx, r14
je 0x140041617
add rdx, 2
mov qword [rsp + 0x340], rdx
je 0x140041617
or rax, 0xffffffffffffffff
lea rcx, [rsp + 0x378]
mov qword [rsp + 0x378], r14
mov r9, rax
mov r8, rax
call fcn.14005a08c
mov rcx, qword [rsp + 0x350]
cmp bl, r14b
je 0x14003eb93
cmp rcx, r14
je 0x14003eba4
mov rdx, qword [rsp + 0x378]
call fcn.1400165c8
jmp 0x14003eba1
mov rdx, qword [rsp + 0x378]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
lea rcx, [rsp + 0x378]
call fcn.140052160
jmp 0x140041617
cmp r12b, r8b
je 0x14003ec50
mov bpl, r9b
cmp r11w, word [rcx]
jne 0x14003ebd4
add rcx, 2
mov qword [rsp + 0x340], rcx
mov bl, byte [rsp + 0x320]
mov edi, 0x23
cmp r11w, word [rcx]
je 0x14003ebeb
cmp di, word [rcx]
jne 0x14003ebfc
add rcx, 2
mov bl, r9b
mov qword [rsp + 0x340], rcx
jmp 0x14003ebe0
lea rdx, [rsp + 0x398]
lea rcx, [rsp + 0x340]
xor r14d, r14d
mov qword [rsp + 0x398], r14
call fcn.140068bc8
mov rcx, qword [rsp + 0x398]
lea eax, [r14 + 1]
mov rdi, r14
cmp bl, al
jle 0x14003ec42
cmp rcx, r14
je 0x140041617
call fcn.140016560
jmp 0x140041617
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
movsxd rdi, eax
jmp 0x140041617
cmp byte [rsp + 0x370], r8b
movzx edx, r8b
mov r13d, 0x31
cmovne edx, r9d
mov dword [rsp + 0x398], edx
cmp rcx, r8
jne 0x14003ee78
cmp rbp, r8
jne 0x14003ec8c
lea rbp, [0x1400ff582]
mov qword [rsp + 0x378], rbp
jmp 0x14003ecc0
lea rcx, [0x1400ff582]
mov rdx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
xor r8d, r8d
cmp eax, r8d
je 0x14003ecc0
lea rcx, [0x1400ff552]
mov rdx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
xor r8d, r8d
cmp eax, r8d
jne 0x14003ee78
mov eax, dword [rsp + 0x388]
or r12, 0xffffffffffffffff
cmp eax, r8d
mov byte [rsp + 0x398], r12b
cmovl eax, r13d
mov dword [rsp + 0x388], eax
cmp al, r8b
je 0x14003ee78
lea rcx, [rsp + 0x330]
call fcn.14005a150
lea rdx, str.___exe:_
lea rcx, [rsp + 0x3e8]
mov r8, r12
call fcn.140064d54
lea rdx, [rsp + 0x3e8]
lea rcx, [rsp + 0x330]
call fcn.140064de0
lea rcx, [rsp + 0x3e8]
call fcn.140052160
lea rcx, [rsp + 0x330]
mov edx, 0x51c
call fcn.14005a250
mov rdx, qword [rsp + 0x330]
xor ecx, ecx
add rdx, 0x10
mov r8d, 0x208
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea rdx, str.____nowin___nfb___hide_PECMDpecmd_cmd_CALL__
lea rcx, [rsp + 0x3c0]
mov r8, r12
call fcn.140064d54
lea rcx, [rsp + 0x330]
mov rdx, qword [rax]
call fcn.14005a28c
lea rcx, [rsp + 0x3c0]
call fcn.140052160
mov rax, qword [rsp + 0x350]
xor ebx, ebx
cmp eax, ebx
jl 0x14003edad
movsxd rcx, eax
mov rax, qword [rsp + 0x400]
mov word [rax + rcx*2], bx
mov rdx, qword [rsp + 0x400]
lea rcx, [rsp + 0x330]
call fcn.14005a28c
lea rdx, [0x1400ff500]
lea rcx, [rsp + 0x3c0]
mov r8, r12
call fcn.140064d54
lea rcx, [rsp + 0x330]
mov rdx, qword [rax]
call fcn.14005a28c
lea rcx, [rsp + 0x3c0]
call fcn.140052160
lea rcx, [rsp + 0x330]
mov rdx, rbp
call fcn.14005a28c
mov rdx, qword [rsp + 0x330]
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
xor r9d, r9d
mov r8, rsi
mov rcx, rsi
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], ebx
call fcn.14000d03c
lea rcx, [rsp + 0x330]
mov rsi, rax
call fcn.140052160
lea rcx, [rsp + 0x3a0]
call fcn.140052160
lea rcx, [rsp + 0x390]
call fcn.140052160
lea rcx, [rsp + 0x3c8]
call fcn.1400d6a34
lea rcx, [rsp + 0x3c8]
call fcn.140052160
jmp 0x1400415d9
cmp rbp, r8
je 0x1400417a9
cmp word [rbp], r8w
je 0x1400417a9
mov r12b, byte [rsp + 0x329]
cmp r12b, r8b
jne 0x14003ef59
cmp r14b, r8b
je 0x14003ef59
mov r9, qword [rsp + 0x3e0]
cmp r9, r8
je 0x14003ef59
mov esi, 2
lea r13, [rsp + 0xb90]
mov qword [rsp + 0x350], r8
cmp dword [rsp + 0x3a8], esi
jle 0x14003ef47
mov r12, qword [rsp + 0x1270]
mov rdi, qword [rsp + 0x3c0]
lea ebx, [rsi - 1]
mov rdx, qword [rsp + rsi*8 + 0x830]
lea r8, [rsp + 0x350]
xor r9d, r9d
mov rcx, r12
mov byte [rsp + 0x20], bl
call fcn.14006e854
mov r11, qword [rsp + 0x350]
and qword [rsp + 0x350], 0
mov qword [rsp + rsi*8 + 0xee0], r11
mov qword [rsp + rsi*8 + 0xb90], r11
add rsi, rbx
cmp rsi, rdi
jl 0x14003eee8
mov ebx, dword [rsp + 0x3b0]
mov rdi, qword [rsp + 0x3f0]
mov r12b, byte [rsp + 0x329]
lea rcx, [rsp + 0x350]
call fcn.140052160
xor r8d, r8d
jmp 0x14003ef61
lea r13, [rsp + 0x830]
mov eax, 2
cmp r12b, r8b
jne 0x14003f105
cmp r14b, r8b
je 0x14003f105
xor r14d, r14d
cmp qword [r13 + 8], r14
je 0x14003f108
cmp byte [rsp + 0x338], r14b
je 0x14003ef99
cmp qword [r13 + 0x10], r14
lea ecx, [rax + 1]
cmovne eax, ecx
mov dil, byte [rsp + 0x322]
mov rbp, qword [rsp + 0x1270]
cdqe
lea r15, [r13 + rax*8]
lea r14, [rsp + rax*8 + 0x828]
lea r12, [rsp + 0x410]
mov r8d, 0x7e
mov r9d, 0xfde9
xor esi, esi
mov rax, qword [r15]
add r14, 8
add r15, 8
mov qword [rsp + 0x358], rax
cmp rax, rsi
je 0x14003f0ed
movzx ecx, word [rax]
mov r11d, 0x23
mov qword [r12], rax
mov dl, sil
cmp dil, r11b
je 0x14003f08d
lea r10d, [r11 + 7]
cmp dil, r10b
je 0x14003f229
cmp dil, 0x24
je 0x14003f385
lea r13d, [r11 + 0x1d]
cmp dil, r13b
je 0x14003f214
cmp dil, 0x3d
je 0x14003f200
cmp dil, r8b
je 0x14003f075
cmp dil, sil
je 0x14003f087
add rax, 2
movzx ecx, cx
mov dl, 1
mov qword [rsp + 0x358], rax
cmp ecx, r11d
je 0x14003f09f
cmp ecx, r10d
je 0x14003f229
cmp ecx, 0x3d
je 0x14003f200
cmp ecx, r13d
je 0x14003f214
cmp ecx, r8d
jne 0x14003f385
mov r13w, r9w
cmp rax, rsi
je 0x14003f385
jmp 0x14003f2fd
cmp cx, r11w
jne 0x14003f0c8
cmp r11w, word [rax]
jne 0x14003f09f
add rax, 2
mov qword [rsp + 0x358], rax
lea rdx, [rsp + 0x3e0]
lea rcx, [rsp + 0x358]
mov qword [rsp + 0x3e0], rsi
call fcn.140068cb4
mov r11, qword [rsp + 0x3e0]
mov qword [r12], r11
inc ebx
add r12, 8
cmp byte [rsp + 0x349], sil
jne 0x14003f0ed
mov r8d, 0x7e
mov r9d, 0xfde9
cmp ebx, 0x64
jbe 0x14003efce
mov rdi, qword [rsp + 0x3f0]
mov rbp, qword [rsp + 0x378]
mov r15, qword [rsp + 0x330]
xor r14d, r14d
lea rdx, str._DllRegisterServer
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
mov esi, dword [rsp + 0x388]
mov r13d, 1
cmp eax, r14d
jne 0x14003f152
lea eax, [r13 + 0x30]
cmp esi, r14d
lea rbp, [0x1400ff582]
cmovl esi, eax
mov byte [rsp + 0x398], 0xff
mov byte [rsp + 0x327], r13b
mov dword [rsp + 0x388], esi
lea rdx, str._DllUnregisterServer
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, r14d
jne 0x14003f190
mov eax, 0x71
cmp esi, r14d
lea rbp, [0x1400ff552]
cmovl esi, eax
mov byte [rsp + 0x398], 0xff
mov byte [rsp + 0x327], r13b
mov dword [rsp + 0x388], esi
mov rdx, qword [rsp + 0x1278]
mov eax, 0x23
mov qword [rsp + 0x408], r14
mov rsi, r14
cmp ax, word [rdx]
jne 0x14003f3e3
cmp word [rdx + 2], r14w
jne 0x14003f3e3
lea rdx, [rsp + 0x408]
lea rcx, [rsp + 0x3e0]
mov qword [rsp + 0x3e0], rbp
call fcn.140068cb4
cmp qword [rsp + 0x408], r14
jne 0x14003f3b3
neg byte [rsp + 0x328]
sbb rdi, rdi
not rdi
and rdi, 0xffffffff80070057
jmp 0x1400416b9
mov rax, qword [r14]
movsx rcx, dl
lea rcx, [rax + rcx*2]
mov qword [r12], rcx
jmp 0x14003f0c8
mov r13d, esi
cmp rax, rsi
jne 0x14003f2fd
mov qword [r12], rsi
jmp 0x14003f0c8
cmp r10w, word [rax]
jne 0x14003f23b
add rax, 2
mov qword [rsp + 0x358], rax
mov r13w, si
cmp r8w, word [rax]
jne 0x14003f257
add rax, 2
mov r13w, r9w
mov qword [rsp + 0x358], rax
jmp 0x14003f265
mov ecx, 0x40
cmp cx, word [rax]
jne 0x14003f265
mov r13w, si
lea rcx, [rsp + 0x350]
call fcn.14005a150
lea r8, [rsp + 0x350]
lea rdx, [rsp + 0x358]
mov r9d, 0x2c
mov rcx, rbp
mov word [rsp + 0x20], si
call fcn.14004bbf0
mov rdx, qword [rsp + 0x350]
or r9d, 0xffffffff
xor r8d, r8d
mov rcx, rbp
mov qword [rsp + 0x358], rsi
mov qword [rsp + 0x20], rsi
call fcn.140016e9c
cmp rax, rsi
je 0x14003f2cc
mov rax, qword [rax + 8]
mov qword [rsp + 0x358], rax
jmp 0x14003f2d4
mov rax, qword [rsp + 0x358]
cmp r13w, si
je 0x14003f39d
cmp rax, rsi
je 0x14003f38e
cmp word [rax], si
je 0x14003f39d
lea rcx, [rsp + 0x350]
call fcn.140052160
mov ecx, 8
call fcn.1400ddcb8
mov rsi, rax
xor eax, eax
cmp rsi, rax
je 0x14003f316
mov qword [rsi], rax
jmp 0x14003f319
mov rsi, rax
mov rdx, qword [rsp + 0x358]
movzx r9d, r13w
or r8, 0xffffffffffffffff
mov rcx, rsi
call fcn.14005a08c
mov r11, qword [rsi]
mov eax, 1
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x3b0]
lea r8, [rsp + 0x3d8]
lea rdx, [rsp + 0x3d0]
lea rcx, [rsp + 0x3c8]
mov qword [rsp + 0x358], r11
mov qword [rsp + 0x3b0], rsi
mov dword [rsp + 0x20], 8
call fcn.14005a4a0
mov rax, qword [rsp + 0x358]
xor esi, esi
mov qword [r12], rax
jmp 0x14003f0c8
lea rax, [0x1400f9548]
mov qword [rsp + 0x358], rax
lea rcx, [rsp + 0x350]
mov qword [r12], rax
call fcn.140052160
jmp 0x14003f0c8
movzx ecx, byte [rsp + 0x326]
mov rsi, qword [rsp + 0x408]
mov rdx, qword [rsp + 0x1278]
mov eax, ecx
cmp cl, r14b
mov byte [rsp + 0x398], r13b
cmovl eax, r13d
mov byte [rsp + 0x326], al
cmp byte [rsp + 0x321], r14b
je 0x14003f408
mov rax, rdx
mov rdx, qword [rsp + 0x340]
mov qword [rsp + 0x1278], rdx
mov qword [rsp + 0x340], rax
mov byte [rsp + 0x325], r14b
mov r12d, r14d
mov eax, 0x22
cmp rdx, r14
je 0x14003f437
cmp ax, word [rdx]
mov rcx, rdx
cmove r12d, r13d
call fcn.140019d38
mov rdx, rax
mov qword [rsp + 0x1278], rax
mov r8d, 0x2a
mov qword [rsp + 0x380], rdx
mov r13b, r14b
mov rcx, rdx
cmp r8w, word [rdx]
jne 0x14003f46c
lea rax, [rcx + 2]
cmp r8w, word [rax]
jne 0x14003f46c
mov qword [rsp + 0x380], rax
mov rcx, rax
cmp r8w, word [rax]
je 0x14003f451
mov r10d, 9
cmp r8w, word [rcx]
jne 0x14003f48e
movzx eax, word [rcx + 2]
sub ax, 0x30
cmp ax, r10w
jbe 0x14003f48e
or byte [rsp + 0x320], 2
mov r9d, 0x2e
cmp r8w, word [rcx]
jne 0x14003f515
lea r8, [rcx + 2]
movzx eax, word [r8]
sub ax, 0x30
cmp ax, r10w
ja 0x14003f515
cmp rcx, rdx
lea rdx, [rsp + 0x3f0]
lea rcx, [rsp + 0x380]
seta r13b
mov qword [rsp + 0x3f0], r14
mov qword [rsp + 0x380], r8
inc r13b
call fcn.140068bc8
cmp eax, r14d
jle 0x14003eab5
mov r15, qword [rsp + 0x3f0]
mov qword [rsp + 0x330], r15
cmp r15, r14
je 0x14003eab5
mov rdx, qword [rsp + 0x1278]
mov rcx, qword [rsp + 0x380]
mov r9d, 0x2e
jmp 0x14003f526
cmp word [rcx], r14w
jne 0x14003f52b
mov rcx, r14
mov qword [rsp + 0x380], rcx
cmp r13b, r14b
jne 0x14003f544
cmp rcx, r14
je 0x14003f544
cmp word [rcx], r9w
jne 0x14003f544
cmp word [rcx + 2], r14w
jne 0x14003f544
mov r14b, 1
xor eax, eax
jmp 0x14003f54f
xor eax, eax
cmp r13b, al
jne 0x14003f5e3
cmp byte [rsp + 0x348], al
je 0x14003f5e3
cmp byte [rsp + 0x320], al
jne 0x14003f5e3
cmp r14b, al
je 0x14003f573
mov rax, qword [0x1401179a0]
jmp 0x14003f581
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rdx, qword [rsp + 0x1278]
xor r14d, r14d
cmp rax, r14
jne 0x14003f5c9
lea rcx, [rsp + 0x327]
call fcn.140018544
mov rcx, qword [rsp + 0x1278]
lea r13d, [r14 + 1]
mov bl, r13b
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp rax, r14
jne 0x14003f5d2
cmp byte [rsp + 0x328], r14b
je 0x14003f5bf
mov eax, r14d
jmp 0x14003f5c5
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
jmp 0x14003f5d5
mov bl, r14b
mov r13d, 1
mov rdi, r14
cmp bl, r13b
je 0x140041562
jmp 0x1400415a2
lea rcx, [rsp + 0x327]
call fcn.140018544
xor edx, edx
cmp rsi, rdx
jne 0x14003fd4d
mov al, byte [rsp + 0x320]
mov r9, qword [rsp + 0x380]
mov ecx, 0xffdf
cmp al, dl
jne 0x14003f658
cmp r15, rdx
jne 0x14003f658
cmp byte [rsp + 0x398], dl
jne 0x14003f658
cmp r9, rdx
je 0x14003f650
lea r8d, [rdx + 0x2e]
cmp word [r9], r8w
jne 0x14003faa6
cmp word [r9 + 2], dx
jne 0x14003faa6
mov r15, qword [0x1401179a0]
mov qword [rsp + 0x330], r15
jmp 0x14003f661
mov byte [rsp + 0x398], 2
cmp r9, rdx
je 0x14003fb57
cmp r15, rdx
jne 0x14003fb6b
cmp al, dl
je 0x14003faa6
xor r14d, r14d
mov rcx, r9
mov qword [rsp + 0x790], r14
mov qword [rsp + 0x798], r14
mov qword [rsp + 0x7a0], r14
movzx r10d, word [r9]
mov qword [rsp + 0x330], rcx
cmp r12d, r14d
jne 0x14003f6ca
lea r8d, [r14 + 0x23]
cmp r8w, word [r9]
jne 0x14003f6ca
movzx eax, word [r9 + 2]
lea edx, [r14 + 9]
sub ax, 0x30
cmp ax, dx
ja 0x14003f6ca
mov r11, qword [rsp + 0x1278]
jmp 0x14003f75d
mov r12d, 0x2a
cmp r12w, r10w
jne 0x14003f6ed
add r9, 2
mov rcx, r9
mov qword [rsp + 0x380], r9
mov qword [rsp + 0x330], rcx
mov edx, 0x22
mov r11, r14
cmp dx, word [r9]
jne 0x14003f74d
add r9, 2
lea rcx, [rsp + 0x330]
mov qword [rsp + 0x380], r9
mov qword [rsp + 0x330], r9
call fcn.1400cb7a8
mov rcx, qword [rsp + 0x330]
cmp word [rcx], r14w
je 0x14003f74d
mov word [rcx], r14w
mov r9, qword [rsp + 0x380]
mov r11, rcx
mov rcx, qword [rsp + 0x330]
add rcx, 2
mov qword [rsp + 0x330], rcx
cmp r12w, r10w
jne 0x14003f870
mov r8d, 0x23
mov r10, qword [0x140117df0]
mov r13, r14
jmp 0x14003f77b
cmp r8w, ax
je 0x14003f784
add rcx, 2
mov qword [rsp + 0x330], rcx
movzx eax, word [rcx]
cmp ax, r14w
jne 0x14003f769
mov rax, rcx
cmp word [rcx], r14w
je 0x14003f7bd
mov edx, 0x7c
cmp dx, word [rax]
je 0x14003f7ad
mov edx, 0x3a
cmp dx, word [rax]
je 0x14003f7ad
add rax, 2
cmp word [rax], r14w
jne 0x14003f78d
jmp 0x14003f7bd
mov word [rax], r14w
mov rcx, qword [rsp + 0x330]
add rax, 2
cmp word [rax], r14w
lea r12, str.EXEDATA
cmovne r12, rax
cmp r8w, word [rcx]
jne 0x14003f880
mov word [rcx], r14w
cmp r11, r14
je 0x14003f7e3
mov word [r11], r14w
mov rcx, qword [rsp + 0x380]
mov eax, 0x2e
cmp ax, word [rcx]
jne 0x14003f811
lea rax, [rcx + 2]
cmp word [rax], r14w
jne 0x14003f811
mov r10, qword [0x1401179a0]
mov rcx, rax
mov qword [rsp + 0x380], rax
cmp word [rcx], r14w
je 0x14003f82f
xor edx, edx
lea r8d, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov r8d, 0x23
mov r10, rax
mov r13, rax
mov rax, qword [rsp + 0x330]
mov word [rax], r8w
cmp r10, r14
je 0x14003f860
mov rdx, qword [rsp + 0x330]
lea r9, [rsp + 0x790]
mov r8, r12
mov rcx, r10
mov qword [rsp + 0x20], r14
call fcn.14001c914
cmp r13, r14
je 0x14003f880
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x14003f880
lea rdx, [rsp + 0x790]
mov rcx, r9
call fcn.14001c168
mov r12, qword [rsp + 0x790]
mov r13d, dword [rsp + 0x798]
cmp r12, r14
jne 0x14003f932
cmp byte [rsp + 0x321], r14b
mov bl, byte [rsp + 0x323]
mov r13d, 1
lea rcx, [rsp + 0x790]
mov rdi, r14
mov byte [rsp + 0x324], r13b
sete dil
mov qword [rsp + 0x3b8], r13
call fcn.140052160
cmp bl, r14b
je 0x140041569
mov bl, byte [rsp + 0x325]
cmp byte [rsp + 0x328], r14b
jne 0x14003ee3f
cmp rsi, r14
je 0x14003f90d
lea rdx, str.0x_p
lea rcx, [rsp + 0x7b0]
mov r8, rsi
call qword [sym.imp.USER32.dll_wsprintfW]
mov rdx, qword [rsp + 0x368]
mov rcx, qword [rsp + 0x1270]
lea r8, [rsp + 0x7b0]
call fcn.1400596c4
cmp bl, 2
jmp 0x14003f5d8
lea rcx, [rsp + 0x390]
mov edx, 0x48
call fcn.140016d84
mov r11, rax
cmp rax, r14
je 0x14003f967
mov rcx, rax
call fcn.140016d68
lea rcx, [0x1400fc790]
mov qword [r11], rcx
lea rcx, [r11 + 8]
call fcn.140016540
lea r14, [r11 + 8]
mov r8, r13
mov rdx, r12
mov rcx, r14
mov qword [rsp + 0x3e8], r14
call fcn.14002a898
xor ecx, ecx
cmp rax, rcx
je 0x14003fa6e
mov sil, byte [rsp + 0x321]
cmp sil, cl
je 0x14003fa22
mov r8, qword [rsp + 0x340]
cmp r8, rcx
je 0x14003f9b0
cmp word [r8], cx
jne 0x14003f9c2
mov rax, qword [rsp + 0x368]
mov r8, rcx
cmp word [rax], cx
cmovne r8, rax
mov rdi, r14
mov bpl, 1
cmp r8, rcx
je 0x14003fa06
mov rax, qword [rsp + 0x790]
lea r9, [rsp + 0x390]
mov rdx, r14
mov qword [r14 + 0x10], rax
mov qword [rsp + 0x790], rcx
mov rcx, qword [rsp + 0x1270]
call fcn.14003d934
xor r14d, r14d
mov qword [rsp + 0x3e8], r14
jmp 0x14003fa09
xor r14d, r14d
lea rcx, [rsp + 0x790]
call fcn.140052160
mov bl, byte [rsp + 0x320]
jmp 0x14004161f
or rax, 0xffffffffffffffff
mov qword [rsp + 0x350], rcx
lea rcx, [rsp + 0x350]
mov r9, rax
mov r8, rax
mov rdx, rbp
call fcn.14005a08c
mov rdx, qword [rsp + 0x350]
mov rcx, r14
call fcn.1400165c8
lea rcx, [rsp + 0x350]
mov rsi, rax
call fcn.140052160
xor r14d, r14d
cmp rsi, r14
jne 0x14003fa94
jmp 0x14003fa71
xor r14d, r14d
cmp byte [rsp + 0x321], r14b
mov eax, 1
mov rdi, r14
sete dil
mov byte [rsp + 0x324], al
mov qword [rsp + 0x3b8], rax
lea rcx, [rsp + 0x790]
call fcn.140052160
jmp 0x14003fd50
movzx eax, word [r9]
and ax, cx
mov ecx, 0x4b
cmp cx, ax
jne 0x14003fade
lea rdx, [0x1400ff4c0]
mov rcx, r9
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
xor edx, edx
cmp eax, edx
jne 0x14003fad6
mov r15, qword [0x140117e50]
jmp 0x14003fb3d
mov r9, qword [rsp + 0x380]
movzx eax, word [r9]
mov ecx, 0xffdf
and ax, cx
mov ecx, 0x55
cmp cx, ax
jne 0x14003fb1b
lea rdx, str.user32.DLL
mov rcx, r9
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
xor edx, edx
cmp eax, edx
jne 0x14003fb13
mov r15, qword [0x140117e48]
jmp 0x14003fb3d
mov r9, qword [rsp + 0x380]
cmp r14b, dl
je 0x14003fb29
mov r15, qword [0x1401179a0]
jmp 0x14003fb3d
mov rcx, r9
mov byte [rsp + 0x325], 1
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov r15, rax
xor r14d, r14d
mov qword [rsp + 0x330], r15
cmp r15, r14
jne 0x14003fb6e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
jmp 0x14003fb5a
xor r14d, r14d
cmp r15, r14
jne 0x14003fb6e
mov bl, byte [rsp + 0x323]
jmp 0x14003f8d2
xor r14d, r14d
or r12, 0xffffffffffffffff
lea rcx, [rsp + 0x3b0]
mov rdx, rbp
mov r9, r12
mov r8, r12
mov qword [rsp + 0x3b0], r14
call fcn.14005a08c
mov rdx, qword [rsp + 0x3b0]
mov rcx, r15
test r13b, 2
je 0x14003fba8
call fcn.1400165c8
jmp 0x14003fbae
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
cmp rax, r14
jne 0x14003fd40
cmp byte [rsp + 0x329], r14b
je 0x14003fd38
cmp byte [rsp + 0x322], r14b
jne 0x14003fd38
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd r14, eax
mov eax, 0xffdf
lea r12, [r14 + r14]
mov r15, r14
movzx ecx, word [r12 + rbp - 2]
and cx, ax
mov eax, 0x41
cmp cx, ax
je 0x14003fd2d
mov eax, 0x57
cmp cx, ax
je 0x14003fd2d
lea ecx, [rax - 0x4f]
call fcn.1400ddcb8
mov rsi, rax
xor eax, eax
cmp rsi, rax
je 0x14003fc39
lea ecx, [r14 + 2]
movsxd rdx, ecx
mov rcx, rsi
call fcn.14005a1c4
xor r14d, r14d
jmp 0x14003fc3f
xor r14d, r14d
mov rsi, r14
mov eax, 1
lea r9, [rsp + 0x350]
lea r8, [rsp + 0x3d8]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x3d0]
lea rcx, [rsp + 0x3c8]
mov dword [rsp + 0x20], 8
mov qword [rsp + 0x350], rsi
call fcn.14005a4a0
mov rcx, qword [rsi]
mov r8, r12
mov rdx, rbp
call fcn.14001b7a8
mov rbp, qword [rsi]
mov eax, 0x57
mov word [rbp + r15*2 + 2], r14w
mov r15, qword [rsp + 0x330]
mov word [r12 + rbp], ax
mov rdx, qword [rsp + 0x3b0]
mov rcx, r15
cmp r13b, 2
jne 0x14003fcbf
call fcn.1400165c8
jmp 0x14003fcc5
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
cmp rax, r14
jne 0x14003fd40
mov eax, 0x41
lea rcx, [rsp + 0x378]
mov rdx, rbp
mov word [r12 + rbp], ax
or rax, 0xffffffffffffffff
mov qword [rsp + 0x378], r14
mov r9, rax
mov r8, rax
call fcn.14005a08c
mov rdx, qword [rsp + 0x378]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [rsp + 0x378]
mov rsi, rax
call fcn.140052160
cmp rsi, r14
je 0x14003fd38
mov eax, 0x40
mov byte [rsp + 0x322], al
jmp 0x14003fd40
mov r15, qword [rsp + 0x330]
xor r14d, r14d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
lea rcx, [rsp + 0x3b0]
jmp 0x14003fa9c
xor r14d, r14d
cmp byte [rsp + 0x323], r14b
je 0x14003fd95
mov bl, byte [rsp + 0x325]
mov eax, 1
cmp bl, al
jne 0x14003f8e2
cmp byte [rsp + 0x398], r14b
jg 0x14003f8e2
cmp r15, r14
je 0x14003f8e2
mov rcx, r15
mov bl, 2
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x14003f8e2
mov r12b, r14b
cmp rsi, r14
je 0x14003ff3a
mov r13d, dword [rsp + 0x388]
test r13b, 7
je 0x14003fe1a
call fcn.1400587b8
cmp r13d, r14d
je 0x14003fe1a
cmp qword [0x140118600], r14
je 0x14003fe1a
cmp qword [0x140118608], r14
je 0x14003fe1a
lea rcx, [0x140118f08]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r13, qword [rsp + 0x1270]
mov al, byte [r13 + 0x12]
test al, 2
jne 0x14003fe0b
mov ecx, 1
movzx r12d, r14b
test cl, al
cmove r12d, ecx
or al, 3
xor ecx, ecx
mov byte [r13 + 0x12], al
or r12b, 2
call qword [0x140118600]
jmp 0x14003fe22
lea rcx, [0x140118f08]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x14003fe22
mov r13, qword [rsp + 0x1270]
cmp byte [rsp + 0x324], r14b
je 0x14003fe34
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
cmp byte [rsp + 0x329], r14b
je 0x14003ff77
mov edi, 1
mov qword [rsp + 0x388], r14
mov word [rsp + 0x1280], r14w
lea eax, [rdi + 0x3f]
mov byte [rsp + 0x32a], dil
cmp byte [rsp + 0x322], al
jne 0x14003fea2
mov rdx, qword [rsp + 0x340]
cmp rdx, r14
je 0x14003feaf
or rax, 0xffffffffffffffff
lea rcx, [rsp + 0x388]
mov r9, rax
mov r8, rax
call fcn.14005a08c
mov r11, qword [rsp + 0x388]
mov qword [rsp + 0x340], r11
jmp 0x14003feaa
mov r11, qword [rsp + 0x340]
cmp r11, r14
jne 0x14003febf
lea rax, [rsp + 0x1280]
mov qword [rsp + 0x340], rax
mov rbx, qword [0x140117df0]
xor edx, edx
mov rcx, r13
call fcn.1400192c4
cmp rbp, r14
je 0x14003ff09
lea rcx, str.InstallHinfSection
mov r8d, 0x12
mov rdx, rbp
call fcn.140053674
cmp al, r14b
je 0x14003ff09
cmp word [rbp + 0x24], r14w
je 0x14003ff01
mov word [rbp + 0x24], di
cmp word [rbp + 0x26], r14w
jne 0x14003ff09
mov rbp, r14
mov rbx, r14
jmp 0x14003ff0e
mov ebp, 5
mov rcx, qword [r13 + 0x40]
call fcn.1400524cc
mov r8, qword [rsp + 0x340]
mov r9, rbp
mov rcx, rax
mov rdx, rbx
call rsi
lea rcx, [rsp + 0x388]
mov rdi, rax
call fcn.140052160
mov r13d, 1
mov bl, byte [rsp + 0x324]
mov qword [rsp + 0x3b8], rdi
cmp bl, r14b
je 0x140041519
cmp bl, 2
jne 0x140041509
cmp edi, r13d
jne 0x1400414fa
mov qword [rsp + 0x3b8], r14
jmp 0x140041519
mov r13d, 1
cmp dword [rsp + 0x1280], r13d
jne 0x140040b62
cmp ebx, 0x64
setbe al
mov byte [rsp + 0x32a], al
cmp ebx, 0x10
ja 0x140040155
cmp ebx, 8
ja 0x140040046
je 0x140040cd1
cmp ebx, r14d
je 0x140040c0e
sub ebx, r13d
je 0x140040c02
sub ebx, r13d
je 0x140040bee
sub ebx, r13d
je 0x140040bd2
sub ebx, r13d
je 0x140040bae
sub ebx, r13d
je 0x140040c18
sub ebx, r13d
je 0x140040d2c
sub ebx, r13d
jne 0x14003ff40
mov rax, qword [rsp + 0x440]
mov r9, qword [rsp + 0x428]
mov r8, qword [rsp + 0x420]
mov rdx, qword [rsp + 0x418]
mov rcx, qword [rsp + 0x410]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x438]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x430]
mov qword [rsp + 0x20], rax
call rsi
jmp 0x140040c10
mov eax, 9
sub ebx, eax
je 0x140040c69
sub ebx, r13d
je 0x140040d6d
sub ebx, r13d
je 0x1400410a8
sub ebx, r13d
je 0x140041019
sub ebx, r13d
je 0x140040f7d
sub ebx, r13d
je 0x140040ed4
sub ebx, r13d
je 0x140040e1e
sub ebx, r13d
jne 0x14003ff40
mov rax, qword [rsp + 0x488]
mov r9, qword [rsp + 0x428]
mov r8, qword [rsp + 0x420]
mov rdx, qword [rsp + 0x418]
mov rcx, qword [rsp + 0x410]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x480]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x478]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x470]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x468]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x460]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x458]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x450]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x448]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x440]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x438]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x430]
mov qword [rsp + 0x20], rax
call rsi
jmp 0x140040c10
cmp ebx, 0x14
jbe 0x14004114e
cmp ebx, 0x1e
ja 0x14004030a
mov rax, qword [rsp + 0x4f8]
mov r9, qword [rsp + 0x428]
mov r8, qword [rsp + 0x420]
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0x4f0]
mov rdx, qword [rsp + 0x418]
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x4e8]
mov rcx, qword [rsp + 0x410]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x4e0]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x4d8]
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x4d0]
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0x4c8]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x4c0]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x4b8]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x4b0]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x4a8]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x4a0]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x498]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x490]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x488]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x480]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x478]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x470]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x468]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x460]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x458]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x450]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x448]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x440]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x438]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x430]
mov qword [rsp + 0x20], rax
call rsi
jmp 0x140040c10
cmp ebx, 0x28
ja 0x140040556
mov rax, qword [rsp + 0x548]
mov r9, qword [rsp + 0x428]
mov r8, qword [rsp + 0x420]
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x540]
mov rdx, qword [rsp + 0x418]
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x538]
mov rcx, qword [rsp + 0x410]
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x530]
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x528]
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x520]
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x518]
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x510]
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0x508]
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0x500]
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0x4f8]
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0x4f0]
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x4e8]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x4e0]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x4d8]
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x4d0]
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0x4c8]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x4c0]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x4b8]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x4b0]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x4a8]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x4a0]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x498]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x490]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x488]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x480]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x478]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x470]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x468]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x460]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x458]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x450]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x448]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x440]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x438]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x430]
mov qword [rsp + 0x20], rax
call rsi
jmp 0x140040c10
cmp ebx, 0x64
ja 0x14003ff40
mov rax, qword [rsp + 0x728]
mov qword [rsp + 0x318], rax
mov rax, qword [rsp + 0x720]
mov qword [rsp + 0x310], rax
mov rax, qword [rsp + 0x718]
mov qword [rsp + 0x308], rax
mov rax, qword [rsp + 0x710]
mov qword [rsp + 0x300], rax
mov rax, qword [rsp + 0x708]
mov qword [rsp + 0x2f8], rax
mov rax, qword [rsp + 0x700]
mov qword [rsp + 0x2f0], rax
mov rax, qword [rsp + 0x6f8]
mov qword [rsp + 0x2e8], rax
mov rax, qword [rsp + 0x6f0]
mov qword [rsp + 0x2e0], rax
mov rax, qword [rsp + 0x6e8]
mov qword [rsp + 0x2d8], rax
mov rax, qword [rsp + 0x6e0]
mov qword [rsp + 0x2d0], rax
mov rax, qword [rsp + 0x6d8]
mov qword [rsp + 0x2c8], rax
mov rax, qword [rsp + 0x6d0]
mov qword [rsp + 0x2c0], rax
mov rax, qword [rsp + 0x6c8]
mov qword [rsp + 0x2b8], rax
mov rax, qword [rsp + 0x6c0]
mov qword [rsp + 0x2b0], rax
mov rax, qword [rsp + 0x6b8]
mov qword [rsp + 0x2a8], rax
mov rax, qword [rsp + 0x6b0]
mov qword [rsp + 0x2a0], rax
mov rax, qword [rsp + 0x6a8]
mov qword [rsp + 0x298], rax
mov rax, qword [rsp + 0x6a0]
mov qword [rsp + 0x290], rax
mov rax, qword [rsp + 0x698]
mov qword [rsp + 0x288], rax
mov rax, qword [rsp + 0x690]
mov qword [rsp + 0x280], rax
mov rax, qword [rsp + 0x688]
mov qword [rsp + 0x278], rax
mov rax, qword [rsp + 0x680]
mov qword [rsp + 0x270], rax
mov rax, qword [rsp + 0x678]
mov qword [rsp + 0x268], rax
mov rax, qword [rsp + 0x670]
mov qword [rsp + 0x260], rax
mov rax, qword [rsp + 0x668]
mov qword [rsp + 0x258], rax
mov rax, qword [rsp + 0x660]
mov qword [rsp + 0x250], rax
mov rax, qword [rsp + 0x658]
mov qword [rsp + 0x248], rax
mov rax, qword [rsp + 0x650]
mov qword [rsp + 0x240], rax
mov rax, qword [rsp + 0x648]
mov qword [rsp + 0x238], rax
mov rax, qword [rsp + 0x640]
mov qword [rsp + 0x230], rax
mov rax, qword [rsp + 0x638]
mov qword [rsp + 0x228], rax
mov rax, qword [rsp + 0x630]
mov qword [rsp + 0x220], rax
mov rax, qword [rsp + 0x628]
mov qword [rsp + 0x218], rax
mov rax, qword [rsp + 0x620]
mov qword [rsp + 0x210], rax
mov rax, qword [rsp + 0x618]
mov qword [rsp + 0x208], rax
mov rax, qword [rsp + 0x610]
mov qword [rsp + 0x200], rax
mov rax, qword [rsp + 0x608]
mov qword [rsp + 0x1f8], rax
mov rax, qword [rsp + 0x600]
mov qword [rsp + 0x1f0], rax
mov rax, qword [rsp + 0x5f8]
mov qword [rsp + 0x1e8], rax
mov rax, qword [rsp + 0x5f0]
mov qword [rsp + 0x1e0], rax
mov rax, qword [rsp + 0x5e8]
mov qword [rsp + 0x1d8], rax
mov rax, qword [rsp + 0x5e0]
mov qword [rsp + 0x1d0], rax
mov rax, qword [rsp + 0x5d8]
mov qword [rsp + 0x1c8], rax
mov rax, qword [rsp + 0x5d0]
mov qword [rsp + 0x1c0], rax
mov rax, qword [rsp + 0x5c8]
mov qword [rsp + 0x1b8], rax
mov rax, qword [rsp + 0x5c0]
mov qword [rsp + 0x1b0], rax
mov rax, qword [rsp + 0x5b8]
mov qword [rsp + 0x1a8], rax
mov rax, qword [rsp + 0x5b0]
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0x5a8]
mov qword [rsp + 0x198], rax
mov rax, qword [rsp + 0x5a0]
mov qword [rsp + 0x190], rax
mov rax, qword [rsp + 0x598]
mov qword [rsp + 0x188], rax
mov rax, qword [rsp + 0x590]
mov qword [rsp + 0x180], rax
mov rax, qword [rsp + 0x588]
mov qword [rsp + 0x178], rax
mov rax, qword [rsp + 0x580]
mov qword [rsp + 0x170], rax
mov rax, qword [rsp + 0x578]
mov qword [rsp + 0x168], rax
mov rax, qword [rsp + 0x570]
mov qword [rsp + 0x160], rax
mov rax, qword [rsp + 0x568]
mov qword [rsp + 0x158], rax
mov rax, qword [rsp + 0x560]
mov qword [rsp + 0x150], rax
mov rax, qword [rsp + 0x558]
mov qword [rsp + 0x148], rax
mov rax, qword [rsp + 0x550]
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0x548]
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x540]
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x538]
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x530]
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x528]
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x520]
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x518]
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x510]
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0x508]
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0x500]
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0x4f8]
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0x4f0]
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x4e8]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x4e0]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x4d8]
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x4d0]
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0x4c8]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x4c0]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x4b8]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x4b0]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x4a8]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x4a0]
mov r9, qword [rsp + 0x428]
mov r8, qword [rsp + 0x420]
mov rdx, qword [rsp + 0x418]
mov rcx, qword [rsp + 0x410]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x498]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x490]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x488]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x480]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x478]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x470]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x468]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x460]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x458]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x450]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x448]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x440]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x438]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x430]
mov qword [rsp + 0x20], rax
call rsi
jmp 0x140040c10
cmp ebx, 0x14
setbe al
mov byte [rsp + 0x32a], al
cmp ebx, 0xa
ja 0x140040de2
je 0x140040d6d
mov ebp, 5
cmp ebx, ebp
ja 0x140040c49
je 0x140040c18
cmp ebx, r14d
je 0x140040c0e
sub ebx, r13d
je 0x140040c02
sub ebx, r13d
je 0x140040bee
sub ebx, r13d
je 0x140040bd2
sub ebx, r13d
jne 0x14003ff40
mov r9, qword [rsp + 0x428]
mov r8, qword [rsp + 0x420]
mov rdx, qword [rsp + 0x418]
mov rcx, qword [rsp + 0x410]
call rsi
jmp 0x140040c10
mov r8, qword [rsp + 0x420]
mov rdx, qword [rsp + 0x418]
mov rcx, qword [rsp + 0x410]
call rsi
jmp 0x140040c10
mov rdx, qword [rsp + 0x418]
mov rcx, qword [rsp + 0x410]
call rsi
jmp 0x140040c10
mov rcx, qword [rsp + 0x410]
call rsi
jmp 0x140040c10
call rsi
mov rdi, rax
jmp 0x14003ff40
mov rax, qword [rsp + 0x430]
mov r9, qword [rsp + 0x428]
mov r8, qword [rsp + 0x420]
mov rdx, qword [rsp + 0x418]
mov rcx, qword [rsp + 0x410]
mov qword [rsp + 0x20], rax
call rsi
jmp 0x140040c10
sub ebx, 6
je 0x140040d2c
sub ebx, r13d
je 0x14003fff8
sub ebx, r13d
je 0x140040cd1
sub ebx, r13d
jne 0x14003ff40
mov rax, qword [rsp + 0x450]
mov r9, qword [rsp + 0x428]
mov r8, qword [rsp + 0x420]
mov rdx, qword [rsp + 0x418]
mov rcx, qword [rsp + 0x410]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x448]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x440]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x438]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x430]
mov qword [rsp + 0x20], rax
call rsi
jmp 0x140040c10
mov rax, qword [rsp + 0x448]
mov r9, qword [rsp + 0x428]
mov r8, qword [rsp + 0x420]
mov rdx, qword [rsp + 0x418]
mov rcx, qword [rsp + 0x410]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x440]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x438]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x430]
mov qword [rsp + 0x20], rax
call rsi
jmp 0x140040c10
mov rax, qword [rsp + 0x438]
mov r9, qword [rsp + 0x428]
mov r8, qword [rsp + 0x420]
mov rdx, qword [rsp + 0x418]
mov rcx, qword [rsp + 0x410]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x430]
mov qword [rsp + 0x20], rax
call rsi
jmp 0x140040c10
mov rax, qword [rsp + 0x458]
mov r9, qword [rsp + 0x428]
mov r8, qword [rsp + 0x420]
mov rdx, qword [rsp + 0x418]
mov rcx, qword [rsp + 0x410]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x450]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x448]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x440]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x438]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x430]
mov qword [rsp + 0x20], rax
call rsi
jmp 0x140040c10
cmp ebx, 0x10
ja 0x14004112a
je 0x140040092
sub ebx, 0xb
je 0x1400410a8
sub ebx, r13d
je 0x140041019
sub ebx, r13d
je 0x140040f7d
sub ebx, r13d
je 0x140040ed4
sub ebx, r13d
jne 0x14003ff40
mov rax, qword [rsp + 0x480]
mov r9, qword [rsp + 0x428]
mov r8, qword [rsp + 0x420]
mov rdx, qword [rsp + 0x418]
mov rcx, qword [rsp + 0x410]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x478]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x470]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x468]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x460]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x458]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x450]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x448]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x440]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x438]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x430]
mov qword [rsp + 0x20], rax
call rsi
jmp 0x140040c10
mov rax, qword [rsp + 0x478]
mov r9, qword [rsp + 0x428]
mov r8, qword [rsp + 0x420]
mov rdx, qword [rsp + 0x418]
mov rcx, qword [rsp + 0x410]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x470]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x468]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x460]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x458]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x450]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x448]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x440]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x438]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x430]
mov qword [rsp + 0x20], rax
call rsi
jmp 0x140040c10
mov rax, qword [rsp + 0x470]
mov r9, qword [rsp + 0x428]
mov r8, qword [rsp + 0x420]
mov rdx, qword [rsp + 0x418]
mov rcx, qword [rsp + 0x410]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x468]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x460]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x458]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x450]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x448]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x440]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x438]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x430]
mov qword [rsp + 0x20], rax
call rsi
jmp 0x140040c10
mov rax, qword [rsp + 0x468]
mov r9, qword [rsp + 0x428]
mov r8, qword [rsp + 0x420]
mov rdx, qword [rsp + 0x418]
mov rcx, qword [rsp + 0x410]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x460]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x458]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x450]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x448]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x440]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x438]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x430]
mov qword [rsp + 0x20], rax
call rsi
jmp 0x140040c10
mov rax, qword [rsp + 0x460]
mov r9, qword [rsp + 0x428]
mov r8, qword [rsp + 0x420]
mov rdx, qword [rsp + 0x418]
mov rcx, qword [rsp + 0x410]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x458]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x450]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x448]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x440]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x438]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x430]
mov qword [rsp + 0x20], rax
call rsi
jmp 0x140040c10
sub ebx, 0x11
je 0x140041427
sub ebx, r13d
je 0x140041344
sub ebx, r13d
je 0x140041251
sub ebx, r13d
jne 0x14003ff40
mov rax, qword [rsp + 0x4a8]
mov r9, qword [rsp + 0x428]
mov r8, qword [rsp + 0x420]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x4a0]
mov rdx, qword [rsp + 0x418]
mov rcx, qword [rsp + 0x410]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x498]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x490]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x488]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x480]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x478]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x470]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x468]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x460]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x458]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x450]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x448]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x440]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x438]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x430]
mov qword [rsp + 0x20], rax
call rsi
jmp 0x140040c10
mov rax, qword [rsp + 0x4a0]
mov r9, qword [rsp + 0x428]
mov r8, qword [rsp + 0x420]
mov rdx, qword [rsp + 0x418]
mov rcx, qword [rsp + 0x410]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x498]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x490]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x488]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x480]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x478]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x470]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x468]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x460]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x458]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x450]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x448]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x440]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x438]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x430]
mov qword [rsp + 0x20], rax
call rsi
jmp 0x140040c10
mov rax, qword [rsp + 0x498]
mov r9, qword [rsp + 0x428]
mov r8, qword [rsp + 0x420]
mov rdx, qword [rsp + 0x418]
mov rcx, qword [rsp + 0x410]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x490]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x488]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x480]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x478]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x470]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x468]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x460]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x458]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x450]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x448]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x440]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x438]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x430]
mov qword [rsp + 0x20], rax
call rsi
jmp 0x140040c10
mov rax, qword [rsp + 0x490]
mov r9, qword [rsp + 0x428]
mov r8, qword [rsp + 0x420]
mov rdx, qword [rsp + 0x418]
mov rcx, qword [rsp + 0x410]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x488]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x480]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x478]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x470]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x468]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x460]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x458]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x450]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x448]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x440]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x438]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x430]
mov qword [rsp + 0x20], rax
call rsi
jmp 0x140040c10
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, r14d
cmove eax, r13d
jmp 0x140041511
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov eax, eax
mov qword [rsp + 0x3b8], rax
cmp byte [rsp + 0x325], r14b
jle 0x14004153b
cmp byte [rsp + 0x398], r14b
jg 0x14004153b
cmp r15, r14
je 0x14004153b
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp r12b, r14b
je 0x140041562
call qword [0x140118608]
mov rax, qword [rsp + 0x1270]
lea rcx, [0x140118f08]
not r12b
and byte [rax + 0x12], r12b
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov bl, byte [rsp + 0x323]
mov al, byte [rsp + 0x326]
cmp al, r14b
jg 0x140041589
mov rcx, qword [rsp + 0x3a0]
call fcn.1400184f0
mov al, byte [rsp + 0x326]
cmp qword [rsp + 0x408], r14
je 0x140041598
cmp al, r14b
jg 0x14004159d
call fcn.14001c1f0
cmp bl, r14b
je 0x140041608
lea rcx, [rsp + 0x3a0]
call fcn.140052160
lea rcx, [rsp + 0x390]
call fcn.140052160
lea rcx, [rsp + 0x3c8]
call fcn.1400d6a34
lea rcx, [rsp + 0x3c8]
call fcn.140052160
mov rsi, rdi
lea rcx, [rsp + 0x7a8]
call fcn.140052160
lea rcx, [rsp + 0x368]
call fcn.140052160
lea rcx, [rsp + 0x400]
call fcn.140052160
mov rax, rsi
jmp 0x140041817
mov bl, byte [rsp + 0x320]
mov bpl, byte [rsp + 0x32a]
mov sil, byte [rsp + 0x321]
mov rdx, qword [rsp + 0x368]
cmp word [rdx], r14w
je 0x1400416a4
mov eax, 0x2a
cmp ax, word [rdx]
je 0x14004168a
cmp bpl, r14b
je 0x14004168a
cmp byte [rsp + 0x32b], r14b
lea rax, [0x1400ff498]
lea r8, [0x1400ff488]
cmovne r8, rax
cmp sil, r14b
je 0x14004166e
cmp bl, r14b
je 0x14004166e
cmp rdi, r14
jne 0x140041672
lea r8, [0x1400f9548]
jmp 0x140041672
add r8, 2
lea rcx, [rsp + 0x7b0]
mov rdx, rdi
call fcn.1400c90a4
mov rdx, qword [rsp + 0x368]
neg byte [rsp + 0x324]
sbb rax, rax
and rax, qword [rsp + 0x3b8]
mov qword [rsp + 0x3b8], rax
mov rax, qword [rsp + 0x3e8]
cmp rax, r14
je 0x1400416c1
mov rcx, rax
call fcn.140016560
mov rdx, qword [rsp + 0x368]
cmp word [rdx], r14w
je 0x14004170a
mov eax, 0x2a
cmp ax, word [rdx]
je 0x14004170a
cmp dword [rsp + 0x3f8], r14d
je 0x1400416f5
cmp rdi, r14
je 0x1400416f5
mov rcx, qword [rsp + 0x1270]
mov r8, rdx
mov rdx, rdi
call fcn.14003dac0
jmp 0x14004170a
mov rcx, qword [rsp + 0x1270]
lea r8, [rsp + 0x7b0]
call fcn.1400596c4
cmp dword [rsp + 0x3a8], r14d
jge 0x140041744
mov rbx, qword [rsp + 0x3c0]
mov rax, qword [rsp + rbx*8 + 0xee0]
cmp rax, r14
je 0x14004173e
lea rcx, [rsp + 0x3c0]
mov qword [rsp + 0x3c0], rax
call fcn.140052160
add rbx, 1
js 0x14004171c
lea rcx, [rsp + 0x3a0]
call fcn.140052160
lea rcx, [rsp + 0x390]
call fcn.140052160
lea rcx, [rsp + 0x3c8]
call fcn.1400d6a34
lea rcx, [rsp + 0x3c8]
call fcn.140052160
lea rcx, [rsp + 0x7a8]
call fcn.140052160
lea rcx, [rsp + 0x368]
call fcn.140052160
lea rcx, [rsp + 0x400]
call fcn.140052160
mov rax, qword [rsp + 0x3b8]
jmp 0x140041817
lea rcx, [rsp + 0x3a0]
call fcn.140052160
lea rcx, [rsp + 0x390]
call fcn.140052160
lea rcx, [rsp + 0x3c8]
call fcn.1400d6a34
lea rcx, [rsp + 0x3c8]
call fcn.140052160
lea rcx, [rsp + 0x7a8]
call fcn.140052160
lea rcx, [rsp + 0x368]
call fcn.140052160
lea rcx, [rsp + 0x400]
call fcn.140052160
neg byte [rsp + 0x328]
sbb rax, rax
not rax
and rax, 0xffffffff80070057
mov rbx, qword [rsp + 0x1288]
add rsp, 0x1230
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret