Function at 0x14003c910
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.1400f94b0
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.140066ba4
mov r12, qword [rsp + 0x1278]
or dword [rsp + 0x350], 0xffffffff
lea rcx, [rsp + 0x1278]
call fcn.140015848
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.14005bf04
lea rdx, [rsp + 0x1278]
lea rcx, [0x1400ffcc0]
mov r8d, edi
mov qword [rsp + 0x7a8], r14
mov word [rsp + 0x7b0], r14w
call fcn.14005e70c
cmp al, r14b
jne 0x14003ca35
mov al, r14b
cmp bl, r14b
je 0x14003ca38
mov al, dil
cmp bl, r14b
mov byte [rsp + 0x323], al
setne byte [rsp + 0x328]
cmp al, r14b
je 0x14003ca5f
mov byte [rsp + 0x327], r14b
mov byte [rsp + 0x326], dil
mov rdx, qword [rsp + 0x1278]
mov bl, 0x2a
cmp word [rdx], 0x2d
jne 0x14003ca71
mov bl, byte [rdx]
movzx eax, word [rdx]
movsx edi, bl
mov r13d, 5
cmp eax, edi
jne 0x14003d001
movzx eax, word [rdx + 2]
cmp eax, edi
jne 0x14003cfda
add rdx, 4
lea rcx, [0x140102144]
mov r8d, 1
mov qword [rsp + 0x1278], rdx
lea rdx, [rsp + 0x1278]
call fcn.14005e70c
cmp al, r14b
je 0x14003cacd
mov eax, 1
mov dword [rsp + 0x1280], eax
jmp 0x14003cfba
lea rdx, [rsp + 0x1278]
lea rcx, [0x140102140]
mov r8d, 2
call fcn.14005e70c
cmp al, r14b
je 0x14003cafd
mov eax, 1
mov byte [rsp + 0x327], al
jmp 0x14003cfba
lea rdx, [rsp + 0x1278]
lea rcx, [0x140100f14]
mov r8d, 3
call fcn.14005e70c
cmp al, r14b
je 0x14003cb29
mov byte [rsp + 0x327], r14b
jmp 0x14003cfba
lea rdx, [rsp + 0x1278]
lea rcx, str.nrcd
mov r8d, 4
call fcn.14005e70c
cmp al, r14b
je 0x14003cb55
mov byte [rsp + 0x326], 2
jmp 0x14003cfba
lea rdx, [rsp + 0x1278]
lea rcx, [0x140102134]
mov r8d, 3
call fcn.14005e70c
cmp al, r14b
je 0x14003cb81
mov byte [rsp + 0x326], r14b
jmp 0x14003cfba
lea rdx, [rsp + 0x1278]
lea rcx, [0x140102130]
mov r8d, 2
call fcn.14005e70c
cmp al, r14b
je 0x14003cbad
mov byte [rsp + 0x322], 1
jmp 0x14003cfba
lea rdx, [rsp + 0x1278]
lea rcx, [0x14010212c]
mov r8d, 3
call fcn.14005e70c
cmp al, r14b
je 0x14003cbd9
mov byte [rsp + 0x322], 0x23
jmp 0x14003cfba
lea rdx, [rsp + 0x1278]
lea rcx, [0x140102128]
mov r8d, 3
call fcn.14005e70c
cmp al, r14b
je 0x14003cc05
mov byte [rsp + 0x322], 0x2a
jmp 0x14003cfba
lea rdx, [rsp + 0x1278]
lea rcx, [0x140102124]
mov r8d, 3
call fcn.14005e70c
cmp al, r14b
je 0x14003cc31
mov byte [rsp + 0x322], 0x24
jmp 0x14003cfba
lea rdx, [rsp + 0x1278]
lea rcx, [0x140102120]
mov r8d, 3
call fcn.14005e70c
cmp al, r14b
je 0x14003cc5d
mov byte [rsp + 0x322], 0x40
jmp 0x14003cfba
lea rdx, [rsp + 0x1278]
lea rcx, [0x14010211c]
mov r8d, 3
call fcn.14005e70c
cmp al, r14b
je 0x14003cc89
mov byte [rsp + 0x322], 0x3d
jmp 0x14003cfba
lea rdx, [rsp + 0x1278]
lea rcx, [0x140102118]
mov r8d, 2
call fcn.14005e70c
cmp al, r14b
je 0x14003ccb6
mov eax, 1
mov dword [rsp + 0x388], eax
jmp 0x14003ccdd
lea rdx, [rsp + 0x1278]
lea rcx, [0x140102114]
mov r8d, 3
call fcn.14005e70c
cmp al, r14b
je 0x14003cce8
mov dword [rsp + 0x388], r14d
mov r13d, 5
jmp 0x14003cfba
lea rdx, [rsp + 0x1278]
lea rcx, [0x140102110]
mov r8d, 3
call fcn.14005e70c
cmp al, r14b
je 0x14003cd0f
mov sil, 1
jmp 0x14003cfba
lea rdx, [rsp + 0x1278]
lea rcx, [0x14010210c]
mov r8d, 3
call fcn.14005e70c
cmp al, r14b
je 0x14003cd3b
mov byte [rsp + 0x329], 1
jmp 0x14003cfba
lea rdx, [rsp + 0x1278]
lea rcx, [0x140101908]
mov r8d, 1
call fcn.14005e70c
cmp al, r14b
je 0x14003cd67
mov byte [rsp + 0x349], 1
jmp 0x14003cfba
lea rdx, [rsp + 0x1278]
lea rcx, [0x1400fd890]
mov r8d, 3
call fcn.14005e70c
cmp al, r14b
je 0x14003cd93
mov byte [rsp + 0x324], 1
jmp 0x14003cfba
lea rdx, [rsp + 0x1278]
lea rcx, [0x140102108]
mov r8d, 3
call fcn.14005e70c
cmp al, r14b
je 0x14003cdbf
mov byte [rsp + 0x32b], 1
jmp 0x14003cfba
lea rdx, [rsp + 0x1278]
lea rcx, str.bool
mov r8d, 4
call fcn.14005e70c
cmp al, r14b
je 0x14003cdeb
mov byte [rsp + 0x324], 2
jmp 0x14003cfba
mov rdx, qword [rsp + 0x1278]
lea rcx, str.sret:
mov r8d, r13d
call fcn.140055654
cmp al, r14b
je 0x14003ce15
mov r8, qword [rsp + 0x1278]
add r8, 2
jmp 0x14003ce40
mov rdx, qword [rsp + 0x1278]
lea rcx, [0x1401020f0]
mov r8d, 4
call fcn.140055654
cmp al, r14b
je 0x14003cef1
mov r8, qword [rsp + 0x1278]
add r8, 8
mov qword [rsp + 0x1278], r8
mov rdx, r8
movzx eax, word [r8]
cmp ax, r14w
je 0x14003ce89
mov ecx, 0x20
lea r9d, [rcx - 0x17]
cmp r9w, ax
ja 0x14003ce6e
cmp ax, 0xd
jbe 0x14003ce89
cmp cx, ax
je 0x14003ce89
add r8, 2
mov qword [rsp + 0x1278], r8
mov ax, word [r8]
cmp ax, r14w
jne 0x14003ce62
sub r8, rdx
lea rcx, [rsp + 0x368]
sar r8, 1
call fcn.14005c16c
lea rcx, [rsp + 0x1278]
call fcn.140015848
lea rdx, [rsp + 0x368]
xor r8d, r8d
mov rcx, rbp
call fcn.140003940
mov rdx, qword [rsp + 0x368]
lea rcx, [0x1400fd8b8]
mov r15b, 1
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
cmp eax, r14d
jne 0x14003cfba
mov rax, qword [rsp + 0x368]
mov r15b, 3
mov word [rax], r14w
jmp 0x14003cfba
lea rdx, [rsp + 0x1278]
lea rcx, [0x140100f20]
mov r8d, 1
call fcn.14005e70c
cmp al, r14b
je 0x14003cf1d
mov byte [rsp + 0x320], 1
jmp 0x14003cfba
mov rax, qword [rsp + 0x1278]
cmp bl, 0x2a
jne 0x14003cf73
movzx ecx, word [rax]
mov rdx, rax
cmp cx, r14w
je 0x14003cfad
mov r8d, 0x20
lea r9d, [r8 + 0xc]
lea r10d, [r8 - 0x17]
cmp r10w, cx
ja 0x14003cf50
cmp cx, 0xd
jbe 0x14003cf79
cmp r8w, cx
je 0x14003cf79
cmp r9w, cx
je 0x14003cfce
add rax, 2
mov qword [rsp + 0x1278], rax
mov cx, word [rax]
cmp cx, r14w
je 0x14003cfad
jmp 0x14003cf44
mov r10d, 9
movzx ecx, word [rax]
cmp cx, r14w
je 0x14003cfad
mov edx, 0x20
cmp r10w, cx
ja 0x14003cf93
cmp cx, 0xd
jbe 0x14003cfad
cmp dx, cx
je 0x14003cfad
add rax, 2
mov qword [rsp + 0x1278], rax
mov cx, word [rax]
cmp cx, r14w
jne 0x14003cf87
lea rcx, [rsp + 0x1278]
call fcn.140015848
mov rdx, qword [rsp + 0x1278]
movzx eax, word [rdx]
cmp eax, edi
jne 0x14003cfda
jmp 0x14003ca85
add rdx, 0xfffffffffffffffc
mov qword [rsp + 0x1278], rdx
cmp sil, r14b
je 0x14003d001
lea r9, [0x1400fc568]
xor r8d, r8d
mov rcx, rbp
mov dword [rsp + 0x20], 0xffffff9c
call fcn.1400bef2c
mov rsi, rax
jmp 0x140040029
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.1400dfee0
lea rcx, [rsp + 0x838]
xor edx, edx
mov r8d, 0x350
call fcn.1400dfee0
mov edi, 0x348
lea rcx, [rsp + 0xb98]
mov r8, rdi
xor edx, edx
call fcn.1400dfee0
lea rcx, [rsp + 0xee8]
mov r8, rdi
xor edx, edx
mov qword [rsp + 0xee0], r14
call fcn.1400dfee0
lea rcx, [rsp + 0x3c8]
call fcn.14005c3c8
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 0x14003d0ea
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 0x14003d11f
lea rcx, str._LoadLibrary
mov r8d, r12d
mov rdx, rbp
call fcn.140055654
cmp al, r14b
je 0x14003d11f
mov r14b, sil
xor r8d, r8d
mov byte [rsp + 0x321], r14b
cmp rbp, r8
je 0x14003d14f
lea rcx, str._GetProcAddress
mov r8d, 0xf
mov rdx, rbp
call fcn.140055654
xor r8d, r8d
mov r13b, sil
cmp al, r8b
jne 0x14003d152
mov r13b, r8b
cmp rbp, r8
je 0x14003d181
lea rcx, str._FreeLibrary
mov r8d, r12d
mov rdx, rbp
call fcn.140055654
xor r8d, r8d
cmp al, r8b
je 0x14003d181
lea ecx, [r8 + 1]
mov r12b, cl
mov byte [rsp + 0x325], cl
jmp 0x14003d191
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 0x14003d1bb
mov eax, 0x2a
cmp ax, word [rbp]
jne 0x14003d1bb
mov byte [rsp + 0x348], cl
jmp 0x14003d1e4
mov byte [rsp + 0x348], r8b
cmp byte [rsp + 0x323], r8b
jne 0x14003d1e4
cmp byte [rsp + 0x328], r8b
jne 0x14003d1e4
cmp r14b, r8b
jne 0x14003d1e4
mov r14b, cl
cmp r12b, r8b
je 0x14003d1e7
mov r14b, r8b
mov al, r13b
or al, byte [rsp + 0x321]
je 0x14003d1fb
or byte [rsp + 0x32b], 0x10
cmp byte [rsp + 0x329], r8b
jne 0x14003d2a2
cmp r14b, r8b
je 0x14003d2a2
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 0x14003d280
mov word [rax], bx
mov rax, qword [rsp + 0x358]
add rax, 2
cmp rdi, 2
mov qword [rsp + 0x358], rax
jl 0x14003d275
mov qword [rsp + rdi*8 + 0x830], rax
add rdi, rsi
add ebp, esi
cmp rdi, 0x6a
jl 0x14003d237
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 0x14003d2ea
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 0x14003d330
cmp sil, r8b
jne 0x14003d330
lea rcx, [rsp + 0x390]
call fcn.140054110
lea rcx, [rsp + 0x3c8]
call fcn.1400d8e34
lea rcx, [rsp + 0x3c8]
call fcn.140054110
mov rsi, 0xffffffff80070057
jmp 0x140040029
cmp rdx, r8
je 0x14003d34d
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 0x14003d378
cmp rbp, r8
je 0x14003d378
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 0x14003d3cb
cmp rdx, r8
je 0x14003d3cb
mov word [rsp + 0x20], r8w
lea rdx, [rsp + 0x340]
lea r8, [rsp + 0x368]
mov r9d, edi
mov rcx, rsi
call fcn.14004dbd4
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.14005bf78
xor r8d, r8d
cmp byte [rsp + 0x326], r8b
jg 0x14003d416
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 0x14003d44f
cmp rcx, r8
je 0x14003d44f
cmp r10w, word [rcx]
jne 0x14003d44f
cmp r11w, word [rcx + 2]
jne 0x14003d44f
lea r9d, [r10 - 0x5d]
mov eax, r9d
jmp 0x14003d458
mov eax, r8d
mov r9d, 1
cmp dl, r8b
je 0x14003d479
cmp rcx, r8
je 0x14003d479
cmp r10w, word [rcx]
jne 0x14003d479
cmp r11w, word [rcx + 2]
je 0x14003d479
mov dword [rsp + 0x3f8], r9d
jmp 0x14003d486
mov dword [rsp + 0x3f8], r8d
cmp eax, r8d
je 0x14003d492
add rcx, 2
mov qword [rsp + 0x340], rcx
movsxd rax, dword [rsp + 0x3a8]
mov qword [rsp + 0x3c0], rax
cmp dl, r8b
je 0x14003d517
cmp byte [rsp + 0x320], r8b
jne 0x14003d517
mov rax, qword [rsp + 0x368]
cmp word [rax], r8w
je 0x14003d505
cmp r11w, word [rax]
je 0x14003d505
cmp rcx, r8
je 0x14003d517
cmp r11w, word [rcx]
je 0x14003d517
mov rdx, rcx
lea rcx, [rsp + 0x327]
call fcn.140018680
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 0x14003ffb2
lea rcx, [rsp + 0x3a0]
call fcn.140054110
jmp 0x14003d2fd
cmp r13b, r8b
je 0x14003d606
mov bpl, r9b
cmp r11w, word [rcx]
jne 0x14003d535
add rcx, 2
mov qword [rsp + 0x340], rcx
mov bl, byte [rsp + 0x320]
mov edi, 0x23
cmp r11w, word [rcx]
je 0x14003d54c
cmp di, word [rcx]
jne 0x14003d55d
add rcx, 2
mov bl, r9b
mov qword [rsp + 0x340], rcx
jmp 0x14003d541
lea rdx, [rsp + 0x350]
lea rcx, [rsp + 0x340]
xor r14d, r14d
mov qword [rsp + 0x350], r14
call fcn.14006aa58
mov rdx, qword [rsp + 0x340]
mov rdi, r14
cmp rdx, r14
je 0x140040067
add rdx, 2
mov qword [rsp + 0x340], rdx
je 0x140040067
or rax, 0xffffffffffffffff
lea rcx, [rsp + 0x378]
mov qword [rsp + 0x378], r14
mov r9, rax
mov r8, rax
call fcn.14005be40
mov rcx, qword [rsp + 0x350]
cmp bl, r14b
je 0x14003d5e3
cmp rcx, r14
je 0x14003d5f4
mov rdx, qword [rsp + 0x378]
call fcn.1400166e4
jmp 0x14003d5f1
mov rdx, qword [rsp + 0x378]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
lea rcx, [rsp + 0x378]
call fcn.140054110
jmp 0x140040067
cmp r12b, r8b
je 0x14003d6a0
mov bpl, r9b
cmp r11w, word [rcx]
jne 0x14003d624
add rcx, 2
mov qword [rsp + 0x340], rcx
mov bl, byte [rsp + 0x320]
mov edi, 0x23
cmp r11w, word [rcx]
je 0x14003d63b
cmp di, word [rcx]
jne 0x14003d64c
add rcx, 2
mov bl, r9b
mov qword [rsp + 0x340], rcx
jmp 0x14003d630
lea rdx, [rsp + 0x398]
lea rcx, [rsp + 0x340]
xor r14d, r14d
mov qword [rsp + 0x398], r14
call fcn.14006aa58
mov rcx, qword [rsp + 0x398]
lea eax, [r14 + 1]
mov rdi, r14
cmp bl, al
jle 0x14003d692
cmp rcx, r14
je 0x140040067
call fcn.14001667c
jmp 0x140040067
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
movsxd rdi, eax
jmp 0x140040067
cmp byte [rsp + 0x370], r8b
movzx edx, r8b
mov r13d, 0x31
cmovne edx, r9d
mov dword [rsp + 0x398], edx
cmp rcx, r8
jne 0x14003d8c8
cmp rbp, r8
jne 0x14003d6dc
lea rbp, [0x14010209a]
mov qword [rsp + 0x378], rbp
jmp 0x14003d710
lea rcx, [0x14010209a]
mov rdx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
xor r8d, r8d
cmp eax, r8d
je 0x14003d710
lea rcx, [0x14010206a]
mov rdx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
xor r8d, r8d
cmp eax, r8d
jne 0x14003d8c8
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 0x14003d8c8
lea rcx, [rsp + 0x330]
call fcn.14005bf04
lea rdx, str.___exe:_
lea rcx, [rsp + 0x3e8]
mov r8, r12
call fcn.140066be4
lea rdx, [rsp + 0x3e8]
lea rcx, [rsp + 0x330]
call fcn.140066c70
lea rcx, [rsp + 0x3e8]
call fcn.140054110
lea rcx, [rsp + 0x330]
mov edx, 0x51c
call fcn.14005c004
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.140066be4
lea rcx, [rsp + 0x330]
mov rdx, qword [rax]
call fcn.14005c040
lea rcx, [rsp + 0x3c0]
call fcn.140054110
mov rax, qword [rsp + 0x350]
xor ebx, ebx
cmp eax, ebx
jl 0x14003d7fd
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.14005c040
lea rdx, [0x14010201c]
lea rcx, [rsp + 0x3c0]
mov r8, r12
call fcn.140066be4
lea rcx, [rsp + 0x330]
mov rdx, qword [rax]
call fcn.14005c040
lea rcx, [rsp + 0x3c0]
call fcn.140054110
lea rcx, [rsp + 0x330]
mov rdx, rbp
call fcn.14005c040
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.14000d04c
lea rcx, [rsp + 0x330]
mov rsi, rax
call fcn.140054110
lea rcx, [rsp + 0x3a0]
call fcn.140054110
lea rcx, [rsp + 0x390]
call fcn.140054110
lea rcx, [rsp + 0x3c8]
call fcn.1400d8e34
lea rcx, [rsp + 0x3c8]
call fcn.140054110
jmp 0x140040029
cmp rbp, r8
je 0x1400401f9
cmp word [rbp], r8w
je 0x1400401f9
mov r12b, byte [rsp + 0x329]
cmp r12b, r8b
jne 0x14003d9a9
cmp r14b, r8b
je 0x14003d9a9
mov r9, qword [rsp + 0x3e0]
cmp r9, r8
je 0x14003d9a9
mov esi, 2
lea r13, [rsp + 0xb90]
mov qword [rsp + 0x350], r8
cmp dword [rsp + 0x3a8], esi
jle 0x14003d997
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.140070858
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 0x14003d938
mov ebx, dword [rsp + 0x3b0]
mov rdi, qword [rsp + 0x3f0]
mov r12b, byte [rsp + 0x329]
lea rcx, [rsp + 0x350]
call fcn.140054110
xor r8d, r8d
jmp 0x14003d9b1
lea r13, [rsp + 0x830]
mov eax, 2
cmp r12b, r8b
jne 0x14003db55
cmp r14b, r8b
je 0x14003db55
xor r14d, r14d
cmp qword [r13 + 8], r14
je 0x14003db58
cmp byte [rsp + 0x338], r14b
je 0x14003d9e9
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 0x14003db3d
movzx ecx, word [rax]
mov r11d, 0x23
mov qword [r12], rax
mov dl, sil
cmp dil, r11b
je 0x14003dadd
lea r10d, [r11 + 7]
cmp dil, r10b
je 0x14003dc79
cmp dil, 0x24
je 0x14003ddd5
lea r13d, [r11 + 0x1d]
cmp dil, r13b
je 0x14003dc64
cmp dil, 0x3d
je 0x14003dc50
cmp dil, r8b
je 0x14003dac5
cmp dil, sil
je 0x14003dad7
add rax, 2
movzx ecx, cx
mov dl, 1
mov qword [rsp + 0x358], rax
cmp ecx, r11d
je 0x14003daef
cmp ecx, r10d
je 0x14003dc79
cmp ecx, 0x3d
je 0x14003dc50
cmp ecx, r13d
je 0x14003dc64
cmp ecx, r8d
jne 0x14003ddd5
mov r13w, r9w
cmp rax, rsi
je 0x14003ddd5
jmp 0x14003dd4d
cmp cx, r11w
jne 0x14003db18
cmp r11w, word [rax]
jne 0x14003daef
add rax, 2
mov qword [rsp + 0x358], rax
lea rdx, [rsp + 0x3e0]
lea rcx, [rsp + 0x358]
mov qword [rsp + 0x3e0], rsi
call fcn.14006ab44
mov r11, qword [rsp + 0x3e0]
mov qword [r12], r11
inc ebx
add r12, 8
cmp byte [rsp + 0x349], sil
jne 0x14003db3d
mov r8d, 0x7e
mov r9d, 0xfde9
cmp ebx, 0x64
jbe 0x14003da1e
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 0x14003dba2
lea eax, [r13 + 0x30]
cmp esi, r14d
lea rbp, [0x14010209a]
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 0x14003dbe0
mov eax, 0x71
cmp esi, r14d
lea rbp, [0x14010206a]
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 0x14003de33
cmp word [rdx + 2], r14w
jne 0x14003de33
lea rdx, [rsp + 0x408]
lea rcx, [rsp + 0x3e0]
mov qword [rsp + 0x3e0], rbp
call fcn.14006ab44
cmp qword [rsp + 0x408], r14
jne 0x14003de03
neg byte [rsp + 0x328]
sbb rdi, rdi
not rdi
and rdi, 0xffffffff80070057
jmp 0x140040109
mov rax, qword [r14]
movsx rcx, dl
lea rcx, [rax + rcx*2]
mov qword [r12], rcx
jmp 0x14003db18
mov r13d, esi
cmp rax, rsi
jne 0x14003dd4d
mov qword [r12], rsi
jmp 0x14003db18
cmp r10w, word [rax]
jne 0x14003dc8b
add rax, 2
mov qword [rsp + 0x358], rax
mov r13w, si
cmp r8w, word [rax]
jne 0x14003dca7
add rax, 2
mov r13w, r9w
mov qword [rsp + 0x358], rax
jmp 0x14003dcb5
mov ecx, 0x40
cmp cx, word [rax]
jne 0x14003dcb5
mov r13w, si
lea rcx, [rsp + 0x350]
call fcn.14005bf04
lea r8, [rsp + 0x350]
lea rdx, [rsp + 0x358]
mov r9d, 0x2c
mov rcx, rbp
mov word [rsp + 0x20], si
call fcn.14004dbd4
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.140016fb8
cmp rax, rsi
je 0x14003dd1c
mov rax, qword [rax + 8]
mov qword [rsp + 0x358], rax
jmp 0x14003dd24
mov rax, qword [rsp + 0x358]
cmp r13w, si
je 0x14003dded
cmp rax, rsi
je 0x14003ddde
cmp word [rax], si
je 0x14003dded
lea rcx, [rsp + 0x350]
call fcn.140054110
mov ecx, 8
call fcn.1400e01b8
mov rsi, rax
xor eax, eax
cmp rsi, rax
je 0x14003dd66
mov qword [rsi], rax
jmp 0x14003dd69
mov rsi, rax
mov rdx, qword [rsp + 0x358]
movzx r9d, r13w
or r8, 0xffffffffffffffff
mov rcx, rsi
call fcn.14005be40
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.14005c254
mov rax, qword [rsp + 0x358]
xor esi, esi
mov qword [r12], rax
jmp 0x14003db18
lea rax, [0x1400fc568]
mov qword [rsp + 0x358], rax
lea rcx, [rsp + 0x350]
mov qword [r12], rax
call fcn.140054110
jmp 0x14003db18
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 0x14003de58
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 0x14003de87
cmp ax, word [rdx]
mov rcx, rdx
cmove r12d, r13d
call fcn.140019e00
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 0x14003debc
lea rax, [rcx + 2]
cmp r8w, word [rax]
jne 0x14003debc
mov qword [rsp + 0x380], rax
mov rcx, rax
cmp r8w, word [rax]
je 0x14003dea1
mov r10d, 9
cmp r8w, word [rcx]
jne 0x14003dede
movzx eax, word [rcx + 2]
sub ax, 0x30
cmp ax, r10w
jbe 0x14003dede
or byte [rsp + 0x320], 2
mov r9d, 0x2e
cmp r8w, word [rcx]
jne 0x14003df65
lea r8, [rcx + 2]
movzx eax, word [r8]
sub ax, 0x30
cmp ax, r10w
ja 0x14003df65
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.14006aa58
cmp eax, r14d
jle 0x14003d505
mov r15, qword [rsp + 0x3f0]
mov qword [rsp + 0x330], r15
cmp r15, r14
je 0x14003d505
mov rdx, qword [rsp + 0x1278]
mov rcx, qword [rsp + 0x380]
mov r9d, 0x2e
jmp 0x14003df76
cmp word [rcx], r14w
jne 0x14003df7b
mov rcx, r14
mov qword [rsp + 0x380], rcx
cmp r13b, r14b
jne 0x14003df94
cmp rcx, r14
je 0x14003df94
cmp word [rcx], r9w
jne 0x14003df94
cmp word [rcx + 2], r14w
jne 0x14003df94
mov r14b, 1
xor eax, eax
jmp 0x14003df9f
xor eax, eax
cmp r13b, al
jne 0x14003e033
cmp byte [rsp + 0x348], al
je 0x14003e033
cmp byte [rsp + 0x320], al
jne 0x14003e033
cmp r14b, al
je 0x14003dfc3
mov rax, qword [0x14011a9a0]
jmp 0x14003dfd1
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rdx, qword [rsp + 0x1278]
xor r14d, r14d
cmp rax, r14
jne 0x14003e019
lea rcx, [rsp + 0x327]
call fcn.140018680
mov rcx, qword [rsp + 0x1278]
lea r13d, [r14 + 1]
mov bl, r13b
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp rax, r14
jne 0x14003e022
cmp byte [rsp + 0x328], r14b
je 0x14003e00f
mov eax, r14d
jmp 0x14003e015
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
jmp 0x14003e025
mov bl, r14b
mov r13d, 1
mov rdi, r14
cmp bl, r13b
je 0x14003ffb2
jmp 0x14003fff2
lea rcx, [rsp + 0x327]
call fcn.140018680
xor edx, edx
cmp rsi, rdx
jne 0x14003e79d
mov al, byte [rsp + 0x320]
mov r9, qword [rsp + 0x380]
mov ecx, 0xffdf
cmp al, dl
jne 0x14003e0a8
cmp r15, rdx
jne 0x14003e0a8
cmp byte [rsp + 0x398], dl
jne 0x14003e0a8
cmp r9, rdx
je 0x14003e0a0
lea r8d, [rdx + 0x2e]
cmp word [r9], r8w
jne 0x14003e4f6
cmp word [r9 + 2], dx
jne 0x14003e4f6
mov r15, qword [0x14011a9a0]
mov qword [rsp + 0x330], r15
jmp 0x14003e0b1
mov byte [rsp + 0x398], 2
cmp r9, rdx
je 0x14003e5a7
cmp r15, rdx
jne 0x14003e5bb
cmp al, dl
je 0x14003e4f6
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 0x14003e11a
lea r8d, [r14 + 0x23]
cmp r8w, word [r9]
jne 0x14003e11a
movzx eax, word [r9 + 2]
lea edx, [r14 + 9]
sub ax, 0x30
cmp ax, dx
ja 0x14003e11a
mov r11, qword [rsp + 0x1278]
jmp 0x14003e1ad
mov r12d, 0x2a
cmp r12w, r10w
jne 0x14003e13d
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 0x14003e19d
add r9, 2
lea rcx, [rsp + 0x330]
mov qword [rsp + 0x380], r9
mov qword [rsp + 0x330], r9
call fcn.140066ae0
mov rcx, qword [rsp + 0x330]
cmp word [rcx], r14w
je 0x14003e19d
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 0x14003e2c0
mov r8d, 0x23
mov r10, qword [0x14011adf0]
mov r13, r14
jmp 0x14003e1cb
cmp r8w, ax
je 0x14003e1d4
add rcx, 2
mov qword [rsp + 0x330], rcx
movzx eax, word [rcx]
cmp ax, r14w
jne 0x14003e1b9
mov rax, rcx
cmp word [rcx], r14w
je 0x14003e20d
mov edx, 0x7c
cmp dx, word [rax]
je 0x14003e1fd
mov edx, 0x3a
cmp dx, word [rax]
je 0x14003e1fd
add rax, 2
cmp word [rax], r14w
jne 0x14003e1dd
jmp 0x14003e20d
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 0x14003e2d0
mov word [rcx], r14w
cmp r11, r14
je 0x14003e233
mov word [r11], r14w
mov rcx, qword [rsp + 0x380]
mov eax, 0x2e
cmp ax, word [rcx]
jne 0x14003e261
lea rax, [rcx + 2]
cmp word [rax], r14w
jne 0x14003e261
mov r10, qword [0x14011a9a0]
mov rcx, rax
mov qword [rsp + 0x380], rax
cmp word [rcx], r14w
je 0x14003e27f
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 0x14003e2b0
mov rdx, qword [rsp + 0x330]
lea r9, [rsp + 0x790]
mov r8, r12
mov rcx, r10
mov qword [rsp + 0x20], r14
call fcn.14001caec
cmp r13, r14
je 0x14003e2d0
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x14003e2d0
lea rdx, [rsp + 0x790]
mov rcx, r9
call fcn.14001c340
mov r12, qword [rsp + 0x790]
mov r13d, dword [rsp + 0x798]
cmp r12, r14
jne 0x14003e382
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.140054110
cmp bl, r14b
je 0x14003ffb9
mov bl, byte [rsp + 0x325]
cmp byte [rsp + 0x328], r14b
jne 0x14003d88f
cmp rsi, r14
je 0x14003e35d
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.14005b584
cmp bl, 2
jmp 0x14003e028
lea rcx, [rsp + 0x390]
mov edx, 0x48
call fcn.140016ea0
mov r11, rax
cmp rax, r14
je 0x14003e3b7
mov rcx, rax
call fcn.140016e84
lea rcx, [0x1400ff720]
mov qword [r11], rcx
lea rcx, [r11 + 8]
call fcn.14001665c
lea r14, [r11 + 8]
mov r8, r13
mov rdx, r12
mov rcx, r14
mov qword [rsp + 0x3e8], r14
call fcn.140028978
xor ecx, ecx
cmp rax, rcx
je 0x14003e4be
mov sil, byte [rsp + 0x321]
cmp sil, cl
je 0x14003e472
mov r8, qword [rsp + 0x340]
cmp r8, rcx
je 0x14003e400
cmp word [r8], cx
jne 0x14003e412
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 0x14003e456
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.14003c2a0
xor r14d, r14d
mov qword [rsp + 0x3e8], r14
jmp 0x14003e459
xor r14d, r14d
lea rcx, [rsp + 0x790]
call fcn.140054110
mov bl, byte [rsp + 0x320]
jmp 0x14004006f
or rax, 0xffffffffffffffff
mov qword [rsp + 0x350], rcx
lea rcx, [rsp + 0x350]
mov r9, rax
mov r8, rax
mov rdx, rbp
call fcn.14005be40
mov rdx, qword [rsp + 0x350]
mov rcx, r14
call fcn.1400166e4
lea rcx, [rsp + 0x350]
mov rsi, rax
call fcn.140054110
xor r14d, r14d
cmp rsi, r14
jne 0x14003e4e4
jmp 0x14003e4c1
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.140054110
jmp 0x14003e7a0
movzx eax, word [r9]
and ax, cx
mov ecx, 0x4b
cmp cx, ax
jne 0x14003e52e
lea rdx, [0x140101ff0]
mov rcx, r9
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
xor edx, edx
cmp eax, edx
jne 0x14003e526
mov r15, qword [0x14011ae50]
jmp 0x14003e58d
mov r9, qword [rsp + 0x380]
movzx eax, word [r9]
mov ecx, 0xffdf
and ax, cx
mov ecx, 0x55
cmp cx, ax
jne 0x14003e56b
lea rdx, str.user32.DLL
mov rcx, r9
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
xor edx, edx
cmp eax, edx
jne 0x14003e563
mov r15, qword [0x14011ae48]
jmp 0x14003e58d
mov r9, qword [rsp + 0x380]
cmp r14b, dl
je 0x14003e579
mov r15, qword [0x14011a9a0]
jmp 0x14003e58d
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 0x14003e5be
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
jmp 0x14003e5aa
xor r14d, r14d
cmp r15, r14
jne 0x14003e5be
mov bl, byte [rsp + 0x323]
jmp 0x14003e322
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.14005be40
mov rdx, qword [rsp + 0x3b0]
mov rcx, r15
test r13b, 2
je 0x14003e5f8
call fcn.1400166e4
jmp 0x14003e5fe
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
cmp rax, r14
jne 0x14003e790
cmp byte [rsp + 0x329], r14b
je 0x14003e788
cmp byte [rsp + 0x322], r14b
jne 0x14003e788
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 0x14003e77d
mov eax, 0x57
cmp cx, ax
je 0x14003e77d
lea ecx, [rax - 0x4f]
call fcn.1400e01b8
mov rsi, rax
xor eax, eax
cmp rsi, rax
je 0x14003e689
lea ecx, [r14 + 2]
movsxd rdx, ecx
mov rcx, rsi
call fcn.14005bf78
xor r14d, r14d
jmp 0x14003e68f
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.14005c254
mov rcx, qword [rsi]
mov r8, r12
mov rdx, rbp
call fcn.14001b870
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 0x14003e70f
call fcn.1400166e4
jmp 0x14003e715
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
cmp rax, r14
jne 0x14003e790
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.14005be40
mov rdx, qword [rsp + 0x378]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [rsp + 0x378]
mov rsi, rax
call fcn.140054110
cmp rsi, r14
je 0x14003e788
mov eax, 0x40
mov byte [rsp + 0x322], al
jmp 0x14003e790
mov r15, qword [rsp + 0x330]
xor r14d, r14d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
lea rcx, [rsp + 0x3b0]
jmp 0x14003e4ec
xor r14d, r14d
cmp byte [rsp + 0x323], r14b
je 0x14003e7e5
mov bl, byte [rsp + 0x325]
mov eax, 1
cmp bl, al
jne 0x14003e332
cmp byte [rsp + 0x398], r14b
jg 0x14003e332
cmp r15, r14
je 0x14003e332
mov rcx, r15
mov bl, 2
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x14003e332
mov r12b, r14b
cmp rsi, r14
je 0x14003e98a
mov r13d, dword [rsp + 0x388]
test r13b, 7
je 0x14003e86a
call fcn.14005a678
cmp r13d, r14d
je 0x14003e86a
cmp qword [0x14011b600], r14
je 0x14003e86a
cmp qword [0x14011b608], r14
je 0x14003e86a
lea rcx, [0x14011bf08]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r13, qword [rsp + 0x1270]
mov al, byte [r13 + 0x12]
test al, 2
jne 0x14003e85b
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 [0x14011b600]
jmp 0x14003e872
lea rcx, [0x14011bf08]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x14003e872
mov r13, qword [rsp + 0x1270]
cmp byte [rsp + 0x324], r14b
je 0x14003e884
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
cmp byte [rsp + 0x329], r14b
je 0x14003e9c7
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 0x14003e8f2
mov rdx, qword [rsp + 0x340]
cmp rdx, r14
je 0x14003e8ff
or rax, 0xffffffffffffffff
lea rcx, [rsp + 0x388]
mov r9, rax
mov r8, rax
call fcn.14005be40
mov r11, qword [rsp + 0x388]
mov qword [rsp + 0x340], r11
jmp 0x14003e8fa
mov r11, qword [rsp + 0x340]
cmp r11, r14
jne 0x14003e90f
lea rax, [rsp + 0x1280]
mov qword [rsp + 0x340], rax
mov rbx, qword [0x14011adf0]
xor edx, edx
mov rcx, r13
call fcn.14001938c
cmp rbp, r14
je 0x14003e959
lea rcx, str.InstallHinfSection
mov r8d, 0x12
mov rdx, rbp
call fcn.140055654
cmp al, r14b
je 0x14003e959
cmp word [rbp + 0x24], r14w
je 0x14003e951
mov word [rbp + 0x24], di
cmp word [rbp + 0x26], r14w
jne 0x14003e959
mov rbp, r14
mov rbx, r14
jmp 0x14003e95e
mov ebp, 5
mov rcx, qword [r13 + 0x40]
call fcn.1400544ac
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.140054110
mov r13d, 1
mov bl, byte [rsp + 0x324]
mov qword [rsp + 0x3b8], rdi
cmp bl, r14b
je 0x14003ff69
cmp bl, 2
jne 0x14003ff59
cmp edi, r13d
jne 0x14003ff4a
mov qword [rsp + 0x3b8], r14
jmp 0x14003ff69
mov r13d, 1
cmp dword [rsp + 0x1280], r13d
jne 0x14003f5b2
cmp ebx, 0x64
setbe al
mov byte [rsp + 0x32a], al
cmp ebx, 0x10
ja 0x14003eba5
cmp ebx, 8
ja 0x14003ea96
je 0x14003f721
cmp ebx, r14d
je 0x14003f65e
sub ebx, r13d
je 0x14003f652
sub ebx, r13d
je 0x14003f63e
sub ebx, r13d
je 0x14003f622
sub ebx, r13d
je 0x14003f5fe
sub ebx, r13d
je 0x14003f668
sub ebx, r13d
je 0x14003f77c
sub ebx, r13d
jne 0x14003e990
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 0x14003f660
mov eax, 9
sub ebx, eax
je 0x14003f6b9
sub ebx, r13d
je 0x14003f7bd
sub ebx, r13d
je 0x14003faf8
sub ebx, r13d
je 0x14003fa69
sub ebx, r13d
je 0x14003f9cd
sub ebx, r13d
je 0x14003f924
sub ebx, r13d
je 0x14003f86e
sub ebx, r13d
jne 0x14003e990
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 0x14003f660
cmp ebx, 0x14
jbe 0x14003fb9e
cmp ebx, 0x1e
ja 0x14003ed5a
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 0x14003f660
cmp ebx, 0x28
ja 0x14003efa6
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 0x14003f660
cmp ebx, 0x64
ja 0x14003e990
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 0x14003f660
cmp ebx, 0x14
setbe al
mov byte [rsp + 0x32a], al
cmp ebx, 0xa
ja 0x14003f832
je 0x14003f7bd
mov ebp, 5
cmp ebx, ebp
ja 0x14003f699
je 0x14003f668
cmp ebx, r14d
je 0x14003f65e
sub ebx, r13d
je 0x14003f652
sub ebx, r13d
je 0x14003f63e
sub ebx, r13d
je 0x14003f622
sub ebx, r13d
jne 0x14003e990
mov r9, qword [rsp + 0x428]
mov r8, qword [rsp + 0x420]
mov rdx, qword [rsp + 0x418]
mov rcx, qword [rsp + 0x410]
call rsi
jmp 0x14003f660
mov r8, qword [rsp + 0x420]
mov rdx, qword [rsp + 0x418]
mov rcx, qword [rsp + 0x410]
call rsi
jmp 0x14003f660
mov rdx, qword [rsp + 0x418]
mov rcx, qword [rsp + 0x410]
call rsi
jmp 0x14003f660
mov rcx, qword [rsp + 0x410]
call rsi
jmp 0x14003f660
call rsi
mov rdi, rax
jmp 0x14003e990
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 0x14003f660
sub ebx, 6
je 0x14003f77c
sub ebx, r13d
je 0x14003ea48
sub ebx, r13d
je 0x14003f721
sub ebx, r13d
jne 0x14003e990
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 0x14003f660
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 0x14003f660
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 0x14003f660
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 0x14003f660
cmp ebx, 0x10
ja 0x14003fb7a
je 0x14003eae2
sub ebx, 0xb
je 0x14003faf8
sub ebx, r13d
je 0x14003fa69
sub ebx, r13d
je 0x14003f9cd
sub ebx, r13d
je 0x14003f924
sub ebx, r13d
jne 0x14003e990
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 0x14003f660
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 0x14003f660
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 0x14003f660
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 0x14003f660
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 0x14003f660
sub ebx, 0x11
je 0x14003fe77
sub ebx, r13d
je 0x14003fd94
sub ebx, r13d
je 0x14003fca1
sub ebx, r13d
jne 0x14003e990
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 0x14003f660
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 0x14003f660
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 0x14003f660
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 0x14003f660
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, r14d
cmove eax, r13d
jmp 0x14003ff61
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov eax, eax
mov qword [rsp + 0x3b8], rax
cmp byte [rsp + 0x325], r14b
jle 0x14003ff8b
cmp byte [rsp + 0x398], r14b
jg 0x14003ff8b
cmp r15, r14
je 0x14003ff8b
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp r12b, r14b
je 0x14003ffb2
call qword [0x14011b608]
mov rax, qword [rsp + 0x1270]
lea rcx, [0x14011bf08]
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 0x14003ffd9
mov rcx, qword [rsp + 0x3a0]
call fcn.14001862c
mov al, byte [rsp + 0x326]
cmp qword [rsp + 0x408], r14
je 0x14003ffe8
cmp al, r14b
jg 0x14003ffed
call fcn.14001c3c8
cmp bl, r14b
je 0x140040058
lea rcx, [rsp + 0x3a0]
call fcn.140054110
lea rcx, [rsp + 0x390]
call fcn.140054110
lea rcx, [rsp + 0x3c8]
call fcn.1400d8e34
lea rcx, [rsp + 0x3c8]
call fcn.140054110
mov rsi, rdi
lea rcx, [rsp + 0x7a8]
call fcn.140054110
lea rcx, [rsp + 0x368]
call fcn.140054110
lea rcx, [rsp + 0x400]
call fcn.140054110
mov rax, rsi
jmp 0x140040267
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 0x1400400f4
mov eax, 0x2a
cmp ax, word [rdx]
je 0x1400400da
cmp bpl, r14b
je 0x1400400da
cmp byte [rsp + 0x32b], r14b
lea rax, [0x140101fc8]
lea r8, [0x140101fb8]
cmovne r8, rax
cmp sil, r14b
je 0x1400400be
cmp bl, r14b
je 0x1400400be
cmp rdi, r14
jne 0x1400400c2
lea r8, [0x1400fc568]
jmp 0x1400400c2
add r8, 2
lea rcx, [rsp + 0x7b0]
mov rdx, rdi
call fcn.1400cb458
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 0x140040111
mov rcx, rax
call fcn.14001667c
mov rdx, qword [rsp + 0x368]
cmp word [rdx], r14w
je 0x14004015a
mov eax, 0x2a
cmp ax, word [rdx]
je 0x14004015a
cmp dword [rsp + 0x3f8], r14d
je 0x140040145
cmp rdi, r14
je 0x140040145
mov rcx, qword [rsp + 0x1270]
mov r8, rdx
mov rdx, rdi
call fcn.14003c42c
jmp 0x14004015a
mov rcx, qword [rsp + 0x1270]
lea r8, [rsp + 0x7b0]
call fcn.14005b584
cmp dword [rsp + 0x3a8], r14d
jge 0x140040194
mov rbx, qword [rsp + 0x3c0]
mov rax, qword [rsp + rbx*8 + 0xee0]
cmp rax, r14
je 0x14004018e
lea rcx, [rsp + 0x3c0]
mov qword [rsp + 0x3c0], rax
call fcn.140054110
add rbx, 1
js 0x14004016c
lea rcx, [rsp + 0x3a0]
call fcn.140054110
lea rcx, [rsp + 0x390]
call fcn.140054110
lea rcx, [rsp + 0x3c8]
call fcn.1400d8e34
lea rcx, [rsp + 0x3c8]
call fcn.140054110
lea rcx, [rsp + 0x7a8]
call fcn.140054110
lea rcx, [rsp + 0x368]
call fcn.140054110
lea rcx, [rsp + 0x400]
call fcn.140054110
mov rax, qword [rsp + 0x3b8]
jmp 0x140040267
lea rcx, [rsp + 0x3a0]
call fcn.140054110
lea rcx, [rsp + 0x390]
call fcn.140054110
lea rcx, [rsp + 0x3c8]
call fcn.1400d8e34
lea rcx, [rsp + 0x3c8]
call fcn.140054110
lea rcx, [rsp + 0x7a8]
call fcn.140054110
lea rcx, [rsp + 0x368]
call fcn.140054110
lea rcx, [rsp + 0x400]
call fcn.140054110
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