Function at 0x14003d294
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.1400fac70
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.1400671f0
mov r12, qword [rsp + 0x1278]
or dword [rsp + 0x350], 0xffffffff
lea rcx, [rsp + 0x1278]
call fcn.140015d64
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.14005c96c
lea rdx, [rsp + 0x1278]
lea rcx, [0x140100ec0]
mov r8d, edi
mov qword [rsp + 0x7a8], r14
mov word [rsp + 0x7b0], r14w
call fcn.14005f144
cmp al, r14b
jne 0x14003d3b9
mov al, r14b
cmp bl, r14b
je 0x14003d3bc
mov al, dil
cmp bl, r14b
mov byte [rsp + 0x323], al
setne byte [rsp + 0x328]
cmp al, r14b
je 0x14003d3e3
mov byte [rsp + 0x327], r14b
mov byte [rsp + 0x326], dil
mov rdx, qword [rsp + 0x1278]
mov bl, 0x2a
cmp word [rdx], 0x2d
jne 0x14003d3f5
mov bl, byte [rdx]
movzx eax, word [rdx]
movsx edi, bl
mov r13d, 5
cmp eax, edi
jne 0x14003d985
movzx eax, word [rdx + 2]
cmp eax, edi
jne 0x14003d95e
add rdx, 4
lea rcx, [0x1401033d4]
mov r8d, 1
mov qword [rsp + 0x1278], rdx
lea rdx, [rsp + 0x1278]
call fcn.14005f144
cmp al, r14b
je 0x14003d451
mov eax, 1
mov dword [rsp + 0x1280], eax
jmp 0x14003d93e
lea rdx, [rsp + 0x1278]
lea rcx, [0x1401033d0]
mov r8d, 2
call fcn.14005f144
cmp al, r14b
je 0x14003d481
mov eax, 1
mov byte [rsp + 0x327], al
jmp 0x14003d93e
lea rdx, [rsp + 0x1278]
lea rcx, [0x140102164]
mov r8d, 3
call fcn.14005f144
cmp al, r14b
je 0x14003d4ad
mov byte [rsp + 0x327], r14b
jmp 0x14003d93e
lea rdx, [rsp + 0x1278]
lea rcx, str.nrcd
mov r8d, 4
call fcn.14005f144
cmp al, r14b
je 0x14003d4d9
mov byte [rsp + 0x326], 2
jmp 0x14003d93e
lea rdx, [rsp + 0x1278]
lea rcx, [0x1401033c4]
mov r8d, 3
call fcn.14005f144
cmp al, r14b
je 0x14003d505
mov byte [rsp + 0x326], r14b
jmp 0x14003d93e
lea rdx, [rsp + 0x1278]
lea rcx, [0x1401033c0]
mov r8d, 2
call fcn.14005f144
cmp al, r14b
je 0x14003d531
mov byte [rsp + 0x322], 1
jmp 0x14003d93e
lea rdx, [rsp + 0x1278]
lea rcx, [0x1401033bc]
mov r8d, 3
call fcn.14005f144
cmp al, r14b
je 0x14003d55d
mov byte [rsp + 0x322], 0x23
jmp 0x14003d93e
lea rdx, [rsp + 0x1278]
lea rcx, [0x1401033b8]
mov r8d, 3
call fcn.14005f144
cmp al, r14b
je 0x14003d589
mov byte [rsp + 0x322], 0x2a
jmp 0x14003d93e
lea rdx, [rsp + 0x1278]
lea rcx, [0x1401033b4]
mov r8d, 3
call fcn.14005f144
cmp al, r14b
je 0x14003d5b5
mov byte [rsp + 0x322], 0x24
jmp 0x14003d93e
lea rdx, [rsp + 0x1278]
lea rcx, [0x1401033b0]
mov r8d, 3
call fcn.14005f144
cmp al, r14b
je 0x14003d5e1
mov byte [rsp + 0x322], 0x40
jmp 0x14003d93e
lea rdx, [rsp + 0x1278]
lea rcx, [0x1401033ac]
mov r8d, 3
call fcn.14005f144
cmp al, r14b
je 0x14003d60d
mov byte [rsp + 0x322], 0x3d
jmp 0x14003d93e
lea rdx, [rsp + 0x1278]
lea rcx, [0x1401033a8]
mov r8d, 2
call fcn.14005f144
cmp al, r14b
je 0x14003d63a
mov eax, 1
mov dword [rsp + 0x388], eax
jmp 0x14003d661
lea rdx, [rsp + 0x1278]
lea rcx, [0x1401033a4]
mov r8d, 3
call fcn.14005f144
cmp al, r14b
je 0x14003d66c
mov dword [rsp + 0x388], r14d
mov r13d, 5
jmp 0x14003d93e
lea rdx, [rsp + 0x1278]
lea rcx, [0x1401033a0]
mov r8d, 3
call fcn.14005f144
cmp al, r14b
je 0x14003d693
mov sil, 1
jmp 0x14003d93e
lea rdx, [rsp + 0x1278]
lea rcx, [0x14010339c]
mov r8d, 3
call fcn.14005f144
cmp al, r14b
je 0x14003d6bf
mov byte [rsp + 0x329], 1
jmp 0x14003d93e
lea rdx, [rsp + 0x1278]
lea rcx, [0x140102b58]
mov r8d, 1
call fcn.14005f144
cmp al, r14b
je 0x14003d6eb
mov byte [rsp + 0x349], 1
jmp 0x14003d93e
lea rdx, [rsp + 0x1278]
lea rcx, [0x1400fe9d8]
mov r8d, 3
call fcn.14005f144
cmp al, r14b
je 0x14003d717
mov byte [rsp + 0x324], 1
jmp 0x14003d93e
lea rdx, [rsp + 0x1278]
lea rcx, [0x140103398]
mov r8d, 3
call fcn.14005f144
cmp al, r14b
je 0x14003d743
mov byte [rsp + 0x32b], 1
jmp 0x14003d93e
lea rdx, [rsp + 0x1278]
lea rcx, str.bool
mov r8d, 4
call fcn.14005f144
cmp al, r14b
je 0x14003d76f
mov byte [rsp + 0x324], 2
jmp 0x14003d93e
mov rdx, qword [rsp + 0x1278]
lea rcx, str.sret:
mov r8d, r13d
call fcn.14005615c
cmp al, r14b
je 0x14003d799
mov r8, qword [rsp + 0x1278]
add r8, 2
jmp 0x14003d7c4
mov rdx, qword [rsp + 0x1278]
lea rcx, [0x140103380]
mov r8d, 4
call fcn.14005615c
cmp al, r14b
je 0x14003d875
mov r8, qword [rsp + 0x1278]
add r8, 8
mov qword [rsp + 0x1278], r8
mov rdx, r8
movzx eax, word [r8]
cmp ax, r14w
je 0x14003d80d
mov ecx, 0x20
lea r9d, [rcx - 0x17]
cmp r9w, ax
ja 0x14003d7f2
cmp ax, 0xd
jbe 0x14003d80d
cmp cx, ax
je 0x14003d80d
add r8, 2
mov qword [rsp + 0x1278], r8
mov ax, word [r8]
cmp ax, r14w
jne 0x14003d7e6
sub r8, rdx
lea rcx, [rsp + 0x368]
sar r8, 1
call fcn.14005cbd4
lea rcx, [rsp + 0x1278]
call fcn.140015d64
lea rdx, [rsp + 0x368]
xor r8d, r8d
mov rcx, rbp
call fcn.14000396c
mov rdx, qword [rsp + 0x368]
lea rcx, [0x1400fea00]
mov r15b, 1
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
cmp eax, r14d
jne 0x14003d93e
mov rax, qword [rsp + 0x368]
mov r15b, 3
mov word [rax], r14w
jmp 0x14003d93e
lea rdx, [rsp + 0x1278]
lea rcx, [0x140102170]
mov r8d, 1
call fcn.14005f144
cmp al, r14b
je 0x14003d8a1
mov byte [rsp + 0x320], 1
jmp 0x14003d93e
mov rax, qword [rsp + 0x1278]
cmp bl, 0x2a
jne 0x14003d8f7
movzx ecx, word [rax]
mov rdx, rax
cmp cx, r14w
je 0x14003d931
mov r8d, 0x20
lea r9d, [r8 + 0xc]
lea r10d, [r8 - 0x17]
cmp r10w, cx
ja 0x14003d8d4
cmp cx, 0xd
jbe 0x14003d8fd
cmp r8w, cx
je 0x14003d8fd
cmp r9w, cx
je 0x14003d952
add rax, 2
mov qword [rsp + 0x1278], rax
mov cx, word [rax]
cmp cx, r14w
je 0x14003d931
jmp 0x14003d8c8
mov r10d, 9
movzx ecx, word [rax]
cmp cx, r14w
je 0x14003d931
mov edx, 0x20
cmp r10w, cx
ja 0x14003d917
cmp cx, 0xd
jbe 0x14003d931
cmp dx, cx
je 0x14003d931
add rax, 2
mov qword [rsp + 0x1278], rax
mov cx, word [rax]
cmp cx, r14w
jne 0x14003d90b
lea rcx, [rsp + 0x1278]
call fcn.140015d64
mov rdx, qword [rsp + 0x1278]
movzx eax, word [rdx]
cmp eax, edi
jne 0x14003d95e
jmp 0x14003d409
add rdx, 0xfffffffffffffffc
mov qword [rsp + 0x1278], rdx
cmp sil, r14b
je 0x14003d985
lea r9, [0x1400fd538]
xor r8d, r8d
mov rcx, rbp
mov dword [rsp + 0x20], 0xffffff9c
call fcn.1400c098c
mov rsi, rax
jmp 0x140040a14
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.1400e16a0
lea rcx, [rsp + 0x838]
xor edx, edx
mov r8d, 0x350
call fcn.1400e16a0
mov edi, 0x348
lea rcx, [rsp + 0xb98]
mov r8, rdi
xor edx, edx
call fcn.1400e16a0
lea rcx, [rsp + 0xee8]
mov r8, rdi
xor edx, edx
mov qword [rsp + 0xee0], r14
call fcn.1400e16a0
lea rcx, [rsp + 0x3c8]
call fcn.14005ce30
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 0x14003da6e
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 0x14003daa3
lea rcx, str._LoadLibrary
mov r8d, r12d
mov rdx, rbp
call fcn.14005615c
cmp al, r14b
je 0x14003daa3
mov r14b, sil
xor r8d, r8d
mov byte [rsp + 0x321], r14b
cmp rbp, r8
je 0x14003dad3
lea rcx, str._GetProcAddress
mov r8d, 0xf
mov rdx, rbp
call fcn.14005615c
xor r8d, r8d
mov r13b, sil
cmp al, r8b
jne 0x14003dad6
mov r13b, r8b
cmp rbp, r8
je 0x14003db05
lea rcx, str._FreeLibrary
mov r8d, r12d
mov rdx, rbp
call fcn.14005615c
xor r8d, r8d
cmp al, r8b
je 0x14003db05
lea ecx, [r8 + 1]
mov r12b, cl
mov byte [rsp + 0x325], cl
jmp 0x14003db15
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 0x14003db3f
mov eax, 0x2a
cmp ax, word [rbp]
jne 0x14003db3f
mov byte [rsp + 0x348], cl
jmp 0x14003db68
mov byte [rsp + 0x348], r8b
cmp byte [rsp + 0x323], r8b
jne 0x14003db68
cmp byte [rsp + 0x328], r8b
jne 0x14003db68
cmp r14b, r8b
jne 0x14003db68
mov r14b, cl
cmp r12b, r8b
je 0x14003db6b
mov r14b, r8b
mov al, r13b
or al, byte [rsp + 0x321]
je 0x14003db7f
or byte [rsp + 0x32b], 0x10
cmp byte [rsp + 0x329], r8b
jne 0x14003dc26
cmp r14b, r8b
je 0x14003dc26
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 0x14003dc04
mov word [rax], bx
mov rax, qword [rsp + 0x358]
add rax, 2
cmp rdi, 2
mov qword [rsp + 0x358], rax
jl 0x14003dbf9
mov qword [rsp + rdi*8 + 0x830], rax
add rdi, rsi
add ebp, esi
cmp rdi, 0x6a
jl 0x14003dbbb
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 0x14003dc6e
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 0x14003dcb4
cmp sil, r8b
jne 0x14003dcb4
lea rcx, [rsp + 0x390]
call fcn.140054c44
lea rcx, [rsp + 0x3c8]
call fcn.140072f34
lea rcx, [rsp + 0x3c8]
call fcn.140054c44
mov rsi, 0xffffffff80070057
jmp 0x140040a14
cmp rdx, r8
je 0x14003dcd1
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 0x14003dcfc
cmp rbp, r8
je 0x14003dcfc
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 0x14003dd4f
cmp rdx, r8
je 0x14003dd4f
mov word [rsp + 0x20], r8w
lea rdx, [rsp + 0x340]
lea r8, [rsp + 0x368]
mov r9d, edi
mov rcx, rsi
call fcn.14004e610
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.14005c9e0
xor r8d, r8d
cmp byte [rsp + 0x326], r8b
jg 0x14003dd9a
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 0x14003ddd3
cmp rcx, r8
je 0x14003ddd3
cmp r10w, word [rcx]
jne 0x14003ddd3
cmp r11w, word [rcx + 2]
jne 0x14003ddd3
lea r9d, [r10 - 0x5d]
mov eax, r9d
jmp 0x14003dddc
mov eax, r8d
mov r9d, 1
cmp dl, r8b
je 0x14003ddfd
cmp rcx, r8
je 0x14003ddfd
cmp r10w, word [rcx]
jne 0x14003ddfd
cmp r11w, word [rcx + 2]
je 0x14003ddfd
mov dword [rsp + 0x3f8], r9d
jmp 0x14003de0a
mov dword [rsp + 0x3f8], r8d
cmp eax, r8d
je 0x14003de16
add rcx, 2
mov qword [rsp + 0x340], rcx
movsxd rax, dword [rsp + 0x3a8]
mov qword [rsp + 0x3c0], rax
cmp dl, r8b
je 0x14003de9b
cmp byte [rsp + 0x320], r8b
jne 0x14003de9b
mov rax, qword [rsp + 0x368]
cmp word [rax], r8w
je 0x14003de89
cmp r11w, word [rax]
je 0x14003de89
cmp rcx, r8
je 0x14003de9b
cmp r11w, word [rcx]
je 0x14003de9b
mov rdx, rcx
lea rcx, [rsp + 0x327]
call fcn.140018bd0
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 0x14004099d
lea rcx, [rsp + 0x3a0]
call fcn.140054c44
jmp 0x14003dc81
cmp r13b, r8b
je 0x14003df8a
mov bpl, r9b
cmp r11w, word [rcx]
jne 0x14003deb9
add rcx, 2
mov qword [rsp + 0x340], rcx
mov bl, byte [rsp + 0x320]
mov edi, 0x23
cmp r11w, word [rcx]
je 0x14003ded0
cmp di, word [rcx]
jne 0x14003dee1
add rcx, 2
mov bl, r9b
mov qword [rsp + 0x340], rcx
jmp 0x14003dec5
lea rdx, [rsp + 0x350]
lea rcx, [rsp + 0x340]
xor r14d, r14d
mov qword [rsp + 0x350], r14
call fcn.14006b114
mov rdx, qword [rsp + 0x340]
mov rdi, r14
cmp rdx, r14
je 0x140040a52
add rdx, 2
mov qword [rsp + 0x340], rdx
je 0x140040a52
or rax, 0xffffffffffffffff
lea rcx, [rsp + 0x378]
mov qword [rsp + 0x378], r14
mov r9, rax
mov r8, rax
call fcn.14005c8a8
mov rcx, qword [rsp + 0x350]
cmp bl, r14b
je 0x14003df67
cmp rcx, r14
je 0x14003df78
mov rdx, qword [rsp + 0x378]
call fcn.140016c00
jmp 0x14003df75
mov rdx, qword [rsp + 0x378]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
lea rcx, [rsp + 0x378]
call fcn.140054c44
jmp 0x140040a52
cmp r12b, r8b
je 0x14003e024
mov bpl, r9b
cmp r11w, word [rcx]
jne 0x14003dfa8
add rcx, 2
mov qword [rsp + 0x340], rcx
mov bl, byte [rsp + 0x320]
mov edi, 0x23
cmp r11w, word [rcx]
je 0x14003dfbf
cmp di, word [rcx]
jne 0x14003dfd0
add rcx, 2
mov bl, r9b
mov qword [rsp + 0x340], rcx
jmp 0x14003dfb4
lea rdx, [rsp + 0x398]
lea rcx, [rsp + 0x340]
xor r14d, r14d
mov qword [rsp + 0x398], r14
call fcn.14006b114
mov rcx, qword [rsp + 0x398]
lea eax, [r14 + 1]
mov rdi, r14
cmp bl, al
jle 0x14003e016
cmp rcx, r14
je 0x140040a52
call fcn.140016b98
jmp 0x140040a52
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
movsxd rdi, eax
jmp 0x140040a52
cmp byte [rsp + 0x370], r8b
movzx edx, r8b
mov r13d, 0x31
cmovne edx, r9d
mov dword [rsp + 0x398], edx
cmp rcx, r8
jne 0x14003e24c
cmp rbp, r8
jne 0x14003e060
lea rbp, [0x14010332a]
mov qword [rsp + 0x378], rbp
jmp 0x14003e094
lea rcx, [0x14010332a]
mov rdx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
xor r8d, r8d
cmp eax, r8d
je 0x14003e094
lea rcx, [0x1401032fa]
mov rdx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
xor r8d, r8d
cmp eax, r8d
jne 0x14003e24c
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 0x14003e24c
lea rcx, [rsp + 0x330]
call fcn.14005c96c
lea rdx, str.___exe:_
lea rcx, [rsp + 0x3e8]
mov r8, r12
call fcn.140067230
lea rdx, [rsp + 0x3e8]
lea rcx, [rsp + 0x330]
call fcn.1400672bc
lea rcx, [rsp + 0x3e8]
call fcn.140054c44
lea rcx, [rsp + 0x330]
mov edx, 0x51c
call fcn.14005ca6c
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.140067230
lea rcx, [rsp + 0x330]
mov rdx, qword [rax]
call fcn.14005caa8
lea rcx, [rsp + 0x3c0]
call fcn.140054c44
mov rax, qword [rsp + 0x350]
xor ebx, ebx
cmp eax, ebx
jl 0x14003e181
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.14005caa8
lea rdx, [0x1401032ac]
lea rcx, [rsp + 0x3c0]
mov r8, r12
call fcn.140067230
lea rcx, [rsp + 0x330]
mov rdx, qword [rax]
call fcn.14005caa8
lea rcx, [rsp + 0x3c0]
call fcn.140054c44
lea rcx, [rsp + 0x330]
mov rdx, rbp
call fcn.14005caa8
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.14000d484
lea rcx, [rsp + 0x330]
mov rsi, rax
call fcn.140054c44
lea rcx, [rsp + 0x3a0]
call fcn.140054c44
lea rcx, [rsp + 0x390]
call fcn.140054c44
lea rcx, [rsp + 0x3c8]
call fcn.140072f34
lea rcx, [rsp + 0x3c8]
call fcn.140054c44
jmp 0x140040a14
cmp rbp, r8
je 0x140040be4
cmp word [rbp], r8w
je 0x140040be4
mov r13b, byte [rsp + 0x329]
cmp r13b, r8b
jne 0x14003e32d
cmp r14b, r8b
je 0x14003e32d
mov r9, qword [rsp + 0x3e0]
cmp r9, r8
je 0x14003e32d
mov esi, 2
lea r12, [rsp + 0xb90]
mov qword [rsp + 0x350], r8
cmp dword [rsp + 0x3a8], esi
jle 0x14003e31b
mov r13, 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, r13
mov byte [rsp + 0x20], bl
call fcn.140071328
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 0x14003e2bc
mov ebx, dword [rsp + 0x3b0]
mov rdi, qword [rsp + 0x3f0]
mov r13b, byte [rsp + 0x329]
lea rcx, [rsp + 0x350]
call fcn.140054c44
xor r8d, r8d
jmp 0x14003e335
lea r12, [rsp + 0x830]
mov eax, 2
cmp r13b, r8b
jne 0x14003e53e
cmp r14b, r8b
je 0x14003e53e
xor r14d, r14d
cmp qword [r12 + 8], r14
je 0x14003e541
cmp byte [rsp + 0x338], r14b
je 0x14003e36f
cmp qword [r12 + 0x10], r14
lea ecx, [rax + 1]
cmovne eax, ecx
mov dil, byte [rsp + 0x322]
mov rbp, qword [rsp + 0x1270]
cdqe
lea r15, [r12 + rax*8]
lea r14, [rsp + rax*8 + 0x828]
lea r13, [rsp + 0x410]
mov r9d, 0x7e
mov r10d, 0xfde9
xor esi, esi
mov rax, qword [r15]
add r14, 8
add r15, 8
mov qword [rsp + 0x358], rax
cmp rax, rsi
je 0x14003e526
movzx ecx, word [rax]
mov r12d, 0x23
mov qword [r13], rax
mov r8b, sil
lea r11d, [r12 + 7]
cmp dil, r12b
je 0x14003e486
cmp dil, r11b
je 0x14003e486
lea edx, [r12 + 1]
cmp dil, dl
je 0x14003e7c0
lea edx, [r12 + 0x1d]
cmp dil, dl
je 0x14003e639
lea edx, [r12 + 0x1a]
cmp dil, dl
je 0x14003e64e
cmp dil, r9b
je 0x14003e474
cmp dil, sil
jne 0x14003e42d
cmp cx, r12w
je 0x14003e4c6
cmp cx, si
je 0x14003e501
add rax, 2
movzx edx, cx
mov r8b, 1
mov qword [rsp + 0x358], rax
cmp edx, r12d
je 0x14003e4d8
cmp edx, r11d
je 0x14003e662
mov ecx, 0x3d
cmp edx, ecx
je 0x14003e64e
mov ecx, 0x40
cmp edx, ecx
je 0x14003e639
cmp edx, r9d
jne 0x14003e7c0
mov r12w, r10w
cmp rax, rsi
je 0x14003e7c0
jmp 0x14003e738
cmp r12w, cx
je 0x14003e42d
cmp r11w, cx
je 0x14003e42d
mov edx, 0x24
cmp dx, cx
je 0x14003e42d
lea r8d, [rdx + 0x1c]
cmp r8w, cx
je 0x14003e42d
lea edx, [r8 - 3]
cmp dx, cx
je 0x14003e42d
cmp r9w, cx
je 0x14003e42d
cmp dil, r12b
jne 0x14003e668
cmp r12w, word [rax]
jne 0x14003e4d8
add rax, 2
mov qword [rsp + 0x358], rax
lea rdx, [rsp + 0x3e0]
lea rcx, [rsp + 0x358]
mov qword [rsp + 0x3e0], rsi
call fcn.14006b1fc
mov r11, qword [rsp + 0x3e0]
mov qword [r13], r11
inc ebx
add r13, 8
cmp byte [rsp + 0x349], sil
jne 0x14003e526
mov r9d, 0x7e
mov r10d, 0xfde9
cmp ebx, 0x64
jbe 0x14003e3a3
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 0x14003e58b
lea eax, [r13 + 0x30]
cmp esi, r14d
lea rbp, [0x14010332a]
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 0x14003e5c9
mov eax, 0x71
cmp esi, r14d
lea rbp, [0x1401032fa]
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 0x14003e81e
cmp word [rdx + 2], r14w
jne 0x14003e81e
lea rdx, [rsp + 0x408]
lea rcx, [rsp + 0x3e0]
mov qword [rsp + 0x3e0], rbp
call fcn.14006b1fc
cmp qword [rsp + 0x408], r14
jne 0x14003e7ee
neg byte [rsp + 0x328]
sbb rdi, rdi
not rdi
and rdi, 0xffffffff80070057
jmp 0x140040af4
mov r12d, esi
cmp rax, rsi
jne 0x14003e738
mov qword [r13], rsi
jmp 0x14003e501
mov rax, qword [r14]
movsx rcx, r8b
lea rcx, [rax + rcx*2]
mov qword [r13], rcx
jmp 0x14003e501
mov r8d, 0x40
cmp r11w, word [rax]
jne 0x14003e67a
add rax, 2
mov qword [rsp + 0x358], rax
mov r12w, si
cmp r9w, word [rax]
jne 0x14003e696
add rax, 2
mov r12w, r10w
mov qword [rsp + 0x358], rax
jmp 0x14003e6a0
cmp r8w, word [rax]
jne 0x14003e6a0
mov r12w, si
lea rcx, [rsp + 0x350]
call fcn.14005c96c
lea r8, [rsp + 0x350]
lea rdx, [rsp + 0x358]
mov r9d, 0x2c
mov rcx, rbp
mov word [rsp + 0x20], si
call fcn.14004e610
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.1400174d4
cmp rax, rsi
je 0x14003e707
mov rax, qword [rax + 8]
mov qword [rsp + 0x358], rax
jmp 0x14003e70f
mov rax, qword [rsp + 0x358]
cmp r12w, si
je 0x14003e7d8
cmp rax, rsi
je 0x14003e7c9
cmp word [rax], si
je 0x14003e7d8
lea rcx, [rsp + 0x350]
call fcn.140054c44
mov ecx, 8
call fcn.1400e1978
mov rsi, rax
xor eax, eax
cmp rsi, rax
je 0x14003e751
mov qword [rsi], rax
jmp 0x14003e754
mov rsi, rax
mov rdx, qword [rsp + 0x358]
movzx r9d, r12w
or r8, 0xffffffffffffffff
mov rcx, rsi
call fcn.14005c8a8
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.14005ccbc
mov rax, qword [rsp + 0x358]
xor esi, esi
mov qword [r13], rax
jmp 0x14003e501
lea rax, [0x1400fd538]
mov qword [rsp + 0x358], rax
lea rcx, [rsp + 0x350]
mov qword [r13], rax
call fcn.140054c44
jmp 0x14003e501
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 0x14003e843
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 0x14003e872
cmp ax, word [rdx]
mov rcx, rdx
cmove r12d, r13d
call fcn.14001a310
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 0x14003e8a7
lea rax, [rcx + 2]
cmp r8w, word [rax]
jne 0x14003e8a7
mov qword [rsp + 0x380], rax
mov rcx, rax
cmp r8w, word [rax]
je 0x14003e88c
mov r10d, 9
cmp r8w, word [rcx]
jne 0x14003e8c9
movzx eax, word [rcx + 2]
sub ax, 0x30
cmp ax, r10w
jbe 0x14003e8c9
or byte [rsp + 0x320], 2
mov r9d, 0x2e
cmp r8w, word [rcx]
jne 0x14003e950
lea r8, [rcx + 2]
movzx eax, word [r8]
sub ax, 0x30
cmp ax, r10w
ja 0x14003e950
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.14006b114
cmp eax, r14d
jle 0x14003de89
mov r15, qword [rsp + 0x3f0]
mov qword [rsp + 0x330], r15
cmp r15, r14
je 0x14003de89
mov rdx, qword [rsp + 0x1278]
mov rcx, qword [rsp + 0x380]
mov r9d, 0x2e
jmp 0x14003e961
cmp word [rcx], r14w
jne 0x14003e966
mov rcx, r14
mov qword [rsp + 0x380], rcx
cmp r13b, r14b
jne 0x14003e97f
cmp rcx, r14
je 0x14003e97f
cmp word [rcx], r9w
jne 0x14003e97f
cmp word [rcx + 2], r14w
jne 0x14003e97f
mov r14b, 1
xor eax, eax
jmp 0x14003e98a
xor eax, eax
cmp r13b, al
jne 0x14003ea1e
cmp byte [rsp + 0x348], al
je 0x14003ea1e
cmp byte [rsp + 0x320], al
jne 0x14003ea1e
cmp r14b, al
je 0x14003e9ae
mov rax, qword [0x14011b9e0]
jmp 0x14003e9bc
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rdx, qword [rsp + 0x1278]
xor r14d, r14d
cmp rax, r14
jne 0x14003ea04
lea rcx, [rsp + 0x327]
call fcn.140018bd0
mov rcx, qword [rsp + 0x1278]
lea r13d, [r14 + 1]
mov bl, r13b
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp rax, r14
jne 0x14003ea0d
cmp byte [rsp + 0x328], r14b
je 0x14003e9fa
mov eax, r14d
jmp 0x14003ea00
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
jmp 0x14003ea10
mov bl, r14b
mov r13d, 1
mov rdi, r14
cmp bl, r13b
je 0x14004099d
jmp 0x1400409dd
lea rcx, [rsp + 0x327]
call fcn.140018bd0
xor edx, edx
cmp rsi, rdx
jne 0x14003f188
mov al, byte [rsp + 0x320]
mov r9, qword [rsp + 0x380]
mov ecx, 0xffdf
cmp al, dl
jne 0x14003ea93
cmp r15, rdx
jne 0x14003ea93
cmp byte [rsp + 0x398], dl
jne 0x14003ea93
cmp r9, rdx
je 0x14003ea8b
lea r8d, [rdx + 0x2e]
cmp word [r9], r8w
jne 0x14003eee1
cmp word [r9 + 2], dx
jne 0x14003eee1
mov r15, qword [0x14011b9e0]
mov qword [rsp + 0x330], r15
jmp 0x14003ea9c
mov byte [rsp + 0x398], 2
cmp r9, rdx
je 0x14003ef92
cmp r15, rdx
jne 0x14003efa6
cmp al, dl
je 0x14003eee1
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 0x14003eb05
lea r8d, [r14 + 0x23]
cmp r8w, word [r9]
jne 0x14003eb05
movzx eax, word [r9 + 2]
lea edx, [r14 + 9]
sub ax, 0x30
cmp ax, dx
ja 0x14003eb05
mov r11, qword [rsp + 0x1278]
jmp 0x14003eb98
mov r12d, 0x2a
cmp r12w, r10w
jne 0x14003eb28
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 0x14003eb88
add r9, 2
lea rcx, [rsp + 0x330]
mov qword [rsp + 0x380], r9
mov qword [rsp + 0x330], r9
call fcn.1400da4f4
mov rcx, qword [rsp + 0x330]
cmp word [rcx], r14w
je 0x14003eb88
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 0x14003ecab
mov r8d, 0x23
mov r10, qword [0x14011be68]
mov r13, r14
jmp 0x14003ebb6
cmp r8w, ax
je 0x14003ebbf
add rcx, 2
mov qword [rsp + 0x330], rcx
movzx eax, word [rcx]
cmp ax, r14w
jne 0x14003eba4
mov rax, rcx
cmp word [rcx], r14w
je 0x14003ebf8
mov edx, 0x7c
cmp dx, word [rax]
je 0x14003ebe8
mov edx, 0x3a
cmp dx, word [rax]
je 0x14003ebe8
add rax, 2
cmp word [rax], r14w
jne 0x14003ebc8
jmp 0x14003ebf8
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 0x14003ecbb
mov word [rcx], r14w
cmp r11, r14
je 0x14003ec1e
mov word [r11], r14w
mov rcx, qword [rsp + 0x380]
mov eax, 0x2e
cmp ax, word [rcx]
jne 0x14003ec4c
lea rax, [rcx + 2]
cmp word [rax], r14w
jne 0x14003ec4c
mov r10, qword [0x14011b9e0]
mov rcx, rax
mov qword [rsp + 0x380], rax
cmp word [rcx], r14w
je 0x14003ec6a
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 0x14003ec9b
mov rdx, qword [rsp + 0x330]
lea r9, [rsp + 0x790]
mov r8, r12
mov rcx, r10
mov qword [rsp + 0x20], r14
call fcn.14001cf54
cmp r13, r14
je 0x14003ecbb
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x14003ecbb
lea rdx, [rsp + 0x790]
mov rcx, r9
call fcn.14001c7cc
mov r12, qword [rsp + 0x790]
mov r13d, dword [rsp + 0x798]
cmp r12, r14
jne 0x14003ed6d
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.140054c44
cmp bl, r14b
je 0x1400409a4
mov bl, byte [rsp + 0x325]
cmp byte [rsp + 0x328], r14b
jne 0x14003e213
cmp rsi, r14
je 0x14003ed48
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.14005be18
cmp bl, 2
jmp 0x14003ea13
lea rcx, [rsp + 0x390]
mov edx, 0x48
call fcn.1400173bc
mov r11, rax
cmp rax, r14
je 0x14003eda2
mov rcx, rax
call fcn.1400173a0
lea rcx, [0x140100870]
mov qword [r11], rcx
lea rcx, [r11 + 8]
call fcn.140016b78
lea r14, [r11 + 8]
mov r8, r13
mov rdx, r12
mov rcx, r14
mov qword [rsp + 0x3e8], r14
call fcn.140028f48
xor ecx, ecx
cmp rax, rcx
je 0x14003eea9
mov sil, byte [rsp + 0x321]
cmp sil, cl
je 0x14003ee5d
mov r8, qword [rsp + 0x340]
cmp r8, rcx
je 0x14003edeb
cmp word [r8], cx
jne 0x14003edfd
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 0x14003ee41
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.14003cbd4
xor r14d, r14d
mov qword [rsp + 0x3e8], r14
jmp 0x14003ee44
xor r14d, r14d
lea rcx, [rsp + 0x790]
call fcn.140054c44
mov bl, byte [rsp + 0x320]
jmp 0x140040a5a
or rax, 0xffffffffffffffff
mov qword [rsp + 0x350], rcx
lea rcx, [rsp + 0x350]
mov r9, rax
mov r8, rax
mov rdx, rbp
call fcn.14005c8a8
mov rdx, qword [rsp + 0x350]
mov rcx, r14
call fcn.140016c00
lea rcx, [rsp + 0x350]
mov rsi, rax
call fcn.140054c44
xor r14d, r14d
cmp rsi, r14
jne 0x14003eecf
jmp 0x14003eeac
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.140054c44
jmp 0x14003f18b
movzx eax, word [r9]
and ax, cx
mov ecx, 0x4b
cmp cx, ax
jne 0x14003ef19
lea rdx, [0x140103280]
mov rcx, r9
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
xor edx, edx
cmp eax, edx
jne 0x14003ef11
mov r15, qword [0x14011bec8]
jmp 0x14003ef78
mov r9, qword [rsp + 0x380]
movzx eax, word [r9]
mov ecx, 0xffdf
and ax, cx
mov ecx, 0x55
cmp cx, ax
jne 0x14003ef56
lea rdx, str.user32.DLL
mov rcx, r9
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
xor edx, edx
cmp eax, edx
jne 0x14003ef4e
mov r15, qword [0x14011bec0]
jmp 0x14003ef78
mov r9, qword [rsp + 0x380]
cmp r14b, dl
je 0x14003ef64
mov r15, qword [0x14011b9e0]
jmp 0x14003ef78
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 0x14003efa9
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
jmp 0x14003ef95
xor r14d, r14d
cmp r15, r14
jne 0x14003efa9
mov bl, byte [rsp + 0x323]
jmp 0x14003ed0d
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.14005c8a8
mov rdx, qword [rsp + 0x3b0]
mov rcx, r15
test r13b, 2
je 0x14003efe3
call fcn.140016c00
jmp 0x14003efe9
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
cmp rax, r14
jne 0x14003f17b
cmp byte [rsp + 0x329], r14b
je 0x14003f173
cmp byte [rsp + 0x322], r14b
jne 0x14003f173
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 0x14003f168
mov eax, 0x57
cmp cx, ax
je 0x14003f168
lea ecx, [rax - 0x4f]
call fcn.1400e1978
mov rsi, rax
xor eax, eax
cmp rsi, rax
je 0x14003f074
lea ecx, [r14 + 2]
movsxd rdx, ecx
mov rcx, rsi
call fcn.14005c9e0
xor r14d, r14d
jmp 0x14003f07a
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.14005ccbc
mov rcx, qword [rsi]
mov r8, r12
mov rdx, rbp
call fcn.14001bd80
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 0x14003f0fa
call fcn.140016c00
jmp 0x14003f100
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
cmp rax, r14
jne 0x14003f17b
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.14005c8a8
mov rdx, qword [rsp + 0x378]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [rsp + 0x378]
mov rsi, rax
call fcn.140054c44
cmp rsi, r14
je 0x14003f173
mov eax, 0x40
mov byte [rsp + 0x322], al
jmp 0x14003f17b
mov r15, qword [rsp + 0x330]
xor r14d, r14d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
lea rcx, [rsp + 0x3b0]
jmp 0x14003eed7
xor r14d, r14d
cmp byte [rsp + 0x323], r14b
je 0x14003f1d0
mov bl, byte [rsp + 0x325]
mov eax, 1
cmp bl, al
jne 0x14003ed1d
cmp byte [rsp + 0x398], r14b
jg 0x14003ed1d
cmp r15, r14
je 0x14003ed1d
mov rcx, r15
mov bl, 2
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x14003ed1d
mov r12b, r14b
cmp rsi, r14
je 0x14003f375
mov r13d, dword [rsp + 0x388]
test r13b, 7
je 0x14003f255
call fcn.14005aef0
cmp r13d, r14d
je 0x14003f255
cmp qword [0x14011c680], r14
je 0x14003f255
cmp qword [0x14011c688], r14
je 0x14003f255
lea rcx, [0x14011cf88]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r13, qword [rsp + 0x1270]
mov al, byte [r13 + 0x12]
test al, 2
jne 0x14003f246
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 [0x14011c680]
jmp 0x14003f25d
lea rcx, [0x14011cf88]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x14003f25d
mov r13, qword [rsp + 0x1270]
cmp byte [rsp + 0x324], r14b
je 0x14003f26f
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
cmp byte [rsp + 0x329], r14b
je 0x14003f3b2
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 0x14003f2dd
mov rdx, qword [rsp + 0x340]
cmp rdx, r14
je 0x14003f2ea
or rax, 0xffffffffffffffff
lea rcx, [rsp + 0x388]
mov r9, rax
mov r8, rax
call fcn.14005c8a8
mov r11, qword [rsp + 0x388]
mov qword [rsp + 0x340], r11
jmp 0x14003f2e5
mov r11, qword [rsp + 0x340]
cmp r11, r14
jne 0x14003f2fa
lea rax, [rsp + 0x1280]
mov qword [rsp + 0x340], rax
mov rbx, qword [0x14011be68]
xor edx, edx
mov rcx, r13
call fcn.14001989c
cmp rbp, r14
je 0x14003f344
lea rcx, str.InstallHinfSection
mov r8d, 0x12
mov rdx, rbp
call fcn.14005615c
cmp al, r14b
je 0x14003f344
cmp word [rbp + 0x24], r14w
je 0x14003f33c
mov word [rbp + 0x24], di
cmp word [rbp + 0x26], r14w
jne 0x14003f344
mov rbp, r14
mov rbx, r14
jmp 0x14003f349
mov ebp, 5
mov rcx, qword [r13 + 0x40]
call fcn.140054fb4
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.140054c44
mov r13d, 1
mov bl, byte [rsp + 0x324]
mov qword [rsp + 0x3b8], rdi
cmp bl, r14b
je 0x140040954
cmp bl, 2
jne 0x140040944
cmp edi, r13d
jne 0x140040935
mov qword [rsp + 0x3b8], r14
jmp 0x140040954
mov r13d, 1
cmp dword [rsp + 0x1280], r13d
jne 0x14003ff9d
cmp ebx, 0x64
setbe al
mov byte [rsp + 0x32a], al
cmp ebx, 0x10
ja 0x14003f590
cmp ebx, 8
ja 0x14003f481
je 0x14004010c
cmp ebx, r14d
je 0x140040049
sub ebx, r13d
je 0x14004003d
sub ebx, r13d
je 0x140040029
sub ebx, r13d
je 0x14004000d
sub ebx, r13d
je 0x14003ffe9
sub ebx, r13d
je 0x140040053
sub ebx, r13d
je 0x140040167
sub ebx, r13d
jne 0x14003f37b
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 0x14004004b
mov eax, 9
sub ebx, eax
je 0x1400400a4
sub ebx, r13d
je 0x1400401a8
sub ebx, r13d
je 0x1400404e3
sub ebx, r13d
je 0x140040454
sub ebx, r13d
je 0x1400403b8
sub ebx, r13d
je 0x14004030f
sub ebx, r13d
je 0x140040259
sub ebx, r13d
jne 0x14003f37b
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 0x14004004b
cmp ebx, 0x14
jbe 0x140040589
cmp ebx, 0x1e
ja 0x14003f745
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 0x14004004b
cmp ebx, 0x28
ja 0x14003f991
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 0x14004004b
cmp ebx, 0x64
ja 0x14003f37b
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 0x14004004b
cmp ebx, 0x14
setbe al
mov byte [rsp + 0x32a], al
cmp ebx, 0xa
ja 0x14004021d
je 0x1400401a8
mov ebp, 5
cmp ebx, ebp
ja 0x140040084
je 0x140040053
cmp ebx, r14d
je 0x140040049
sub ebx, r13d
je 0x14004003d
sub ebx, r13d
je 0x140040029
sub ebx, r13d
je 0x14004000d
sub ebx, r13d
jne 0x14003f37b
mov r9, qword [rsp + 0x428]
mov r8, qword [rsp + 0x420]
mov rdx, qword [rsp + 0x418]
mov rcx, qword [rsp + 0x410]
call rsi
jmp 0x14004004b
mov r8, qword [rsp + 0x420]
mov rdx, qword [rsp + 0x418]
mov rcx, qword [rsp + 0x410]
call rsi
jmp 0x14004004b
mov rdx, qword [rsp + 0x418]
mov rcx, qword [rsp + 0x410]
call rsi
jmp 0x14004004b
mov rcx, qword [rsp + 0x410]
call rsi
jmp 0x14004004b
call rsi
mov rdi, rax
jmp 0x14003f37b
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 0x14004004b
sub ebx, 6
je 0x140040167
sub ebx, r13d
je 0x14003f433
sub ebx, r13d
je 0x14004010c
sub ebx, r13d
jne 0x14003f37b
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 0x14004004b
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 0x14004004b
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 0x14004004b
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 0x14004004b
cmp ebx, 0x10
ja 0x140040565
je 0x14003f4cd
sub ebx, 0xb
je 0x1400404e3
sub ebx, r13d
je 0x140040454
sub ebx, r13d
je 0x1400403b8
sub ebx, r13d
je 0x14004030f
sub ebx, r13d
jne 0x14003f37b
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 0x14004004b
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 0x14004004b
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 0x14004004b
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 0x14004004b
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 0x14004004b
sub ebx, 0x11
je 0x140040862
sub ebx, r13d
je 0x14004077f
sub ebx, r13d
je 0x14004068c
sub ebx, r13d
jne 0x14003f37b
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 0x14004004b
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 0x14004004b
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 0x14004004b
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 0x14004004b
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, r14d
cmove eax, r13d
jmp 0x14004094c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov eax, eax
mov qword [rsp + 0x3b8], rax
cmp byte [rsp + 0x325], r14b
jle 0x140040976
cmp byte [rsp + 0x398], r14b
jg 0x140040976
cmp r15, r14
je 0x140040976
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp r12b, r14b
je 0x14004099d
call qword [0x14011c688]
mov rax, qword [rsp + 0x1270]
lea rcx, [0x14011cf88]
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 0x1400409c4
mov rcx, qword [rsp + 0x3a0]
call fcn.140018b7c
mov al, byte [rsp + 0x326]
cmp qword [rsp + 0x408], r14
je 0x1400409d3
cmp al, r14b
jg 0x1400409d8
call fcn.14001c854
cmp bl, r14b
je 0x140040a43
lea rcx, [rsp + 0x3a0]
call fcn.140054c44
lea rcx, [rsp + 0x390]
call fcn.140054c44
lea rcx, [rsp + 0x3c8]
call fcn.140072f34
lea rcx, [rsp + 0x3c8]
call fcn.140054c44
mov rsi, rdi
lea rcx, [rsp + 0x7a8]
call fcn.140054c44
lea rcx, [rsp + 0x368]
call fcn.140054c44
lea rcx, [rsp + 0x400]
call fcn.140054c44
mov rax, rsi
jmp 0x140040c52
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 0x140040adf
mov eax, 0x2a
cmp ax, word [rdx]
je 0x140040ac5
cmp bpl, r14b
je 0x140040ac5
cmp byte [rsp + 0x32b], r14b
lea rax, [0x140103258]
lea r8, [0x140103248]
cmovne r8, rax
cmp sil, r14b
je 0x140040aa9
cmp bl, r14b
je 0x140040aa9
cmp rdi, r14
jne 0x140040aad
lea r8, [0x1400fd538]
jmp 0x140040aad
add r8, 2
lea rcx, [rsp + 0x7b0]
mov rdx, rdi
call fcn.1400cca04
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 0x140040afc
mov rcx, rax
call fcn.140016b98
mov rdx, qword [rsp + 0x368]
cmp word [rdx], r14w
je 0x140040b45
mov eax, 0x2a
cmp ax, word [rdx]
je 0x140040b45
cmp dword [rsp + 0x3f8], r14d
je 0x140040b30
cmp rdi, r14
je 0x140040b30
mov rcx, qword [rsp + 0x1270]
mov r8, rdx
mov rdx, rdi
call fcn.14003cd60
jmp 0x140040b45
mov rcx, qword [rsp + 0x1270]
lea r8, [rsp + 0x7b0]
call fcn.14005be18
cmp dword [rsp + 0x3a8], r14d
jge 0x140040b7f
mov rbx, qword [rsp + 0x3c0]
mov rax, qword [rsp + rbx*8 + 0xee0]
cmp rax, r14
je 0x140040b79
lea rcx, [rsp + 0x3c0]
mov qword [rsp + 0x3c0], rax
call fcn.140054c44
add rbx, 1
js 0x140040b57
lea rcx, [rsp + 0x3a0]
call fcn.140054c44
lea rcx, [rsp + 0x390]
call fcn.140054c44
lea rcx, [rsp + 0x3c8]
call fcn.140072f34
lea rcx, [rsp + 0x3c8]
call fcn.140054c44
lea rcx, [rsp + 0x7a8]
call fcn.140054c44
lea rcx, [rsp + 0x368]
call fcn.140054c44
lea rcx, [rsp + 0x400]
call fcn.140054c44
mov rax, qword [rsp + 0x3b8]
jmp 0x140040c52
lea rcx, [rsp + 0x3a0]
call fcn.140054c44
lea rcx, [rsp + 0x390]
call fcn.140054c44
lea rcx, [rsp + 0x3c8]
call fcn.140072f34
lea rcx, [rsp + 0x3c8]
call fcn.140054c44
lea rcx, [rsp + 0x7a8]
call fcn.140054c44
lea rcx, [rsp + 0x368]
call fcn.140054c44
lea rcx, [rsp + 0x400]
call fcn.140054c44
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