Function at 0x14003f02c
Capabilities:
Get common file path

Disassembly:
mov r11, rsp
mov qword [r11 + 0x20], rbx
mov qword [r11 + 0x10], rdx
mov qword [r11 + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x590
mov eax, r8d
mov bl, r8b
mov r13, rcx
mov edi, 1
lea rcx, [r11 - 0x158]
and bl, 0xf0
and eax, edi
mov byte [rsp + 0x322], bl
mov qword [rsp + 0x370], r9
mov dword [rsp + 0x5e0], eax
call fcn.14006cf08
mov r14, qword [rsp + 0x5d8]
or r8, 0xffffffffffffffff
xor esi, esi
lea rcx, [rsp + 0x5d8]
mov dword [rsp + 0x3d8], r8d
mov qword [rsp + 0x380], rsi
mov qword [rsp + 0x3c0], r8
mov qword [rsp + 0x3e8], rsi
call fcn.140016a24
lea rcx, [rsp + 0x3a8]
mov r15d, 0xffff0000
mov byte [rsp + 0x325], r8b
mov byte [rsp + 0x326], r8b
mov byte [rsp + 0x388], sil
mov byte [rsp + 0x324], sil
mov byte [rsp + 0x321], sil
mov byte [rsp + 0x323], sil
mov bpl, sil
mov byte [rsp + 0x329], sil
mov byte [rsp + 0x378], sil
mov byte [rsp + 0x339], r8b
mov byte [rsp + 0x34e], dil
mov byte [rsp + 0x327], sil
mov byte [rsp + 0x3bc], sil
mov dword [rsp + 0x3b0], r15d
mov qword [rsp + 0x368], rsi
mov byte [rsp + 0x34d], sil
call fcn.140061510
lea rcx, [rsp + 0x460]
mov qword [rsp + 0x4b8], rsi
call fcn.140061510
lea rdx, [rsp + 0x5d8]
lea rcx, [0x140115158]
mov r8d, edi
mov word [rsp + 0x510], si
call fcn.140063f6c
cmp al, sil
jne 0x14003f18c
mov al, sil
cmp bl, sil
je 0x14003f18f
mov al, dil
cmp bl, sil
mov byte [rsp + 0x32a], al
mov byte [rsp + 0x32b], sil
setne byte [rsp + 0x328]
cmp al, sil
je 0x14003f1be
mov byte [rsp + 0x325], sil
mov byte [rsp + 0x326], dil
mov rax, qword [rsp + 0x5d8]
mov dil, 0x2a
cmp word [rax], 0x2d
jne 0x14003f1d2
mov dil, byte [rax]
lea rcx, [rsp + 0x488]
mov edx, 0x17e0
mov qword [rsp + 0x438], rsi
mov qword [rsp + 0x350], rsi
call fcn.140061298
mov rcx, qword [rsp + 0x488]
call fcn.140058cec
mov rbx, qword [rsp + 0x488]
mov byte [rsp + 0x34c], sil
lea rdx, [rbx + 0xa08]
lea r15, [rbx + 0x378]
mov qword [rsp + 0x458], rsi
lea rax, [r15 + 0x6b0]
mov qword [rsp + 0x360], rdx
movsx esi, dil
mov qword [rsp + 0x448], rax
lea rax, [rdx + 0xa08]
mov qword [rsp + 0x4d8], rbx
mov qword [rsp + 0x3f8], rax
lea rax, [rdx + 0xa20]
mov rdx, qword [rsp + 0x5d8]
mov qword [rsp + 0x430], rax
add rax, 0x30
mov qword [rsp + 0x490], r15
mov qword [rsp + 0x428], rax
movzx eax, word [rdx]
mov qword [rsp + 0x4d0], 5
cmp eax, esi
jne 0x14003fc6e
movzx eax, word [rdx + 2]
cmp eax, esi
jne 0x14003fc45
add rdx, 4
lea rcx, [0x140117710]
mov r8d, 1
mov qword [rsp + 0x5d8], rdx
lea rdx, [rsp + 0x5d8]
call fcn.140063f6c
xor r8d, r8d
cmp al, r8b
je 0x14003f2e5
lea eax, [r8 + 1]
mov dword [rsp + 0x5e0], eax
jmp 0x14003fc25
lea rdx, [rsp + 0x5d8]
lea rcx, [0x14011770c]
mov r8d, 2
call fcn.140063f6c
test al, al
je 0x14003f314
mov eax, 1
mov byte [rsp + 0x325], al
jmp 0x14003fc25
lea rdx, [rsp + 0x5d8]
lea rcx, [0x1401163e4]
mov r8d, 3
call fcn.140063f6c
xor r8d, r8d
cmp al, r8b
je 0x14003f343
mov byte [rsp + 0x325], r8b
jmp 0x14003fc25
lea rdx, [rsp + 0x5d8]
lea rcx, str.nrcd
mov r8d, 4
call fcn.140063f6c
test al, al
je 0x14003f36e
mov byte [rsp + 0x326], 2
jmp 0x14003fc25
lea rdx, [rsp + 0x5d8]
lea rcx, [0x140117700]
mov r8d, 3
call fcn.140063f6c
xor r8d, r8d
cmp al, r8b
je 0x14003f39d
mov byte [rsp + 0x326], r8b
jmp 0x14003fc25
mov rdx, qword [rsp + 0x5d8]
mov r8d, 0x20
movzx eax, word [rdx]
lea ecx, [r8 + 0x51]
or ax, r8w
cmp cx, ax
jne 0x14003f5e3
movzx eax, word [rdx + 2]
lea ecx, [r8 + 0x44]
or ax, r8w
cmp cx, ax
jne 0x14003f5e3
add rdx, 4
lea rcx, [0x140112200]
xor r8d, r8d
mov qword [rsp + 0x5d8], rdx
lea rdx, [rsp + 0x5d8]
call fcn.140063f6c
test al, al
je 0x14003f408
mov byte [rsp + 0x321], 1
jmp 0x14003fc25
lea rdx, [rsp + 0x5d8]
lea rcx, [0x1401176fc]
mov r8d, 1
call fcn.140063f6c
test al, al
je 0x14003f433
mov byte [rsp + 0x321], 0x23
jmp 0x14003fc25
lea rdx, [rsp + 0x5d8]
lea rcx, [0x14011644c]
mov r8d, 1
call fcn.140063f6c
test al, al
je 0x14003f45e
mov byte [rsp + 0x321], 0x2a
jmp 0x14003fc25
lea rdx, [rsp + 0x5d8]
lea rcx, [0x1401176f8]
mov r8d, 1
call fcn.140063f6c
test al, al
je 0x14003f489
mov byte [rsp + 0x321], 0x3e
jmp 0x14003fc25
lea rdx, [rsp + 0x5d8]
lea rcx, [0x1401176f4]
mov r8d, 1
call fcn.140063f6c
test al, al
je 0x14003f4b4
mov byte [rsp + 0x321], 0x24
jmp 0x14003fc25
lea rdx, [rsp + 0x5d8]
lea rcx, [0x1401176f0]
mov r8d, 1
call fcn.140063f6c
test al, al
je 0x14003f4df
mov byte [rsp + 0x321], 0x40
jmp 0x14003fc25
lea rdx, [rsp + 0x5d8]
lea rcx, [0x1401176ec]
mov r8d, 1
call fcn.140063f6c
test al, al
je 0x14003f50a
mov byte [rsp + 0x321], 0x3d
jmp 0x14003fc25
lea rdx, [rsp + 0x5d8]
lea rcx, [0x1401176e8]
mov r8d, 1
call fcn.140063f6c
test al, al
je 0x14003f535
mov byte [rsp + 0x321], 0x3c
jmp 0x14003fc25
mov rdx, qword [rsp + 0x5d8]
lea rcx, str.:____
mov r8d, 1
call fcn.14005a400
xor r8d, r8d
cmp al, r8b
mov rax, qword [rsp + 0x5d8]
je 0x14003f5d2
add rax, 2
mov qword [rsp + 0x5d8], rax
mov rdx, rax
movzx ecx, word [rax]
cmp cx, r8w
je 0x14003f5bb
lea r9d, [r8 + 9]
lea r11d, [r8 + 0x20]
cmp r9w, cx
ja 0x14003f58b
cmp cx, 0xd
jbe 0x14003f5a8
cmp r11w, cx
je 0x14003f5a8
add rax, 2
mov qword [rsp + 0x5d8], rax
mov cx, word [rax]
cmp cx, r8w
je 0x14003f5bb
jmp 0x14003f57f
cmp word [rax], r8w
je 0x14003f5bb
mov word [rax], r8w
add qword [rsp + 0x5d8], 2
cmp word [rdx], r8w
je 0x14003fc18
mov qword [rsp + 0x438], rdx
jmp 0x14003fc18
sub rax, 4
mov qword [rsp + 0x5d8], rax
jmp 0x14003fb8b
lea rcx, str.arg:
mov r8d, 4
call fcn.14005a400
xor r8d, r8d
cmp al, r8b
je 0x14003f679
mov rax, qword [rsp + 0x5d8]
add rax, 8
mov qword [rsp + 0x5d8], rax
mov rcx, rax
mov qword [rsp + 0x350], rax
movzx ecx, word [rax]
cmp cx, r8w
je 0x14003fc18
lea edx, [r8 + 9]
lea r11d, [r8 + 0x20]
cmp dx, cx
ja 0x14003f63c
cmp cx, 0xd
jbe 0x14003f65d
cmp r11w, cx
je 0x14003f65d
add rax, 2
mov qword [rsp + 0x5d8], rax
mov cx, word [rax]
cmp cx, r8w
je 0x14003fc18
jmp 0x14003f631
cmp word [rax], r8w
je 0x14003fc18
mov word [rax], r8w
add qword [rsp + 0x5d8], 2
jmp 0x14003fc18
lea rdx, [rsp + 0x5d8]
lea rcx, [0x1401176d8]
mov r8d, 2
call fcn.140063f6c
xor ecx, ecx
cmp al, cl
je 0x14003f6a8
lea eax, [rcx + 1]
mov dword [rsp + 0x3b0], eax
jmp 0x14003fc25
lea rdx, [rsp + 0x5d8]
lea rcx, [0x1401176d4]
mov r8d, 3
call fcn.140063f6c
xor r8d, r8d
cmp al, r8b
je 0x14003f6d7
mov dword [rsp + 0x3b0], r8d
jmp 0x14003fc25
lea rdx, [rsp + 0x5d8]
lea rcx, [0x1401176d0]
mov r8d, 3
call fcn.140063f6c
xor ecx, ecx
cmp al, cl
je 0x14003f6ff
mov bpl, 1
jmp 0x14003fc25
lea rdx, [rsp + 0x5d8]
lea rcx, [0x1401176cc]
mov r8d, 3
call fcn.140063f6c
xor ecx, ecx
cmp al, cl
je 0x14003f72c
mov byte [rsp + 0x329], 1
jmp 0x14003fc25
lea rdx, [rsp + 0x5d8]
lea rcx, [0x140116e20]
mov r8d, 1
call fcn.140063f6c
xor ecx, ecx
cmp al, cl
je 0x14003f759
mov byte [rsp + 0x378], 1
jmp 0x14003fc25
lea rdx, [rsp + 0x5d8]
lea rcx, [0x140112b78]
mov r8d, 3
call fcn.140063f6c
xor ecx, ecx
cmp al, cl
je 0x14003f786
mov byte [rsp + 0x327], 1
jmp 0x14003fc25
lea rdx, [rsp + 0x5d8]
lea rcx, [0x1401176c8]
mov r8d, 2
call fcn.140063f6c
xor ecx, ecx
cmp al, cl
je 0x14003f7b3
mov byte [rsp + 0x34d], 1
jmp 0x14003fc25
lea rdx, [rsp + 0x5d8]
lea rcx, str.bool
mov r8d, 4
call fcn.140063f6c
xor ecx, ecx
cmp al, cl
je 0x14003f7e0
mov byte [rsp + 0x327], 2
jmp 0x14003fc25
mov rdx, qword [rsp + 0x5d8]
lea rcx, str.sret:
mov r8d, 5
call fcn.14005a400
xor r8d, r8d
cmp al, r8b
je 0x14003f810
mov rax, qword [rsp + 0x5d8]
add rax, 2
jmp 0x14003f83e
mov rdx, qword [rsp + 0x5d8]
lea rcx, [0x1401176b0]
mov r8d, 4
call fcn.14005a400
xor r8d, r8d
cmp al, r8b
je 0x14003f913
mov rax, qword [rsp + 0x5d8]
add rax, 8
mov qword [rsp + 0x5d8], rax
mov rdx, rax
movzx ecx, word [rax]
cmp cx, r8w
je 0x14003f887
mov r9d, 9
lea r11d, [r9 + 0x17]
cmp r9w, cx
ja 0x14003f86c
cmp cx, 0xd
jbe 0x14003f887
cmp r11w, cx
je 0x14003f887
add rax, 2
mov qword [rsp + 0x5d8], rax
mov cx, word [rax]
cmp cx, r8w
jne 0x14003f860
mov ecx, 0x7e
cmp cx, word [rdx]
je 0x14003f906
mov ecx, 0x40
cmp cx, word [rdx]
je 0x14003f906
sub rax, rdx
lea rcx, [rsp + 0x3a8]
sar rax, 1
mov r8, rax
call fcn.140061778
lea rdx, [rsp + 0x3a8]
xor r8d, r8d
mov rcx, r13
call fcn.140003920
mov rdx, qword [rsp + 0x3a8]
lea rcx, [0x140112ba0]
mov byte [rsp + 0x324], 1
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
xor r8d, r8d
cmp eax, r8d
jne 0x14003fc18
mov rax, qword [rsp + 0x3a8]
mov byte [rsp + 0x324], 3
mov word [rax], r8w
jmp 0x14003fc18
mov qword [rsp + 0x458], rdx
jmp 0x14003f65d
mov rdx, qword [rsp + 0x5d8]
lea rcx, str.vret:
mov r8d, 5
call fcn.14005a400
xor ecx, ecx
cmp al, cl
je 0x14003fa04
mov r8, qword [rsp + 0x5d8]
add r8, 0xa
mov qword [rsp + 0x5d8], r8
mov rdx, r8
movzx eax, word [r8]
cmp ax, cx
je 0x14003f986
lea r9d, [rcx + 9]
lea r11d, [rcx + 0x20]
cmp r9w, ax
ja 0x14003f96b
cmp ax, 0xd
jbe 0x14003f986
cmp r11w, ax
je 0x14003f986
add r8, 2
mov qword [rsp + 0x5d8], r8
mov ax, word [r8]
cmp ax, cx
jne 0x14003f95f
sub r8, rdx
lea rcx, [rsp + 0x420]
sar r8, 1
call fcn.14006cf2c
lea rcx, [rsp + 0x5d8]
call fcn.140016a24
lea rdx, [rsp + 0x420]
xor r8d, r8d
mov rcx, r13
call fcn.140003920
mov rdx, qword [rsp + 0x420]
xor eax, eax
or r9d, 0xffffffff
xor r8d, r8d
mov rcx, r13
mov qword [rsp + 0x20], rax
call fcn.140018260
xor ecx, ecx
cmp rax, rcx
je 0x14003f9f2
mov rax, qword [rax + 8]
mov byte [rsp + 0x34c], 1
mov qword [rsp + 0x3f8], rax
lea rcx, [rsp + 0x420]
call fcn.140058d88
jmp 0x14003fc25
mov rdx, qword [rsp + 0x5d8]
lea rcx, str.ivret:
mov r8d, 6
call fcn.14005a400
xor ecx, ecx
cmp al, cl
je 0x14003faaf
mov r8, qword [rsp + 0x5d8]
add r8, 0xc
mov qword [rsp + 0x5d8], r8
mov rdx, r8
movzx eax, word [r8]
cmp ax, cx
je 0x14003fa77
lea r9d, [rcx + 9]
lea r11d, [rcx + 0x20]
cmp r9w, ax
ja 0x14003fa5c
cmp ax, 0xd
jbe 0x14003fa77
cmp r11w, ax
je 0x14003fa77
add r8, 2
mov qword [rsp + 0x5d8], r8
mov ax, word [r8]
cmp ax, cx
jne 0x14003fa50
sub r8, rdx
lea rcx, [rsp + 0x460]
sar r8, 1
call fcn.140061778
lea rcx, [rsp + 0x5d8]
call fcn.140016a24
lea rdx, [rsp + 0x460]
xor r8d, r8d
mov rcx, r13
call fcn.140003920
jmp 0x14003fc25
lea rdx, [rsp + 0x5d8]
lea rcx, [0x1401163f0]
mov r8d, 1
call fcn.140063f6c
xor ecx, ecx
cmp al, cl
je 0x14003fadc
mov byte [rsp + 0x323], 1
jmp 0x14003fc25
lea rdx, [rsp + 0x5d8]
lea rcx, [0x14011769c]
mov r8d, 3
call fcn.140063f6c
xor ecx, ecx
cmp al, cl
je 0x14003fb11
mov byte [rsp + 0x339], 2
mov byte [rsp + 0x34e], 2
jmp 0x14003fc25
lea rdx, [rsp + 0x5d8]
lea rcx, [0x140117698]
mov r8d, 3
call fcn.140063f6c
xor ecx, ecx
cmp al, cl
je 0x14003fb46
mov byte [rsp + 0x339], 4
mov byte [rsp + 0x34e], 4
jmp 0x14003fc25
lea rdx, [rsp + 0x5d8]
lea rcx, str.putref
mov r8d, 6
call fcn.140063f6c
xor r8d, r8d
cmp al, r8b
je 0x14003fb83
mov r8d, 8
mov byte [rsp + 0x339], r8b
mov byte [rsp + 0x34e], r8b
jmp 0x14003fc25
mov rax, qword [rsp + 0x5d8]
mov ecx, 0x2a
cmp dil, cl
jne 0x14003fbde
movzx ecx, word [rax]
mov rdx, rax
cmp cx, r8w
je 0x14003fc18
mov r9d, 0x2c
lea r10d, [r9 - 0x23]
lea r11d, [r9 - 0xc]
cmp r10w, cx
ja 0x14003fbbb
cmp cx, 0xd
jbe 0x14003fbe4
cmp r11w, cx
je 0x14003fbe4
cmp r9w, cx
je 0x14003fc39
add rax, 2
mov qword [rsp + 0x5d8], rax
mov cx, word [rax]
cmp cx, r8w
je 0x14003fc18
jmp 0x14003fbaf
mov r10d, 9
movzx ecx, word [rax]
cmp cx, r8w
je 0x14003fc18
mov edx, 0x20
cmp r10w, cx
ja 0x14003fbfe
cmp cx, 0xd
jbe 0x14003fc18
cmp dx, cx
je 0x14003fc18
add rax, 2
mov qword [rsp + 0x5d8], rax
mov cx, word [rax]
cmp cx, r8w
jne 0x14003fbf2
lea rcx, [rsp + 0x5d8]
call fcn.140016a24
mov rdx, qword [rsp + 0x5d8]
movzx eax, word [rdx]
cmp eax, esi
jne 0x14003fc45
jmp 0x14003f29b
add rdx, 0xfffffffffffffffc
mov qword [rsp + 0x5d8], rdx
xor eax, eax
cmp bpl, al
je 0x14003fc70
lea r9, [0x140111598]
xor r8d, r8d
mov rcx, r13
mov dword [rsp + 0x20], 0xffffff9c
call fcn.1400cfb88
mov rbp, rax
jmp 0x140041533
xor eax, eax
lea rcx, [rsp + 0x408]
mov edi, eax
mov dword [rsp + 0x348], eax
call fcn.1400619d4
mov rax, qword [rsp + 0x5d8]
mov rsi, qword [rsp + 0x370]
mov qword [rsp + 0x330], rsi
mov qword [r15], rax
mov rax, qword [rsp + 0x5d8]
mov ebp, 1
mov qword [r15 + 0x358], rax
mov rcx, qword [rsp + 0x5d8]
lea edx, [rbp + 0x2b]
mov qword [rsp + 0x4c8], r15
mov r13d, ebp
call qword [sym.imp.SHLWAPI.dll_StrChrW]
xor r10d, r10d
mov r12, rax
mov qword [rsp + 0x3a0], rax
cmp rax, r10
je 0x14003fd08
mov r15, rax
sub r15, r14
sar r15, 1
add r12, 2
mov qword [rsp + 0x3d8], r15
mov qword [rsp + 0x3a0], r12
lea r15, [rbx + 0x378]
mov qword [r15 + 8], r12
mov qword [r15 + 0x360], r12
cmp r12, r10
je 0x14003fd3d
lea rcx, str._LoadLibrary
mov r8d, 0xc
mov rdx, r12
call fcn.14005a400
xor r10d, r10d
mov byte [rsp + 0x320], bpl
cmp al, r10b
jne 0x14003fd45
mov byte [rsp + 0x320], r10b
cmp r12, r10
je 0x14003fd6a
lea rcx, str._GetProcAddress
mov r8d, 0xf
mov rdx, r12
call fcn.14005a400
xor r10d, r10d
mov r15b, bpl
cmp al, r10b
jne 0x14003fd6d
mov r15b, r10b
cmp r12, r10
je 0x14003fd92
lea rcx, str._FreeLibrary
mov r8d, 0xc
mov rdx, r12
call fcn.14005a400
xor r10d, r10d
mov r14b, bpl
cmp al, r10b
jne 0x14003fd95
mov r14b, r10b
mov dl, byte [rsp + 0x320]
mov bpl, r14b
mov r8d, 0x2c
or bpl, r15b
or bpl, dl
cmp r12, r10
je 0x14003fdf3
lea eax, [r8 - 2]
cmp ax, word [r12]
jne 0x14003fdf3
movzx eax, word [r12 + 2]
cmp r8w, ax
je 0x14003fde6
cmp ax, r10w
je 0x14003fde6
lea ecx, [r8 - 0x23]
cmp cx, ax
ja 0x14003fddc
cmp ax, 0xd
jbe 0x14003fde6
mov ecx, 0x20
cmp cx, ax
jne 0x14003fdf3
mov r9, r13
mov byte [rsp + 0x34f], r9b
jmp 0x14003fe1f
mov byte [rsp + 0x34f], r10b
mov r9, r13
cmp byte [rsp + 0x32a], r10b
jne 0x14003fe1f
cmp byte [rsp + 0x328], r10b
jne 0x14003fe1f
cmp dl, r10b
jne 0x14003fe1f
mov cl, r9b
cmp r14b, r10b
je 0x14003fe22
mov cl, r10b
mov al, r15b
mov byte [rsp + 0x338], cl
mov r11d, 0x10
or al, dl
je 0x14003fe3e
or byte [rsp + 0x34d], r11b
mov dword [rsp + 0x400], r10d
cmp byte [rsp + 0x329], r10b
jne 0x14004003a
cmp cl, r10b
je 0x14004003a
cmp rsi, r10
mov rcx, rsi
mov edx, r8d
cmove rcx, qword [rsp + 0x5d8]
mov qword [rsp + 0x330], rcx
call qword [sym.imp.SHLWAPI.dll_StrChrW]
xor r10d, r10d
mov qword [rsp + 0x330], rax
cmp rax, r10
je 0x14003fea5
mov word [rax], r10w
mov rax, qword [rsp + 0x330]
add rax, 2
mov qword [rsp + 0x330], rax
mov r8, qword [rsp + 0x350]
cmp r8, r10
je 0x14003ffc0
movzx ecx, word [rax]
cmp cx, r10w
je 0x14003ff03
mov edx, 9
lea r9d, [rdx + 0x17]
cmp dx, cx
ja 0x14003fed3
cmp cx, 0xd
jbe 0x14003fef0
cmp r9w, cx
je 0x14003fef0
add rax, 2
mov qword [rsp + 0x330], rax
mov cx, word [rax]
cmp cx, r10w
je 0x14003ff03
jmp 0x14003fec8
cmp word [rax], r10w
je 0x14003ff03
mov word [rax], r10w
add qword [rsp + 0x330], 2
lea rcx, [rsp + 0x330]
call fcn.140016a24
mov esi, 2
lea r9d, [rsi - 1]
mov r13d, esi
jmp 0x14003ffac
cmp rsi, 0x6a
jge 0x14004003a
movzx edx, word [r8]
cmp dx, r10w
je 0x14003ff49
lea rax, [r8 + 2]
cmp word [rax], r10w
cmovne r8, rax
mov qword [rsp + 0x350], r8
mov qword [rsp + 0x3f0], rcx
mov ecx, 0x7e
mov eax, 0x48d
cmp cx, dx
mov r8d, 0x5a5
lea rdx, [rsp + 0x4e0]
lea rcx, [rsp + 0x3f0]
cmove r8d, eax
call fcn.14002467c
mov r8, qword [rsp + 0x350]
mov r9d, 1
mov qword [rsp + 0x330], rax
mov rax, qword [rsp + 0x3f0]
add r13d, r9d
mov qword [rbx + rsi*8 + 0x378], rax
add rsi, r9
xor r10d, r10d
mov rcx, qword [rsp + 0x330]
cmp word [rcx], r10w
jne 0x14003ff21
jmp 0x14004003a
mov r12, r13
mov rsi, r13
mov edi, 0x2c
cmp rax, r10
je 0x140040025
cmp rsi, 2
jl 0x14003ffe6
mov qword [rbx + rsi*8 + 0x378], rax
mov rax, qword [rsp + 0x330]
mov edx, edi
mov rcx, rax
add r13d, r12d
add rsi, r12
call qword [sym.imp.SHLWAPI.dll_StrChrW]
xor r10d, r10d
mov qword [rsp + 0x330], rax
cmp rax, r10
je 0x14004001f
mov word [rax], r10w
mov rax, qword [rsp + 0x330]
add rax, 2
mov qword [rsp + 0x330], rax
cmp rsi, 0x6a
jl 0x14003ffcb
mov edi, dword [rsp + 0x348]
mov r12, qword [rsp + 0x3a0]
mov r9d, 1
mov qword [rsp + 0x3d0], r10
mov qword [rsp + 0x3f0], r10
cmp r12, r10
je 0x140040055
mov word [r12 - 2], r10w
cmp byte [rsp + 0x34f], r10b
jne 0x140040096
cmp r12, r10
je 0x140040096
mov ecx, 0x2a
cmp cx, word [r12]
jne 0x140040096
mov rax, qword [rsp + 0x380]
add r12, 2
add rax, r9
cmp cx, word [r12]
je 0x140040078
mov qword [rsp + 0x380], rax
mov qword [rsp + 0x3a0], r12
mov rdx, qword [rsp + 0x350]
mov r8, r10
mov qword [rsp + 0x340], r10
cmp r12, r10
je 0x140040189
cmp rdx, r10
je 0x140040165
mov r9, r12
mov r11d, 0x2c
cmp word [r12], r10w
je 0x1400400f5
lea eax, [r11 - 0x23]
lea ecx, [rax + 0x17]
cmp r11w, word [r9]
je 0x1400400f5
cmp ax, word [r9]
ja 0x1400400e5
cmp word [r9], 0xd
jbe 0x1400400f5
cmp cx, word [r9]
je 0x1400400f5
add r9, 2
cmp word [r9], r10w
jne 0x1400400d2
cmp word [r9], r10w
je 0x140040189
lea rcx, [rsp + 0x340]
mov qword [rsp + 0x340], r9
call fcn.140016a24
mov rdx, qword [rsp + 0x340]
cmp r11w, word [rdx]
jne 0x140040143
add rdx, 2
lea rcx, [rsp + 0x340]
mov qword [rsp + 0x340], rdx
call fcn.140016a24
mov rdx, qword [rsp + 0x340]
movzx eax, word [rdx]
neg ax
sbb rcx, rcx
and rcx, rdx
mov qword [rsp + 0x340], rcx
mov word [r9], r10w
mov r8, qword [rsp + 0x340]
jmp 0x140040181
mov edx, 0x2c
mov rcx, r12
call qword [sym.imp.SHLWAPI.dll_StrChrW]
xor r10d, r10d
mov r8, rax
mov qword [rsp + 0x340], rax
mov rdx, qword [rsp + 0x350]
mov rcx, qword [rsp + 0x5d8]
cmp word [rcx], r10w
jne 0x1400401cf
cmp bpl, r10b
jne 0x1400401cf
lea rcx, [rsp + 0x3d0]
call fcn.140058d88
lea rcx, [rsp + 0x408]
call fcn.1400eb8e8
lea rcx, [rsp + 0x408]
call fcn.140058d88
mov rbp, 0xffffffff80070057
jmp 0x140041533
cmp rdx, r10
jne 0x1400401f7
cmp r8, r10
je 0x1400401f7
cmp word [r8], r10w
je 0x1400401f7
mov word [r8], r10w
mov r8, qword [rsp + 0x340]
add r8, 2
mov qword [rsp + 0x340], r8
mov ebp, 7
lea eax, [rbp + 0x27]
cmp r12, r10
je 0x1400402f0
mov edx, eax
mov rcx, r12
call qword [sym.imp.SHLWAPI.dll_StrChrW]
xor r10d, r10d
cmp rax, r10
je 0x1400402e0
mov word [rax], r10w
add rax, 2
movzx edx, word [rax]
mov rcx, rax
mov qword [rsp + 0x440], rax
cmp dx, r10w
je 0x140040262
lea r8d, [rbp + 2]
lea r9d, [rbp + 0x19]
cmp r8w, dx
ja 0x14004024f
cmp dx, 0xd
jbe 0x140040262
cmp r9w, dx
je 0x140040262
add rax, 2
mov dx, word [rax]
cmp dx, r10w
jne 0x140040243
mov edx, 1
mov byte [rsp + 0x3bc], dl
cmp rax, rcx
je 0x1400402e0
cmp word [rax], r10w
je 0x14004027d
mov word [rax], r10w
mov eax, 0x3f
cmp ax, word [rcx]
jne 0x14004029b
add rcx, 2
mov byte [rsp + 0x32b], 2
mov qword [rsp + 0x440], rcx
mov qword [rsp + 0x3e8], rcx
lea rdx, [rsp + 0x3c0]
lea rcx, [rsp + 0x440]
mov sil, 3
mov dword [rsp + 0x3bc], esi
call fcn.140065c30
xor r10d, r10d
cmp eax, r10d
je 0x1400402e0
cmp qword [rsp + 0x3c0], r10
movzx esi, sil
cmovge esi, ebp
mov dword [rsp + 0x3bc], esi
mov rdx, qword [rsp + 0x350]
mov r8, qword [rsp + 0x340]
mov r9b, byte [rsp + 0x324]
and r9b, 2
mov byte [rsp + 0x324], r9b
je 0x140040324
cmp r12, r10
je 0x140040324
movzx eax, word [r12]
neg ax
sbb rcx, rcx
and rcx, r12
mov r12, rcx
mov qword [rsp + 0x3a0], rcx
cmp r9b, r10b
je 0x140040423
cmp r8, r10
je 0x140040423
cmp rdx, r10
je 0x1400403e1
movzx eax, word [r8]
mov rdx, r8
mov esi, 0x2c
cmp ax, r10w
je 0x140040384
lea ecx, [rsi - 0x23]
lea r9d, [rsi - 0xc]
cmp si, ax
je 0x140040384
cmp cx, ax
ja 0x140040368
cmp ax, 0xd
jbe 0x140040384
cmp r9w, ax
je 0x140040384
add r8, 2
mov qword [rsp + 0x340], r8
mov ax, word [r8]
cmp ax, r10w
jne 0x140040358
sub r8, rdx
lea rcx, [rsp + 0x3a8]
sar r8, 1
call fcn.140061778
mov r11, qword [rsp + 0x340]
xor r10d, r10d
cmp word [r11], r10w
je 0x14004041b
lea rcx, [rsp + 0x340]
call fcn.140016a24
mov rax, qword [rsp + 0x340]
cmp si, word [rax]
jne 0x1400403db
add rax, 2
lea rcx, [rsp + 0x340]
mov qword [rsp + 0x340], rax
call fcn.140016a24
mov word [r11], r10w
jmp 0x14004040d
mov rcx, qword [rsp + 0x5d0]
lea r8, [rsp + 0x3a8]
lea rdx, [rsp + 0x340]
mov r9d, 0x2c
mov word [rsp + 0x20], r10w
call fcn.140052520
xor r10d, r10d
mov rax, qword [rsp + 0x340]
cmp word [rax], r10w
jne 0x140040423
mov qword [rsp + 0x340], r10
lea rcx, [rsp + 0x3e0]
mov edx, 0x20a
mov rsi, r10
mov qword [rsp + 0x478], r10
mov qword [rsp + 0x350], r10
mov rbp, r10
mov qword [rsp + 0x3c8], r10
mov byte [rsp + 0x358], 0xff
call fcn.140061584
xor edx, edx
cmp byte [rsp + 0x326], dl
jg 0x14004047b
mov rdx, qword [rsp + 0x3e0]
mov ecx, 0x208
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
xor edx, edx
mov cl, byte [rsp + 0x320]
mov r8, qword [rsp + 0x340]
mov r10d, 0x5e
lea r11d, [r10 - 0x34]
cmp cl, dl
je 0x1400404b3
cmp r8, rdx
je 0x1400404b3
cmp r10w, word [r8]
jne 0x1400404b3
cmp r11w, word [r8 + 2]
jne 0x1400404b3
lea r9d, [r10 - 0x5d]
mov eax, r9d
jmp 0x1400404bb
mov eax, edx
mov r9d, 1
cmp cl, dl
je 0x1400404db
cmp r8, rdx
je 0x1400404db
cmp r10w, word [r8]
jne 0x1400404db
cmp r11w, word [r8 + 2]
je 0x1400404db
mov byte [rsp + 0x379], r9b
jmp 0x1400404e6
mov byte [rsp + 0x379], dl
cmp eax, edx
je 0x1400404f2
add r8, 2
mov qword [rsp + 0x340], r8
mov r10d, 0x3c
cmp r8, rdx
je 0x140040519
cmp r10w, word [r8]
jne 0x140040519
add r8, 2
mov byte [rsp + 0x398], r9b
mov qword [rsp + 0x340], r8
jmp 0x140040520
mov byte [rsp + 0x398], dl
cmp cl, dl
je 0x1400406a8
cmp byte [rsp + 0x323], dl
jne 0x1400406a8
mov rax, qword [rsp + 0x3a8]
cmp word [rax], dx
je 0x140040696
cmp r11w, word [rax]
je 0x140040696
cmp r8, rdx
je 0x1400406a8
cmp r11w, word [r8]
je 0x1400406a8
mov ebx, dword [rsp + 0x398]
xor r15d, r15d
mov qword [rsp + 0x380], r8
mov al, bl
lea r12d, [r15 + 0x22]
mov qword [rsp + 0x360], r15
neg al
sbb rcx, rcx
and ecx, 8
mov qword [rsp + 0x3f8], rcx
cmp r12w, word [r8]
jne 0x1400405b8
lea r8d, [r12 + 0x6b]
lea rcx, [rsp + 0x340]
xor edx, edx
call fcn.14002467c
mov r8, rax
mov qword [rsp + 0x380], rax
mov edx, 0x2c
mov rcx, r8
call qword [sym.imp.SHLWAPI.dll_StrChrW]
mov qword [rsp + 0x380], rax
cmp rax, r15
je 0x14004060a
mov word [rax], r15w
add qword [rsp + 0x380], 2
lea rdx, [rsp + 0x360]
lea rcx, [rsp + 0x380]
call fcn.14001d5d4
lea rdx, [rsp + 0x3f8]
lea rcx, [rsp + 0x380]
call fcn.14001d5d4
cmp bl, r15b
je 0x140040629
cmp dword [rsp + 0x360], r15d
movzx ebx, bl
mov edx, 0x10
cmovne ebx, edx
mov dword [rsp + 0x398], ebx
mov rdx, qword [rsp + 0x340]
lea rcx, [rsp + 0x325]
call fcn.140019ce8
cmp bl, r15b
je 0x14004065f
call fcn.1400037fc
mov edx, dword [rsp + 0x360]
mov rcx, qword [rsp + 0x340]
call qword [0x140131810]
jmp 0x14004067d
mov r8d, dword [rsp + 0x3f8]
mov rdx, qword [rsp + 0x360]
mov rcx, qword [rsp + 0x340]
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov r14d, 1
mov rsi, rax
mov byte [rsp + 0x388], r14b
mov rbx, r15
jmp 0x1400414ba
lea rcx, [rsp + 0x3e0]
call fcn.140058d88
jmp 0x14004019c
cmp r15b, dl
je 0x1400407bd
xor r15d, r15d
lea r14d, [r15 + 1]
cmp r8, r15
je 0x140043df9
mov dil, r14b
cmp r11w, word [r8]
jne 0x1400406d6
add r8, 2
mov qword [rsp + 0x340], r8
mov bl, byte [rsp + 0x323]
mov ebp, 0x23
cmp r11w, word [r8]
je 0x1400406ee
cmp bp, word [r8]
jne 0x1400406ff
add r8, 2
mov bl, r14b
mov qword [rsp + 0x340], r8
jmp 0x1400406e2
mov byte [rsp + 0x323], bl
mov rbp, r15
cmp r10w, word [r8]
jne 0x14004071b
add r8, 2
mov qword [rsp + 0x340], r8
cmp word [r8], r15w
je 0x1400407b5
lea rdx, [rsp + 0x420]
lea rcx, [rsp + 0x340]
mov qword [rsp + 0x420], r15
call fcn.1400078b4
mov rdx, qword [rsp + 0x340]
cmp word [rdx], r15w
je 0x1400407ae
or rax, 0xffffffffffffffff
lea rcx, [rsp + 0x3a0]
mov qword [rsp + 0x3a0], r15
mov r9, rax
mov r8, rax
call fcn.14006144c
mov rcx, qword [rsp + 0x420]
cmp bl, r15b
je 0x140040790
cmp rcx, r15
je 0x1400407a1
mov rdx, qword [rsp + 0x3a0]
call fcn.1400178c0
jmp 0x14004079e
mov rdx, qword [rsp + 0x3a0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
lea rcx, [rsp + 0x3a0]
call fcn.140058d88
mov cl, byte [rsp + 0x320]
mov rbx, rbp
jmp 0x140043e03
xor r15d, r15d
cmp r14b, r15b
lea r14d, [r15 + 1]
je 0x1400408aa
cmp r8, r15
je 0x140043df9
mov dil, r14b
mov bl, r15b
cmp r11w, word [r8]
jne 0x1400407ee
add r8, 2
mov qword [rsp + 0x340], r8
mov r12b, byte [rsp + 0x323]
mov ebp, 0x23
cmp r11w, word [r8]
je 0x140040807
cmp bp, word [r8]
jne 0x140040818
add r8, 2
mov r12b, r14b
mov qword [rsp + 0x340], r8
jmp 0x1400407fb
mov byte [rsp + 0x323], r12b
mov rbp, r15
cmp r10w, word [r8]
jne 0x140040838
add r8, 2
mov bl, r14b
mov qword [rsp + 0x340], r8
cmp word [r8], r15w
je 0x1400407b5
lea rdx, [rsp + 0x350]
lea rcx, [rsp + 0x340]
mov qword [rsp + 0x350], r15
call fcn.140070e78
cmp r12b, r14b
mov rcx, qword [rsp + 0x350]
jle 0x14004088c
cmp rcx, r15
je 0x1400407ae
call fcn.140017858
mov cl, byte [rsp + 0x320]
mov rsi, r15
mov rbx, r15
jmp 0x140043e03
cmp bl, r15b
je 0x14004089c
call qword [0x140131818]
jmp 0x1400407ae
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
movsxd rsi, eax
jmp 0x1400407ae
cmp byte [rsp + 0x322], r15b
movzx eax, r15b
cmovne eax, r14d
mov dword [rsp + 0x3b4], eax
cmp r8, r15
jne 0x140040ad3
cmp r12, r15
jne 0x1400408e0
lea r12, [0x14011763a]
mov qword [rsp + 0x3a0], r12
jmp 0x14004090e
lea rcx, [0x14011763a]
mov rdx, r12
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, r15d
je 0x14004090e
lea rcx, [0x14011760a]
mov rdx, r12
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, r15d
jne 0x140040ad3
mov eax, dword [rsp + 0x3b0]
mov ecx, 0x31
mov byte [rsp + 0x3b4], 0xff
cmp eax, r15d
cmovl eax, ecx
mov dword [rsp + 0x3b0], eax
cmp al, r15b
je 0x140040ad3
lea rcx, [rsp + 0x360]
call fcn.140061510
or rbx, 0xffffffffffffffff
lea rdx, str.___exe:_
lea rcx, [rsp + 0x448]
mov r8, rbx
call fcn.14006cf48
lea rdx, [rsp + 0x448]
lea rcx, [rsp + 0x360]
call fcn.14006cfd4
lea rcx, [rsp + 0x448]
call fcn.140058d88
lea rcx, [rsp + 0x360]
mov edx, 0x51c
call fcn.140061610
mov rdx, qword [rsp + 0x360]
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 + 0x458]
mov r8, rbx
call fcn.14006cf48
lea rcx, [rsp + 0x360]
mov rdx, qword [rax]
call fcn.14006164c
lea rcx, [rsp + 0x458]
call fcn.140058d88
mov rax, qword [rsp + 0x3d8]
cmp eax, r15d
jl 0x1400409ff
movsxd rcx, eax
mov rax, qword [rsp + 0x470]
mov word [rax + rcx*2], r15w
mov rdx, qword [rsp + 0x470]
lea rcx, [rsp + 0x360]
call fcn.14006164c
lea rdx, [0x1401175bc]
lea rcx, [rsp + 0x458]
mov r8, rbx
call fcn.14006cf48
lea rcx, [rsp + 0x360]
mov rdx, qword [rax]
call fcn.14006164c
lea rcx, [rsp + 0x458]
call fcn.140058d88
lea rcx, [rsp + 0x360]
mov rdx, r12
call fcn.14006164c
mov rax, qword [rsp + 0x5d0]
mov rdx, qword [rsp + 0x360]
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov r8, rax
mov rcx, rax
xor r9d, r9d
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
call fcn.14000dd60
lea rcx, [rsp + 0x360]
mov rbp, rax
call fcn.140058d88
lea rcx, [rsp + 0x3e0]
call fcn.140058d88
lea rcx, [rsp + 0x3d0]
call fcn.140058d88
lea rcx, [rsp + 0x408]
call fcn.1400eb8e8
lea rcx, [rsp + 0x408]
call fcn.140058d88
jmp 0x140041533
cmp r12, r15
je 0x140043f50
cmp word [r12], r15w
je 0x140043f50
cmp byte [rsp + 0x329], r15b
jne 0x140040c1c
cmp byte [rsp + 0x338], r15b
je 0x140040c1c
mov r9, qword [rsp + 0x370]
cmp r9, r15
je 0x140040c1c
xor eax, eax
cmp r13d, 2
lea rcx, [rbx + 0x378]
lea r15, [rcx + 0x358]
mov qword [rsp + 0x370], rax
mov dword [rsp + 0x400], 2
mov qword [rsp + 0x4c8], r15
jle 0x140040c0c
mov rsi, qword [rsp + 0x5d0]
mov ebx, dword [rsp + 0x400]
movsxd r14, r13d
mov r13, qword [rsp + 0x448]
sub r15, rcx
add r14, 0xfffffffffffffffe
add r13, 0x10
lea r12, [rcx + 0x10]
lea edi, [rax + 1]
xor ebp, ebp
mov rcx, qword [r12]
mov edx, 0x25
call qword [sym.imp.SHLWAPI.dll_StrChrW]
cmp rax, rbp
jne 0x140040b95
mov rax, qword [r12]
mov qword [r15 + r12], rax
jmp 0x140040bcf
mov rdx, qword [r12]
lea r8, [rsp + 0x370]
xor r9d, r9d
mov rcx, rsi
mov byte [rsp + 0x20], dil
call fcn.1400782c4
mov r11, qword [rsp + 0x370]
add ebx, edi
mov qword [r13], r11
mov qword [r15 + r12], r11
add r13, 8
mov qword [rsp + 0x370], rbp
add r12, 8
sub r14, rdi
jne 0x140040b77
mov edi, dword [rsp + 0x348]
mov rsi, qword [rsp + 0x478]
mov rbp, qword [rsp + 0x3c8]
mov r12, qword [rsp + 0x3a0]
mov dword [rsp + 0x400], ebx
mov rbx, qword [rsp + 0x4d8]
mov r14d, 1
lea rcx, [rsp + 0x370]
call fcn.140058d88
xor r15d, r15d
lea rdx, str._DllRegisterServer
mov rcx, r12
mov dword [rsp + 0x370], 2
mov qword [rsp + 0x450], r15
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
mov r13d, dword [rsp + 0x3b0]
cmp eax, r15d
jne 0x140040c7f
cmp r13d, r15d
mov eax, 0x31
lea r12, [0x14011763a]
cmovl r13d, eax
mov byte [rsp + 0x3b4], 0xff
mov byte [rsp + 0x325], r14b
mov dword [rsp + 0x3b0], r13d
mov qword [rsp + 0x3a0], r12
lea rdx, str._DllUnregisterServer
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, r15d
jne 0x140040cc7
cmp r13d, r15d
mov eax, 0x71
lea r12, [0x14011760a]
cmovl r13d, eax
mov byte [rsp + 0x3b4], 0xff
mov byte [rsp + 0x325], r14b
mov dword [rsp + 0x3b0], r13d
mov qword [rsp + 0x3a0], r12
mov ecx, 0x28
mov qword [rsp + 0x440], r15
lea eax, [rcx + 8]
cmp word [r12], ax
jb 0x140040cea
cmp word [r12], 0x39
jbe 0x140040f6c
mov r13, qword [rsp + 0x380]
cmp cx, word [r12]
je 0x140040f74
mov eax, 0x26
cmp ax, word [r12]
je 0x140040d34
cmp r13, r15
jg 0x140040d34
mov rdx, qword [rsp + 0x5d8]
mov eax, 0x23
cmp ax, word [rdx]
jne 0x140040fdd
cmp word [rdx + 2], r15w
jne 0x140040fdd
jmp 0x140040f74
mov rcx, qword [rsp + 0x5d0]
or r9d, 0xffffffff
xor r8d, r8d
mov rdx, r12
mov qword [rsp + 0x20], r15
call fcn.140018260
cmp rax, r15
je 0x140040d6a
mov rbp, qword [rax + 8]
mov qword [rsp + 0x3c8], rbp
cmp rbp, r15
jne 0x140040fad
neg byte [rsp + 0x328]
mov edi, dword [rsp + 0x398]
sbb rsi, rsi
not rsi
and rsi, 0xffffffff80070057
mov r8, qword [rsp + 0x3a8]
cmp word [r8], r15w
je 0x140040ea3
mov eax, 0x2a
cmp ax, word [r8]
je 0x140040ea3
cmp byte [rsp + 0x379], r15b
je 0x140043f2b
cmp rsi, r15
je 0x140043f2b
mov eax, 0x10
test al, dil
jne 0x140043f2b
mov rcx, qword [rsp + 0x5d0]
mov rdx, rsi
call fcn.14003ea3c
mov rbx, rax
cmp dil, r15b
je 0x140040e15
cmp rax, r15
je 0x140040e15
mov rcx, qword [rax + 8]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov rdx, qword [rbx + 8]
lea ecx, [rax + 1]
movsxd r8, ecx
lea rcx, [rdx + 2]
add r8, r8
call fcn.14001ce84
mov r10, qword [rbx + 8]
mov eax, 0x3c
mov word [r10], ax
mov rbx, qword [rsp + 0x5d0]
cmp byte [rsp + 0x32b], r15b
je 0x140040ea3
mov rdx, qword [rsp + 0x3a8]
lea rcx, [rsp + 0x3f0]
call fcn.14006cf08
lea rdx, str..args
lea rcx, [rsp + 0x3a8]
call fcn.14006164c
lea rdx, str..addr
lea rcx, [rsp + 0x3f0]
call fcn.14006164c
movsx edx, byte [rsp + 0x358]
mov r8, qword [rsp + 0x3a8]
mov rcx, rbx
call fcn.14006482c
mov r8, qword [rsp + 0x3f0]
lea r9, [0x140111690]
mov rdx, rbp
mov rcx, rbx
call fcn.140064754
lea rcx, [rsp + 0x3f0]
call fcn.140058d88
mov eax, dword [rsp + 0x400]
sub eax, r14d
cmp eax, 2
movsxd rbx, eax
jl 0x140040eea
mov rax, qword [rsp + 0x448]
mov r8, qword [rax + rbx*8]
cmp r8, r15
je 0x140040ee1
mov rcx, qword [0x1401312f8]
add r8, 0xfffffffffffffff8
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [rsp + 0x448]
sub rbx, r14
cmp rbx, 2
jge 0x140040ebd
lea rcx, [rsp + 0x3e0]
call fcn.140058d88
lea rcx, [rsp + 0x3d0]
call fcn.140058d88
lea rcx, [rsp + 0x408]
call fcn.1400eb8e8
lea rcx, [rsp + 0x408]
call fcn.140058d88
lea rcx, [rsp + 0x488]
call fcn.140058d88
lea rcx, [rsp + 0x460]
call fcn.140058d88
lea rcx, [rsp + 0x4b8]
call fcn.140058d88
lea rcx, [rsp + 0x3a8]
call fcn.140058d88
lea rcx, [rsp + 0x470]
call fcn.140058d88
mov rax, qword [rsp + 0x368]
jmp 0x140043fd8
mov r13, qword [rsp + 0x380]
lea rdx, [rsp + 0x440]
lea rcx, [rsp + 0x4e0]
mov qword [rsp + 0x4e0], r12
call fcn.140070ffc
mov r11, qword [rsp + 0x440]
cmp r11, r15
je 0x140040d6a
mov rbp, r11
mov qword [rsp + 0x3c8], r11
movzx ecx, byte [rsp + 0x326]
mov rdx, qword [rsp + 0x5d8]
mov byte [rsp + 0x3b4], r14b
mov eax, ecx
cmp cl, r15b
mov byte [rsp + 0x34f], r15b
cmovl eax, r14d
mov byte [rsp + 0x326], al
cmp r13, r15
jle 0x140041001
cmp rbp, r15
je 0x140041001
lea rax, [r13 - 1]
cmp rax, r15
jl 0x140041001
sub rax, r14
mov rbp, qword [rbp]
jns 0x140040ff0
mov qword [rsp + 0x3c8], rbp
mov rax, qword [rsp + 0x3e8]
or dword [rsp + 0x404], 0xffffffff
mov qword [rsp + 0x4e8], rbp
cmp rax, r15
je 0x14004157c
cmp qword [rsp + 0x3c0], r15
jge 0x14004157c
mov r13b, r14b
mov byte [rsp + 0x322], r14b
cmp rbp, r15
jne 0x140041058
mov qword [rsp + 0x368], 0xffffffff80070057
mov rbx, 0xffffffff80070057
jmp 0x1400414ba
mov r12, qword [rbp]
mov qword [rsp + 0x380], r15
mov qword [rsp + 0x4c0], r12
cmp r12, r15
je 0x14004118f
lea rcx, str.Release
mov rdx, rax
call fcn.14005a478
cmp al, r15b
je 0x14004109a
mov qword [rsp + 0x3c0], 2
jmp 0x140041422
mov rdx, qword [rsp + 0x3e8]
lea rcx, str.AddRef
call fcn.14005a478
cmp al, r15b
je 0x1400410c0
mov qword [rsp + 0x3c0], r14
jmp 0x140041422
mov rdx, qword [rsp + 0x3e8]
lea rcx, str.QueryInterface
call fcn.14005a478
cmp al, r15b
je 0x1400410e6
mov qword [rsp + 0x3c0], r15
jmp 0x140041422
mov rdx, qword [rsp + 0x3e8]
lea rcx, str.GetTypeInfoCount
call fcn.14005a478
cmp al, r15b
je 0x140041111
mov eax, 3
mov qword [rsp + 0x3c0], rax
jmp 0x140041422
mov rdx, qword [rsp + 0x3e8]
lea rcx, str.GetTypeInfo
call fcn.14005a478
cmp al, r15b
je 0x14004113b
mov qword [rsp + 0x3c0], 4
jmp 0x140041422
mov rdx, qword [rsp + 0x3e8]
lea rcx, str.GetIDsOfNames
call fcn.14005a478
cmp al, r15b
je 0x140041165
mov qword [rsp + 0x3c0], 5
jmp 0x140041422
mov rdx, qword [rsp + 0x3e8]
lea rcx, str.Invoke
call fcn.14005a478
cmp al, r15b
je 0x14004118f
mov qword [rsp + 0x3c0], 6
jmp 0x140041422
mov rax, qword [rbp]
lea rcx, [rsp + 0x404]
lea r8, [rsp + 0x3e8]
mov qword [rsp + 0x28], rcx
lea rdx, [0x1401218f8]
mov r9d, r14d
mov rcx, rbp
mov dword [rsp + 0x20], 0x800
call qword [rax + 0x28]
movsxd rdx, dword [rsp + 0x404]
movsxd rcx, eax
mov rax, rdx
mov qword [rsp + 0x3c0], rdx
cmp rcx, r15
jne 0x140041498
cmp edx, r15d
jl 0x140041498
mov eax, r15d
mov dword [rsp + 0x480], eax
cmp r12, r15
je 0x140041210
mov rax, qword [rbp]
lea rdx, [rsp + 0x480]
mov rcx, rbp
call qword [rax + 0x18]
mov eax, dword [rsp + 0x480]
mov qword [rsp + 0x3d8], r15
cmp eax, r15d
je 0x140041249
cmp r12, r15
je 0x140041249
mov rcx, qword [rsp + 0x380]
cmp rcx, r15
jne 0x14004125a
mov rax, qword [rbp]
lea r9, [rsp + 0x380]
xor edx, edx
mov r8d, 0x800
mov rcx, rbp
call qword [rax + 0x20]
mov rcx, qword [rsp + 0x380]
cmp rcx, r15
je 0x14004148b
cmp qword [0x140130980], r15
jne 0x140041270
call fcn.1400037fc
mov rcx, qword [rsp + 0x380]
cmp byte [rsp + 0x339], r15b
mov al, byte [rsp + 0x32b]
jge 0x140041289
cmp al, r15b
jg 0x140041289
mov r15b, r14b
xor edx, edx
cmp al, dl
jle 0x1400412aa
mov rax, qword [rsp + 0x3a8]
cmp word [rax], dx
je 0x1400412aa
lea r8d, [rdx + 0x2a]
lea r14d, [rdx + 0x70]
cmp r8w, word [rax]
jne 0x1400412b0
mov r14d, 2
mov r12d, 7
mov qword [rsp + 0x3d8], rdx
mov rax, qword [rcx]
lea r8, [rsp + 0x3d8]
mov edx, r12d
call qword [rax + 0x28]
mov rdx, qword [rsp + 0x3d8]
xor eax, eax
cmp rdx, rax
je 0x140041460
mov rcx, qword [rsp + 0x380]
movsxd r13, dword [rdx]
mov rax, qword [rcx]
call qword [rax + 0xa0]
xor edx, edx
cmp r15b, dl
je 0x140041316
movsxd rax, dword [rsp + 0x404]
cmp r13, rax
je 0x140041406
lea eax, [rdx + 1]
jmp 0x1400413ed
mov rcx, qword [rsp + 0x380]
or dword [rsp + 0x348], 0xffffffff
mov r8, qword [rsp + 0x428]
mov rax, qword [rcx]
lea rdx, [rsp + 0x348]
mov r9d, r14d
mov qword [rsp + 0x20], rdx
mov edx, r13d
call qword [rax + 0x38]
mov r11d, dword [rsp + 0x348]
mov r13, qword [rsp + 0x428]
xor edx, edx
cmp r11d, edx
jle 0x1400413d2
mov rdx, qword [rsp + 0x3e8]
mov rcx, qword [r13]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
xor edx, edx
cmp eax, edx
jne 0x1400413ca
mov al, byte [rsp + 0x339]
cmp al, dl
jl 0x140041391
movsx ecx, al
mov rax, qword [rsp + 0x3d8]
cmp ecx, dword [rax + 0x1c]
jne 0x1400413ca
mov r11d, dword [rsp + 0x348]
lea eax, [r11 - 1]
mov byte [rsp + 0x358], al
jmp 0x1400413d2
movsxd rcx, r11d
cmp qword [r13 + rcx*8], rdx
je 0x1400413d7
mov rcx, qword [r13 + rcx*8]
call qword [0x140130980]
movsxd r11, dword [rsp + 0x348]
xor edx, edx
mov qword [r13 + r11*8], rdx
mov r11d, dword [rsp + 0x348]
mov eax, 1
sub r11d, eax
mov dword [rsp + 0x348], r11d
jns 0x1400413a6
cmp byte [rsp + 0x358], dl
jge 0x140041406
add r12, rax
cmp r12, 0x7fffffff
jge 0x140041460
mov rcx, qword [rsp + 0x380]
jmp 0x1400412b6
mov rax, qword [rsp + 0x4c0]
xor r15d, r15d
cmp qword [rax + r12*8], r15
je 0x140041463
mov qword [rsp + 0x3c0], r12
mov r12, rax
mov al, byte [rsp + 0x34c]
or byte [rsp + 0x3bc], 6
mov r13b, 0xff
mov byte [rsp + 0x322], r13b
cmp al, r15b
je 0x14004144a
or al, 2
mov byte [rsp + 0x34c], al
mov rax, qword [rsp + 0x3c0]
mov rbp, qword [r12 + rax*8]
mov qword [rsp + 0x3c8], rbp
jmp 0x14004146b
xor r15d, r15d
mov r13b, byte [rsp + 0x322]
mov rcx, qword [rsp + 0x380]
cmp rcx, r15
je 0x14004148b
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x380], r15
call fcn.14005f6a0
mov rdx, qword [rsp + 0x5d8]
jmp 0x140041587
mov qword [rsp + 0x368], 0xffffffff80004001
cmp byte [rsp + 0x32b], r15b
jne 0x140041597
mov rbx, qword [rsp + 0x368]
mov al, byte [rsp + 0x326]
cmp al, r15b
jg 0x1400414da
mov rcx, qword [rsp + 0x3e0]
call fcn.140019c94
mov al, byte [rsp + 0x326]
cmp qword [rsp + 0x440], r15
je 0x1400414e9
cmp al, r15b
jg 0x1400414ee
call fcn.14001d9fc
cmp byte [rsp + 0x32a], r15b
je 0x140043de9
lea rcx, [rsp + 0x3e0]
call fcn.140058d88
lea rcx, [rsp + 0x3d0]
call fcn.140058d88
lea rcx, [rsp + 0x408]
call fcn.1400eb8e8
lea rcx, [rsp + 0x408]
call fcn.140058d88
mov rbp, rsi
lea rcx, [rsp + 0x488]
call fcn.140058d88
lea rcx, [rsp + 0x460]
call fcn.140058d88
lea rcx, [rsp + 0x4b8]
call fcn.140058d88
lea rcx, [rsp + 0x3a8]
call fcn.140058d88
lea rcx, [rsp + 0x470]
call fcn.140058d88
mov rax, rbp
jmp 0x140043fd8
mov r13b, r15b
mov byte [rsp + 0x322], r15b
cmp byte [rsp + 0x32b], r15b
je 0x1400415b9
mov r14d, 1
mov rbx, qword [rsp + 0x3c0]
mov cl, byte [rsp + 0x320]
mov dil, 0x10
mov qword [rsp + 0x368], rbx
mov rsi, rbx
jmp 0x140043e03
mov r10d, 1
lea r9, [rbx + 0xa08]
cmp r13b, r10b
jne 0x1400415de
mov rax, qword [rsp + 0x430]
mov qword [rax], r9
mov rdx, qword [rsp + 0x5d8]
cmp byte [rsp + 0x329], r15b
jne 0x140041ce4
cmp byte [rsp + 0x338], r15b
je 0x140041ce4
mov r8, qword [rsp + 0x4c8]
cmp qword [r8 + 8], r15
je 0x140041ce4
mov r11b, byte [rsp + 0x324]
mov ecx, dword [rsp + 0x370]
cmp r11b, r15b
je 0x140041637
mov rax, qword [r8 + 0x10]
cmp rax, r15
mov qword [rsp + 0x330], rax
mov eax, 3
cmovne ecx, eax
cmp byte [rsp + 0x3bc], r15b
je 0x14004164f
mov qword [rbx], r15
mov rdx, qword [rsp + 0x5d8]
mov edi, r10d
mov al, byte [rsp + 0x321]
mov byte [rsp + 0x338], al
movsxd rax, ecx
movsxd rcx, edi
cmp edi, 0x64
ja 0x140041ce4
lea r14, [rbx + rcx*8]
mov rcx, qword [rsp + 0x490]
mov bl, byte [rsp + 0x338]
lea rsi, [r8 + rax*8]
mov bpl, bl
xor r10d, r10d
lea r15, [rcx + rax*8 - 8]
mov rax, qword [rsi]
mov ecx, 8
add rsi, rcx
add r15, rcx
mov qword [rsp + 0x330], rax
cmp rax, r10
je 0x140041cb5
mov rdx, qword [rsp + 0x438]
mov qword [r14], rax
mov rcx, qword [rsp + 0x330]
mov r12w, word [rcx]
mov r8b, r10b
cmp rdx, r10
jne 0x1400416d1
mov bpl, bl
jmp 0x1400416ee
cmp word [rdx], r10w
je 0x1400416ee
mov bpl, byte [rdx]
lea rax, [rdx + 2]
cmp word [rax], r10w
cmovne rdx, rax
mov qword [rsp + 0x438], rdx
mov eax, 0x23
lea edx, [rax + 7]
cmp bpl, al
je 0x1400417f3
cmp bpl, dl
je 0x1400417f3
lea r11d, [rax + 0x19]
cmp bpl, r11b
lea r11d, [rax + 0x1b]
je 0x1400417f9
cmp bpl, r11b
je 0x1400417f9
lea edx, [rax + 1]
cmp bpl, dl
je 0x140041977
lea edx, [rax + 0x1d]
cmp bpl, dl
je 0x1400419ae
lea edx, [rax + 0x1a]
cmp bpl, dl
je 0x1400419ca
lea edx, [rax + 0x5b]
cmp bpl, dl
je 0x140041963
cmp bpl, r10b
jne 0x14004191b
cmp ax, r12w
je 0x140041bd8
lea r8d, [rax + 0x19]
cmp r8w, r12w
je 0x1400419e3
cmp r11w, r12w
jne 0x140041c94
cmp r11w, word [rcx]
jne 0x14004178f
add rcx, 2
mov qword [rsp + 0x330], rcx
mov r8d, 0x3a
mov dword [rsp + 0x348], 0xc
cmp r8w, word [rcx]
jne 0x14004187a
add rcx, 2
lea rdx, [rsp + 0x348]
mov qword [rsp + 0x330], rcx
lea rcx, [rsp + 0x330]
call fcn.140065c5c
mov rcx, qword [rsp + 0x330]
mov r8d, 0x3a
cmp r8w, word [rcx]
jne 0x1400417eb
add rcx, 2
mov qword [rsp + 0x330], rcx
xor r10d, r10d
jmp 0x14004187a
mov r11d, 0x3e
mov r8d, 0x3c
cmp r8w, r12w
je 0x14004191b
cmp ax, r12w
je 0x14004191b
cmp dx, r12w
je 0x14004191b
lea edx, [r8 - 0x18]
cmp dx, r12w
je 0x14004191b
lea edx, [r8 + 4]
cmp dx, r12w
je 0x14004191b
lea edx, [r8 + 1]
cmp dx, r12w
je 0x14004191b
lea edx, [r8 + 0x42]
cmp dx, r12w
je 0x14004191b
cmp bpl, al
je 0x140041bd8
cmp bpl, r8b
je 0x1400419e3
movsx r12d, bpl
cmp bpl, r11b
je 0x14004177d
mov r8d, 0x3a
mov r9d, 0x2a
cmp r9w, word [rcx]
jne 0x140041892
add rcx, 2
mov qword [rsp + 0x330], rcx
cmp r9w, r12w
mov eax, 0xc
mov edx, 0x400b
cmove eax, edx
mov r13w, r10w
mov dword [rsp + 0x348], eax
cmp r8w, word [rcx]
jne 0x1400418f6
add rcx, 2
lea rdx, [rsp + 0x348]
mov qword [rsp + 0x330], rcx
lea rcx, [rsp + 0x330]
call fcn.140065c5c
mov rcx, qword [rsp + 0x330]
mov eax, 0x3a
cmp ax, word [rcx]
jne 0x1400418f3
add rcx, 2
mov qword [rsp + 0x330], rcx
xor r10d, r10d
mov eax, 0x7e
cmp ax, word [rcx]
jne 0x140041a05
add rcx, 2
mov r13d, 0xfde9
mov qword [rsp + 0x330], rcx
jmp 0x140041a13
add rcx, 2
movzx edx, r12w
mov r8b, 1
sub edx, eax
mov qword [rsp + 0x330], rcx
je 0x140041bd8
sub edx, 7
je 0x140041874
sub edx, 0x12
je 0x1400419dd
mov eax, 1
sub edx, eax
je 0x1400419ca
sub edx, eax
je 0x14004177d
sub edx, 2
je 0x1400419ae
cmp edx, r11d
jne 0x14004197c
mov r13d, 0xfde9
cmp rcx, r10
je 0x140041b43
jmp 0x140041ab7
mov eax, 1
mov qword [r14], rcx
cmp r13b, al
jne 0x140041c94
mov eax, 8
mov word [r9], ax
mov rax, qword [rsp + 0x330]
add r9, 0x18
mov qword [r9 - 0x10], rax
mov qword [rsp + 0x360], r9
jmp 0x140041c94
mov r13d, r10d
cmp rcx, r10
jne 0x140041ab7
mov r13b, byte [rsp + 0x322]
mov qword [r14], r10
jmp 0x140041c94
mov rax, qword [r15]
movsx rcx, r8b
lea rcx, [rax + rcx*2]
mov qword [r14], rcx
jmp 0x140041c94
mov r8d, 0x3c
cmp r8w, word [rcx]
jne 0x1400419f5
add rcx, 2
mov qword [rsp + 0x330], rcx
mov dword [rsp + 0x348], 0x14
jmp 0x140041bf5
mov eax, 0x40
cmp ax, word [rcx]
jne 0x140041a13
mov r13w, r10w
lea rcx, [rsp + 0x370]
call fcn.140061510
mov r12, qword [rsp + 0x5d0]
xor eax, eax
lea r9d, [rax + 0x2c]
lea r8, [rsp + 0x370]
lea rdx, [rsp + 0x330]
mov rcx, r12
mov word [rsp + 0x20], ax
call fcn.140052520
mov rdx, qword [rsp + 0x370]
xor eax, eax
or r9d, 0xffffffff
xor r8d, r8d
mov rcx, r12
mov qword [rsp + 0x330], rax
mov qword [rsp + 0x20], rax
call fcn.140018260
xor ecx, ecx
cmp rax, rcx
je 0x140041a86
mov rax, qword [rax + 8]
mov qword [rsp + 0x330], rax
jmp 0x140041a8e
mov rax, qword [rsp + 0x330]
cmp r13w, cx
je 0x140041b6a
cmp rax, rcx
je 0x140041b5b
cmp word [rax], cx
je 0x140041b6a
lea rcx, [rsp + 0x370]
call fcn.140058d88
mov ecx, 8
call fcn.1400f7b78
mov r12, rax
xor eax, eax
cmp r12, rax
je 0x140041ad1
mov qword [r12], rax
jmp 0x140041ad4
mov r12, rax
mov rdx, qword [rsp + 0x330]
movzx r9d, r13w
or r8, 0xffffffffffffffff
mov rcx, r12
call fcn.14006144c
mov r11, qword [r12]
mov eax, 1
mov qword [rsp + 0x28], rax
mov eax, 8
lea r9, [rsp + 0x490]
lea r8, [rsp + 0x418]
lea rdx, [rsp + 0x410]
lea rcx, [rsp + 0x408]
mov dword [rsp + 0x20], eax
mov qword [rsp + 0x330], r11
mov qword [rsp + 0x490], r12
call fcn.140061860
mov rcx, qword [rsp + 0x330]
xor r10d, r10d
mov r13b, byte [rsp + 0x322]
mov r9, qword [rsp + 0x360]
mov qword [r14], rcx
jmp 0x140041c94
lea rax, [0x140111598]
mov qword [rsp + 0x330], rax
lea rcx, [rsp + 0x370]
mov qword [r14], rax
call fcn.140058d88
mov r13b, byte [rsp + 0x322]
mov r9, qword [rsp + 0x360]
cmp r13b, 1
jne 0x140041c91
mov eax, dword [rsp + 0x348]
mov word [r9], ax
cmp eax, 0xc
jne 0x140041bc7
mov rcx, qword [rsp + 0x330]
mov rax, qword [rcx]
mov qword [r9], rax
mov rax, qword [rcx + 8]
mov qword [r9 + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [r9 + 0x10], rax
jmp 0x140041c85
mov rax, qword [rsp + 0x330]
mov qword [r9 + 8], rax
jmp 0x140041c85
cmp ax, word [rcx]
jne 0x140041be9
add rcx, 2
mov qword [rsp + 0x330], rcx
mov eax, 3
mov dword [rsp + 0x348], eax
mov r12d, 0x3a
cmp r12w, word [rcx]
jne 0x140041c3f
add rcx, 2
lea rdx, [rsp + 0x348]
mov qword [rsp + 0x330], rcx
lea rcx, [rsp + 0x330]
call fcn.140065c5c
mov rax, qword [rsp + 0x330]
cmp r12w, word [rax]
jne 0x140041c3c
add rax, 2
mov qword [rsp + 0x330], rax
xor r10d, r10d
lea rdx, [rsp + 0x450]
lea rcx, [rsp + 0x330]
mov qword [rsp + 0x450], r10
call fcn.140070ffc
mov r11, qword [rsp + 0x450]
mov r9, qword [rsp + 0x360]
mov qword [r14], r11
cmp r13b, 1
jne 0x140041c91
movzx eax, word [rsp + 0x348]
mov qword [r9 + 8], r11
mov word [r9], ax
add r9, 0x18
mov qword [rsp + 0x360], r9
xor r10d, r10d
mov eax, 8
inc edi
add r14, rax
cmp byte [rsp + 0x378], r10b
jne 0x140041cb5
mov eax, 0x64
cmp edi, eax
jbe 0x14004168e
mov rdx, qword [rsp + 0x5d8]
mov rbx, qword [rsp + 0x4d8]
mov rsi, qword [rsp + 0x478]
xor r15d, r15d
mov byte [rsp + 0x321], bpl
mov rbp, qword [rsp + 0x3c8]
lea r10d, [r15 + 1]
cmp byte [rsp + 0x320], r15b
je 0x140041d09
mov rax, rdx
mov rdx, qword [rsp + 0x340]
mov qword [rsp + 0x5d8], rdx
mov qword [rsp + 0x340], rax
mov byte [rsp + 0x324], r15b
mov r14d, r15d
mov r12d, 0x22
cmp rdx, r15
je 0x140041d3a
cmp r12w, word [rdx]
mov rcx, rdx
cmove r14d, r10d
call fcn.14001b428
mov rdx, rax
mov qword [rsp + 0x5d8], rax
mov r8d, 0x2a
mov qword [rsp + 0x390], rdx
mov rcx, rdx
cmp r8w, word [rdx]
jne 0x140041d6c
lea rax, [rcx + 2]
cmp r8w, word [rax]
jne 0x140041d6c
mov qword [rsp + 0x390], rax
mov rcx, rax
cmp r8w, word [rax]
je 0x140041d51
mov r9d, 0x30
lea r10d, [r9 - 0x27]
cmp r8w, word [rcx]
jne 0x140041e16
movzx eax, word [rcx + 2]
sub ax, r9w
cmp ax, r10w
jbe 0x140041d96
or byte [rsp + 0x323], 2
cmp r8w, word [rcx]
jne 0x140041e16
lea r8, [rcx + 2]
movzx eax, word [r8]
sub ax, r9w
cmp ax, r10w
ja 0x140041e16
cmp rcx, rdx
lea rdx, [rsp + 0x478]
lea rcx, [rsp + 0x390]
seta r15b
xor eax, eax
mov qword [rsp + 0x390], r8
mov qword [rsp + 0x478], rax
inc r15b
call fcn.140070e78
xor r8d, r8d
cmp eax, r8d
jle 0x140040696
mov rax, qword [rsp + 0x478]
mov qword [rsp + 0x350], rax
cmp rax, r8
je 0x140040696
mov rdx, qword [rsp + 0x5d8]
mov rcx, qword [rsp + 0x390]
jmp 0x140041e2a
xor r8d, r8d
cmp word [rcx], r8w
jne 0x140041e2f
mov rcx, r8
mov qword [rsp + 0x390], rcx
cmp r15b, r8b
jne 0x140041e4f
cmp rcx, r8
je 0x140041e4f
mov eax, 0x2e
cmp word [rcx], ax
jne 0x140041e4f
cmp word [rcx + 2], r8w
jne 0x140041e4f
mov eax, 1
mov r13b, al
jmp 0x140041e5b
mov r13b, r8b
cmp r15b, r8b
jne 0x140041ef7
cmp byte [rsp + 0x34f], r8b
je 0x140041ef7
cmp byte [rsp + 0x323], r8b
jne 0x140041ef7
xor r15d, r15d
cmp r13b, r15b
je 0x140041e88
mov rax, qword [0x140130a70]
jmp 0x140041e96
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rdx, qword [rsp + 0x5d8]
cmp rax, r15
jne 0x140041edd
lea rcx, [rsp + 0x325]
call fcn.140019ce8
mov rcx, qword [rsp + 0x5d8]
mov r14d, 1
mov bl, r14b
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp rax, r15
jne 0x140041ee6
cmp byte [rsp + 0x328], r15b
je 0x140041ed3
mov eax, r15d
jmp 0x140041ed9
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x140041ee9
mov bl, r15b
mov r14d, 1
mov rsi, r15
cmp bl, r14b
je 0x14004068e
jmp 0x1400414fc
lea rcx, [rsp + 0x325]
call fcn.140019ce8
xor r8d, r8d
cmp rbp, r8
jne 0x1400427a8
mov dl, byte [rsp + 0x323]
mov rax, qword [0x140130a70]
mov r9, qword [rsp + 0x390]
mov rcx, qword [rsp + 0x350]
mov r10d, 0xffdf
cmp dl, r8b
jne 0x140041f7b
cmp rcx, r8
jne 0x140041f7b
cmp byte [rsp + 0x3b4], r8b
jne 0x140041f7b
cmp r9, r8
je 0x140041f73
lea ecx, [r8 + 0x2e]
cmp word [r9], cx
jne 0x1400423bc
cmp word [r9 + 2], r8w
jne 0x1400423bc
mov rcx, rax
mov qword [rsp + 0x350], rax
jmp 0x140041f84
mov byte [rsp + 0x3b4], 2
cmp r9, r8
je 0x140042587
cmp rcx, r8
jne 0x1400425ae
cmp dl, r8b
je 0x1400423bc
xor r15d, r15d
mov rcx, r9
mov qword [rsp + 0x4a0], r15
mov qword [rsp + 0x4a8], r15
mov qword [rsp + 0x4b0], r15
movzx r10d, word [r9]
cmp r14d, r15d
lea r14d, [r15 + 0x23]
mov qword [rsp + 0x370], rcx
jne 0x140041fee
cmp r14w, word [r9]
jne 0x140041fee
movzx eax, word [r9 + 2]
lea edx, [r15 + 9]
sub ax, 0x30
cmp ax, dx
ja 0x140041fee
mov r11, qword [rsp + 0x5d8]
jmp 0x140042079
mov r13d, 0x2a
cmp r13w, r10w
jne 0x140042011
add r9, 2
mov rcx, r9
mov qword [rsp + 0x390], r9
mov qword [rsp + 0x370], rcx
mov r11, r15
cmp r12w, word [r9]
jne 0x14004206f
add r9, 2
lea rcx, [rsp + 0x370]
mov edx, r12d
mov qword [rsp + 0x390], r9
mov qword [rsp + 0x370], r9
call fcn.14004e208
mov rcx, qword [rsp + 0x370]
cmp word [rcx], r15w
je 0x14004206f
mov word [rcx], r15w
mov r9, qword [rsp + 0x390]
mov r11, rcx
mov rcx, qword [rsp + 0x370]
add rcx, 2
mov qword [rsp + 0x370], rcx
cmp r13w, r10w
jne 0x140042188
mov r10, qword [0x140130f48]
mov r13, r15
jmp 0x140042097
cmp r14w, ax
je 0x1400420a0
add rcx, 2
mov qword [rsp + 0x370], rcx
movzx eax, word [rcx]
cmp ax, r15w
jne 0x140042085
mov rax, rcx
cmp word [rcx], r15w
je 0x1400420db
mov r8d, 0x3a
mov edx, 0x7c
cmp dx, word [rax]
je 0x1400420cb
cmp r8w, word [rax]
je 0x1400420cb
add rax, 2
cmp word [rax], r15w
jne 0x1400420af
jmp 0x1400420db
mov word [rax], r15w
mov rcx, qword [rsp + 0x370]
add rax, 2
cmp word [rax], r15w
lea r12, str.EXEDATA
cmovne r12, rax
cmp r14w, word [rcx]
jne 0x140042198
mov word [rcx], r15w
cmp r11, r15
je 0x140042101
mov word [r11], r15w
mov rcx, qword [rsp + 0x390]
mov eax, 0x2e
cmp ax, word [rcx]
jne 0x14004212f
lea rax, [rcx + 2]
cmp word [rax], r15w
jne 0x14004212f
mov r10, qword [0x140130a70]
mov rcx, rax
mov qword [rsp + 0x390], rax
cmp word [rcx], r15w
je 0x140042147
xor edx, edx
lea r8d, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov r10, rax
mov r13, rax
mov rax, qword [rsp + 0x370]
mov word [rax], r14w
cmp r10, r15
je 0x140042178
mov rdx, qword [rsp + 0x370]
lea r9, [rsp + 0x4a0]
mov r8, r12
mov rcx, r10
mov qword [rsp + 0x20], r15
call fcn.14001e124
cmp r13, r15
je 0x140042198
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x140042198
lea rdx, [rsp + 0x4a0]
mov rcx, r9
call fcn.14001d974
mov r12, qword [rsp + 0x4a0]
mov r13d, dword [rsp + 0x4a8]
cmp r12, r15
jne 0x140042251
cmp byte [rsp + 0x320], r15b
mov r14d, 1
lea rcx, [rsp + 0x4a0]
mov rbx, r14
mov rsi, r15
mov byte [rsp + 0x327], r14b
sete sil
mov qword [rsp + 0x368], rbx
call fcn.140058d88
cmp byte [rsp + 0x32a], r15b
je 0x1400414ba
mov bl, byte [rsp + 0x324]
cmp byte [rsp + 0x328], r15b
jne 0x140040a9a
cmp rbp, r15
je 0x140042226
lea rdx, str.0x_p
lea rcx, [rsp + 0x510]
mov r8, rbp
call qword [sym.imp.USER32.dll_wsprintfW]
mov rdx, qword [rsp + 0x3a8]
mov rcx, qword [rsp + 0x5d0]
lea r8, [rsp + 0x510]
call fcn.140060828
cmp bl, 2
je 0x1400414b2
jmp 0x1400414fc
lea rcx, [rsp + 0x3d0]
mov edx, 0x48
call fcn.140018080
mov r11, rax
cmp rax, r15
je 0x140042286
mov rcx, rax
call fcn.140018064
lea rcx, [0x140114a08]
mov qword [r11], rcx
lea rcx, [r11 + 8]
call fcn.140017838
lea r14, [r11 + 8]
mov r8, r13
mov rdx, r12
mov rcx, r14
mov qword [rsp + 0x3f0], r14
call fcn.1400280a8
cmp rax, r15
je 0x140042387
cmp byte [rsp + 0x320], r15b
je 0x14004233b
mov r8, qword [rsp + 0x340]
cmp r8, r15
je 0x1400422ca
cmp word [r8], r15w
jne 0x1400422dd
mov rax, qword [rsp + 0x3a8]
mov r8, r15
cmp word [rax], r15w
cmovne r8, rax
mov rsi, r14
mov dil, 1
cmp r8, r15
je 0x14004231c
mov rax, qword [rsp + 0x4a0]
mov rcx, qword [rsp + 0x5d0]
lea r9, [rsp + 0x3d0]
mov qword [r14 + 0x10], rax
mov rdx, r14
mov qword [rsp + 0x4a0], r15
call fcn.14003e7ec
mov qword [rsp + 0x3f0], r15
lea rcx, [rsp + 0x4a0]
call fcn.140058d88
mov cl, byte [rsp + 0x320]
mov r14d, 1
jmp 0x140043e00
mov rdx, qword [rsp + 0x3a0]
or rax, 0xffffffffffffffff
lea rcx, [rsp + 0x438]
mov r9, rax
mov r8, rax
mov qword [rsp + 0x438], r15
call fcn.14006144c
mov rdx, qword [rsp + 0x438]
mov rcx, r14
call fcn.1400178c0
lea rcx, [rsp + 0x438]
mov rbp, rax
call fcn.140058d88
cmp rbp, r15
jne 0x1400423aa
cmp byte [rsp + 0x320], r15b
mov eax, 1
mov rsi, r15
sete sil
mov byte [rsp + 0x327], al
mov qword [rsp + 0x368], rax
lea rcx, [rsp + 0x4a0]
call fcn.140058d88
jmp 0x1400427ab
movzx r12d, word [r9]
and r12d, r10d
je 0x1400423cf
mov r12d, dword [r9]
and r12d, 0xffdfffdf
xor r14d, r14d
cmp r13b, r14b
jne 0x140042567
cmp byte [rsp + 0x320], r14b
jne 0x140042556
cmp r12d, 0x45004b
jne 0x140042446
mov rcx, qword [str.KERNEL32.DLL]
mov rdx, r9
call fcn.14005a43c
cmp al, r14b
jne 0x14004243a
mov rdx, qword [rsp + 0x390]
mov rcx, qword [str.KERNEL32.DLL]
lea r8d, [r14 + 8]
call fcn.14005a400
cmp al, r14b
je 0x1400424f1
mov r9, qword [rsp + 0x390]
cmp r14w, word [r9 + 0x10]
jne 0x1400424f9
mov r14, qword [0x140130fa8]
jmp 0x14004256a
cmp r12d, 0x530055
jne 0x14004249d
mov rcx, qword [str.USER32.DLL]
mov rdx, r9
call fcn.14005a43c
cmp al, r14b
jne 0x140042491
mov rdx, qword [rsp + 0x390]
mov rcx, qword [str.USER32.DLL]
mov r8d, 6
call fcn.14005a400
cmp al, r14b
je 0x1400424f1
mov r9, qword [rsp + 0x390]
cmp r14w, word [r9 + 0xc]
jne 0x1400424f9
mov r14, qword [0x140130fa0]
jmp 0x14004256a
cmp r12d, 0x440047
jne 0x1400424f9
mov rcx, qword [str.GDI32.DLL]
mov rdx, r9
call fcn.14005a43c
cmp al, r14b
jne 0x1400424e8
mov rdx, qword [rsp + 0x390]
mov rcx, qword [str.GDI32.DLL]
mov r8d, 5
call fcn.14005a400
cmp al, r14b
je 0x1400424f1
mov r9, qword [rsp + 0x390]
cmp r14w, word [r9 + 0xa]
jne 0x1400424f9
mov r14, qword [0x140130fb0]
jmp 0x14004256a
mov r9, qword [rsp + 0x390]
cmp qword [0x140130fb8], r14
je 0x140042556
cmp r12d, 0x4c004f
jne 0x140042556
mov rcx, qword [str.OLE32.DLL]
mov rdx, r9
call fcn.14005a43c
cmp al, r14b
jne 0x14004254d
mov rdx, qword [rsp + 0x390]
mov rcx, qword [str.OLE32.DLL]
mov r8d, 5
call fcn.14005a400
mov r9, qword [rsp + 0x390]
cmp al, r14b
je 0x140042556
cmp r14w, word [r9 + 0xa]
jne 0x140042556
mov r14, qword [0x140130fb8]
jmp 0x14004256a
mov rcx, r9
mov byte [rsp + 0x324], 1
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov r14, rax
xor r8d, r8d
mov qword [rsp + 0x350], r14
cmp r14, r8
jne 0x1400425b6
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor r8d, r8d
mov esi, eax
jmp 0x14004258f
mov r14, qword [rsp + 0x350]
cmp r14, r8
jne 0x1400425b6
xor r15d, r15d
lea r14d, [r15 + 1]
cmp byte [rsp + 0x32a], r15b
jne 0x1400421f4
jmp 0x14004068e
mov r14, qword [rsp + 0x350]
mov r13, qword [rsp + 0x3a0]
or r12, 0xffffffffffffffff
mov qword [rsp + 0x3c8], r8
lea rcx, [rsp + 0x3c8]
mov r9, r12
mov r8, r12
mov rdx, r13
call fcn.14006144c
mov rdx, qword [rsp + 0x3c8]
mov rcx, r14
test r15b, 2
je 0x1400425f8
call fcn.1400178c0
jmp 0x1400425fe
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbp, rax
xor eax, eax
cmp rbp, rax
jne 0x14004279b
cmp byte [rsp + 0x329], al
je 0x140042793
cmp byte [rsp + 0x321], al
jne 0x140042793
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd r13, eax
mov rax, qword [rsp + 0x3a0]
lea r12, [r13 + r13]
mov r14, r13
movzx ecx, word [r12 + rax - 2]
mov eax, 0xffdf
and cx, ax
mov eax, 0x41
cmp cx, ax
je 0x140042793
mov eax, 0x57
cmp cx, ax
je 0x140042793
lea ecx, [rax - 0x4f]
call fcn.1400f7b78
mov rbp, rax
xor eax, eax
cmp rbp, rax
je 0x14004268f
lea ecx, [r13 + 2]
movsxd rdx, ecx
mov rcx, rbp
call fcn.140061584
jmp 0x140042692
mov rbp, rax
mov eax, 1
lea r9, [rsp + 0x490]
lea r8, [rsp + 0x418]
mov qword [rsp + 0x28], rax
mov eax, 8
lea rdx, [rsp + 0x410]
lea rcx, [rsp + 0x408]
mov qword [rsp + 0x490], rbp
mov dword [rsp + 0x20], eax
call fcn.140061860
mov rdx, qword [rsp + 0x3a0]
mov rcx, qword [rbp]
mov r8, r12
call fcn.14001cecc
mov r13, qword [rbp]
mov eax, 0x57
mov word [r12 + r13], ax
xor eax, eax
mov qword [rsp + 0x3a0], r13
mov word [r13 + r14*2 + 2], ax
mov r14, qword [rsp + 0x350]
mov rdx, qword [rsp + 0x3c8]
mov rcx, r14
cmp r15b, 2
jne 0x140042724
call fcn.1400178c0
jmp 0x14004272a
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor r15d, r15d
mov rbp, rax
cmp rax, r15
jne 0x14004279b
lea eax, [r15 + 0x41]
lea rcx, [rsp + 0x428]
mov rdx, r13
mov word [r12 + r13], ax
or rax, 0xffffffffffffffff
mov qword [rsp + 0x428], r15
mov r9, rax
mov r8, rax
call fcn.14006144c
mov rdx, qword [rsp + 0x428]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [rsp + 0x428]
mov rbp, rax
call fcn.140058d88
cmp rbp, r15
je 0x140042793
lea eax, [r15 + 0x40]
mov byte [rsp + 0x321], al
jmp 0x14004279b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
lea rcx, [rsp + 0x3c8]
call fcn.140058d88
xor r15d, r15d
mov dword [rsp + 0x468], r15d
mov r10d, 1
cmp byte [rsp + 0x34c], r15b
je 0x1400427d8
mov rcx, qword [rsp + 0x3f8]
mov eax, edi
add rcx, 8
add edi, r10d
mov qword [rbx + rax*8], rcx
mov r13, qword [rsp + 0x4e8]
cmp byte [rsp + 0x3bc], r15b
je 0x1400427ed
mov qword [rbx], r13
mov rcx, qword [rsp + 0x3c0]
mov r14b, byte [rsp + 0x322]
cmp rcx, r15
jl 0x1400428c3
mov rax, qword [r13]
mov rbp, qword [rax + rcx*8]
cmp r14b, r10b
jne 0x1400428c3
mov r8, qword [rsp + 0x430]
mov rdx, qword [rsp + 0x360]
movabs rax, 0x2aaaaaaaaaaaaaab
mov rcx, qword [r8]
sub rdx, rcx
imul rdx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r8 + 0x10], edx
lea eax, [rdx - 1]
shr edx, 1
cmp edx, r15d
movsxd r8, eax
jle 0x1400428c3
lea rax, [r8 + r8*2]
mov r9d, edx
lea rdx, [rcx + rax*8]
mov rax, qword [rcx]
lea r8, [rsp + 0x4f0]
mov qword [r8], rax
mov rax, qword [rcx + 8]
mov qword [r8 + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [r8 + 0x10], rax
mov rax, qword [rdx]
lea r8, [rsp + 0x4f0]
mov qword [rcx], rax
mov rax, qword [rdx + 8]
add rcx, 0x18
mov qword [rcx - 0x10], rax
mov rax, qword [rdx + 0x10]
mov qword [rcx - 8], rax
mov rax, qword [r8]
mov qword [rdx], rax
mov rax, qword [r8 + 8]
sub rdx, 0x18
sub r9, r10
mov qword [rdx + 0x20], rax
mov rax, qword [r8 + 0x10]
mov qword [rdx + 0x28], rax
jne 0x140042864
cmp byte [rsp + 0x32a], r15b
je 0x140042912
mov bl, byte [rsp + 0x324]
mov r14d, 1
cmp bl, r14b
jne 0x1400421fb
cmp byte [rsp + 0x3b4], r15b
jg 0x1400421fb
mov rax, qword [rsp + 0x350]
cmp rax, r15
je 0x1400421fb
mov rcx, rax
mov bl, 2
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x1400421fb
mov r12b, r15b
cmp rbp, r15
je 0x140043c55
mov r15d, dword [rsp + 0x3b0]
test r15b, 7
je 0x140042995
call fcn.14005f6a0
xor eax, eax
cmp r15d, eax
je 0x140042997
cmp qword [0x1401317c8], rax
je 0x140042997
cmp qword [0x1401317d0], rax
je 0x140042997
lea rcx, [0x140132120]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rcx, qword [rsp + 0x5d0]
mov al, byte [rcx + 0x12]
test al, 2
jne 0x140042988
mov edx, 1
movzx r12d, r12b
test dl, al
cmove r12d, edx
or al, 3
mov byte [rcx + 0x12], al
xor ecx, ecx
or r12b, 2
call qword [0x1401317c8]
jmp 0x140042995
lea rcx, [0x140132120]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
cmp byte [rsp + 0x327], al
je 0x1400429aa
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov ecx, 1
cmp r14b, cl
jne 0x140042a23
mov rdi, qword [r13]
movsx ebx, byte [rsp + 0x34e]
mov r15b, cl
mov dword [rsp + 0x388], r15d
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
mov edx, dword [rsp + 0x404]
mov r9d, eax
lea rax, [rsp + 0x468]
lea r8, [0x1401218f8]
mov qword [rsp + 0x40], rax
xor eax, eax
mov rcx, r13
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x3f8]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x430]
mov qword [rsp + 0x28], rax
mov word [rsp + 0x20], bx
call qword [rdi + 0x30]
movsxd rsi, eax
jmp 0x140043c5d
cmp byte [rsp + 0x329], al
je 0x140042b42
xor esi, esi
mov r15b, cl
lea eax, [rsi + 0x40]
mov qword [rsp + 0x430], rsi
mov dword [rsp + 0x388], r15d
mov word [rsp + 0x5e0], si
cmp byte [rsp + 0x321], al
jne 0x140042a8f
mov rdx, qword [rsp + 0x340]
cmp rdx, rsi
je 0x140042a9c
or rax, 0xffffffffffffffff
lea rcx, [rsp + 0x430]
mov r9, rax
mov r8, rax
call fcn.14006144c
mov r11, qword [rsp + 0x430]
mov qword [rsp + 0x340], r11
jmp 0x140042a97
mov r11, qword [rsp + 0x340]
cmp r11, rsi
jne 0x140042aac
lea rax, [rsp + 0x5e0]
mov qword [rsp + 0x340], rax
mov r13, qword [rsp + 0x5d0]
mov rbx, qword [0x140130f48]
xor edx, edx
mov rcx, r13
call fcn.14001a9b4
mov rdi, qword [rsp + 0x3a0]
cmp rdi, rsi
je 0x140042b0c
lea rcx, str.InstallHinfSection
mov r8d, 0x12
mov rdx, rdi
call fcn.14005a400
cmp al, sil
je 0x140042b0c
cmp word [rdi + 0x24], si
je 0x140042b01
mov eax, 1
mov word [rdi + 0x24], ax
cmp word [rdi + 0x26], si
jne 0x140042b0c
mov qword [rsp + 0x4d0], rsi
mov rbx, rsi
mov rcx, qword [r13 + 0x40]
call fcn.140059100
mov r9, qword [rsp + 0x4d0]
mov r8, qword [rsp + 0x340]
mov rcx, rax
mov rdx, rbx
call rbp
lea rcx, [rsp + 0x430]
mov rsi, rax
call fcn.140058d88
jmp 0x140043c65
mov edx, 0x20
cmp dword [rsp + 0x5e0], ecx
jne 0x1400438c4
mov r15d, dword [rsp + 0x388]
lea r8d, [rdx + 0x44]
cmp edi, r8d
movzx r15d, r15b
cmovbe r15d, edx
lea edx, [r8 - 0x54]
mov dword [rsp + 0x388], r15d
cmp edi, edx
ja 0x140042f36
lea edx, [r8 - 0x5c]
cmp edi, edx
ja 0x140042c9d
je 0x140042c63
cmp edi, eax
je 0x140042c5f
sub edi, ecx
je 0x140042c58
sub edi, ecx
je 0x140042c4d
sub edi, ecx
je 0x140042c3e
sub edi, ecx
je 0x140043924
sub edi, ecx
je 0x140042c22
sub edi, ecx
je 0x140042bfd
cmp edi, ecx
jne 0x140043c5d
mov rax, qword [rbx + 0x30]
mov r9, qword [rbx + 0x18]
mov r8, qword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx]
mov qword [rsp + 0x30], rax
mov rax, qword [rbx + 0x28]
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x20], rax
call rbp
mov rsi, rax
jmp 0x140043c5d
mov rax, qword [rbx + 0x28]
mov r9, qword [rbx + 0x18]
mov r8, qword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx]
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x20], rax
call rbp
jmp 0x140042bf5
mov rax, qword [rbx + 0x20]
mov r9, qword [rbx + 0x18]
mov r8, qword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx]
mov qword [rsp + 0x20], rax
call rbp
jmp 0x140042bf5
mov r8, qword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx]
call rbp
jmp 0x140042bf5
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx]
call rbp
jmp 0x140042bf5
mov rcx, qword [rbx]
call rbp
jmp 0x140042bf5
call rbp
jmp 0x140042bf5
mov rax, qword [rbx + 0x38]
mov r9, qword [rbx + 0x18]
mov r8, qword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx]
mov qword [rsp + 0x38], rax
mov rax, qword [rbx + 0x30]
mov qword [rsp + 0x30], rax
mov rax, qword [rbx + 0x28]
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x20], rax
call rbp
jmp 0x140042bf5
sub edi, 9
je 0x14004395b
sub edi, ecx
je 0x140042eea
sub edi, ecx
je 0x140042e95
sub edi, ecx
je 0x140042e37
sub edi, ecx
je 0x140042dd0
sub edi, ecx
je 0x140042d60
sub edi, ecx
je 0x1400439da
cmp edi, ecx
jne 0x140043c5d
mov rax, qword [rbx + 0x78]
mov r9, qword [rbx + 0x18]
mov r8, qword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx]
mov qword [rsp + 0x78], rax
mov rax, qword [rbx + 0x70]
mov qword [rsp + 0x70], rax
mov rax, qword [rbx + 0x68]
mov qword [rsp + 0x68], rax
mov rax, qword [rbx + 0x60]
mov qword [rsp + 0x60], rax
mov rax, qword [rbx + 0x58]
mov qword [rsp + 0x58], rax
mov rax, qword [rbx + 0x50]
mov qword [rsp + 0x50], rax
mov rax, qword [rbx + 0x48]
mov qword [rsp + 0x48], rax
mov rax, qword [rbx + 0x40]
mov qword [rsp + 0x40], rax
mov rax, qword [rbx + 0x38]
mov qword [rsp + 0x38], rax
mov rax, qword [rbx + 0x30]
mov qword [rsp + 0x30], rax
mov rax, qword [rbx + 0x28]
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x20], rax
call rbp
jmp 0x140042bf5
mov rax, qword [rbx + 0x68]
mov r9, qword [rbx + 0x18]
mov r8, qword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx]
mov qword [rsp + 0x68], rax
mov rax, qword [rbx + 0x60]
mov qword [rsp + 0x60], rax
mov rax, qword [rbx + 0x58]
mov qword [rsp + 0x58], rax
mov rax, qword [rbx + 0x50]
mov qword [rsp + 0x50], rax
mov rax, qword [rbx + 0x48]
mov qword [rsp + 0x48], rax
mov rax, qword [rbx + 0x40]
mov qword [rsp + 0x40], rax
mov rax, qword [rbx + 0x38]
mov qword [rsp + 0x38], rax
mov rax, qword [rbx + 0x30]
mov qword [rsp + 0x30], rax
mov rax, qword [rbx + 0x28]
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x20], rax
call rbp
jmp 0x140042bf5
mov rax, qword [rbx + 0x60]
mov r9, qword [rbx + 0x18]
mov r8, qword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx]
mov qword [rsp + 0x60], rax
mov rax, qword [rbx + 0x58]
mov qword [rsp + 0x58], rax
mov rax, qword [rbx + 0x50]
mov qword [rsp + 0x50], rax
mov rax, qword [rbx + 0x48]
mov qword [rsp + 0x48], rax
mov rax, qword [rbx + 0x40]
mov qword [rsp + 0x40], rax
mov rax, qword [rbx + 0x38]
mov qword [rsp + 0x38], rax
mov rax, qword [rbx + 0x30]
mov qword [rsp + 0x30], rax
mov rax, qword [rbx + 0x28]
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x20], rax
call rbp
jmp 0x140042bf5
mov rax, qword [rbx + 0x58]
mov r9, qword [rbx + 0x18]
mov r8, qword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx]
mov qword [rsp + 0x58], rax
mov rax, qword [rbx + 0x50]
mov qword [rsp + 0x50], rax
mov rax, qword [rbx + 0x48]
mov qword [rsp + 0x48], rax
mov rax, qword [rbx + 0x40]
mov qword [rsp + 0x40], rax
mov rax, qword [rbx + 0x38]
mov qword [rsp + 0x38], rax
mov rax, qword [rbx + 0x30]
mov qword [rsp + 0x30], rax
mov rax, qword [rbx + 0x28]
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x20], rax
call rbp
jmp 0x140042bf5
mov rax, qword [rbx + 0x50]
mov r9, qword [rbx + 0x18]
mov r8, qword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx]
mov qword [rsp + 0x50], rax
mov rax, qword [rbx + 0x48]
mov qword [rsp + 0x48], rax
mov rax, qword [rbx + 0x40]
mov qword [rsp + 0x40], rax
mov rax, qword [rbx + 0x38]
mov qword [rsp + 0x38], rax
mov rax, qword [rbx + 0x30]
mov qword [rsp + 0x30], rax
mov rax, qword [rbx + 0x28]
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x20], rax
call rbp
jmp 0x140042bf5
mov rax, qword [rbx + 0x48]
mov r9, qword [rbx + 0x18]
mov r8, qword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx]
mov qword [rsp + 0x48], rax
mov rax, qword [rbx + 0x40]
mov qword [rsp + 0x40], rax
mov rax, qword [rbx + 0x38]
mov qword [rsp + 0x38], rax
mov rax, qword [rbx + 0x30]
mov qword [rsp + 0x30], rax
mov rax, qword [rbx + 0x28]
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x20], rax
call rbp
jmp 0x140042bf5
cmp edi, 0x14
ja 0x140042ffd
mov rax, qword [rbx + 0x98]
mov r9, qword [rbx + 0x18]
mov r8, qword [rbx + 0x10]
mov qword [rsp + 0x98], rax
mov rax, qword [rbx + 0x90]
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx]
mov qword [rsp + 0x90], rax
mov rax, qword [rbx + 0x88]
mov qword [rsp + 0x88], rax
mov rax, qword [rbx + 0x80]
mov qword [rsp + 0x80], rax
mov rax, qword [rbx + 0x78]
mov qword [rsp + 0x78], rax
mov rax, qword [rbx + 0x70]
mov qword [rsp + 0x70], rax
mov rax, qword [rbx + 0x68]
mov qword [rsp + 0x68], rax
mov rax, qword [rbx + 0x60]
mov qword [rsp + 0x60], rax
mov rax, qword [rbx + 0x58]
mov qword [rsp + 0x58], rax
mov rax, qword [rbx + 0x50]
mov qword [rsp + 0x50], rax
mov rax, qword [rbx + 0x48]
mov qword [rsp + 0x48], rax
mov rax, qword [rbx + 0x40]
mov qword [rsp + 0x40], rax
mov rax, qword [rbx + 0x38]
mov qword [rsp + 0x38], rax
mov rax, qword [rbx + 0x30]
mov qword [rsp + 0x30], rax
mov rax, qword [rbx + 0x28]
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x20], rax
call rbp
jmp 0x140042bf5
cmp edi, 0x1e
ja 0x14004315a
mov rax, qword [rbx + 0xe8]
mov r9, qword [rbx + 0x18]
mov r8, qword [rbx + 0x10]
mov qword [rsp + 0xe8], rax
mov rax, qword [rbx + 0xe0]
mov rdx, qword [rbx + 8]
mov qword [rsp + 0xe0], rax
mov rax, qword [rbx + 0xd8]
mov rcx, qword [rbx]
mov qword [rsp + 0xd8], rax
mov rax, qword [rbx + 0xd0]
mov qword [rsp + 0xd0], rax
mov rax, qword [rbx + 0xc8]
mov qword [rsp + 0xc8], rax
mov rax, qword [rbx + 0xc0]
mov qword [rsp + 0xc0], rax
mov rax, qword [rbx + 0xb8]
mov qword [rsp + 0xb8], rax
mov rax, qword [rbx + 0xb0]
mov qword [rsp + 0xb0], rax
mov rax, qword [rbx + 0xa8]
mov qword [rsp + 0xa8], rax
mov rax, qword [rbx + 0xa0]
mov qword [rsp + 0xa0], rax
mov rax, qword [rbx + 0x98]
mov qword [rsp + 0x98], rax
mov rax, qword [rbx + 0x90]
mov qword [rsp + 0x90], rax
mov rax, qword [rbx + 0x88]
mov qword [rsp + 0x88], rax
mov rax, qword [rbx + 0x80]
mov qword [rsp + 0x80], rax
mov rax, qword [rbx + 0x78]
mov qword [rsp + 0x78], rax
mov rax, qword [rbx + 0x70]
mov qword [rsp + 0x70], rax
mov rax, qword [rbx + 0x68]
mov qword [rsp + 0x68], rax
mov rax, qword [rbx + 0x60]
mov qword [rsp + 0x60], rax
mov rax, qword [rbx + 0x58]
mov qword [rsp + 0x58], rax
mov rax, qword [rbx + 0x50]
mov qword [rsp + 0x50], rax
mov rax, qword [rbx + 0x48]
mov qword [rsp + 0x48], rax
mov rax, qword [rbx + 0x40]
mov qword [rsp + 0x40], rax
mov rax, qword [rbx + 0x38]
mov qword [rsp + 0x38], rax
mov rax, qword [rbx + 0x30]
mov qword [rsp + 0x30], rax
mov rax, qword [rbx + 0x28]
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x20], rax
call rbp
jmp 0x140042bf5
cmp edi, 0x28
ja 0x14004334d
mov rax, qword [rbx + 0x138]
mov r9, qword [rbx + 0x18]
mov r8, qword [rbx + 0x10]
mov qword [rsp + 0x138], rax
mov rax, qword [rbx + 0x130]
mov rdx, qword [rbx + 8]
mov qword [rsp + 0x130], rax
mov rax, qword [rbx + 0x128]
mov rcx, qword [rbx]
mov qword [rsp + 0x128], rax
mov rax, qword [rbx + 0x120]
mov qword [rsp + 0x120], rax
mov rax, qword [rbx + 0x118]
mov qword [rsp + 0x118], rax
mov rax, qword [rbx + 0x110]
mov qword [rsp + 0x110], rax
mov rax, qword [rbx + 0x108]
mov qword [rsp + 0x108], rax
mov rax, qword [rbx + 0x100]
mov qword [rsp + 0x100], rax
mov rax, qword [rbx + 0xf8]
mov qword [rsp + 0xf8], rax
mov rax, qword [rbx + 0xf0]
mov qword [rsp + 0xf0], rax
mov rax, qword [rbx + 0xe8]
mov qword [rsp + 0xe8], rax
mov rax, qword [rbx + 0xe0]
mov qword [rsp + 0xe0], rax
mov rax, qword [rbx + 0xd8]
mov qword [rsp + 0xd8], rax
mov rax, qword [rbx + 0xd0]
mov qword [rsp + 0xd0], rax
mov rax, qword [rbx + 0xc8]
mov qword [rsp + 0xc8], rax
mov rax, qword [rbx + 0xc0]
mov qword [rsp + 0xc0], rax
mov rax, qword [rbx + 0xb8]
mov qword [rsp + 0xb8], rax
mov rax, qword [rbx + 0xb0]
mov qword [rsp + 0xb0], rax
mov rax, qword [rbx + 0xa8]
mov qword [rsp + 0xa8], rax
mov rax, qword [rbx + 0xa0]
mov qword [rsp + 0xa0], rax
mov rax, qword [rbx + 0x98]
mov qword [rsp + 0x98], rax
mov rax, qword [rbx + 0x90]
mov qword [rsp + 0x90], rax
mov rax, qword [rbx + 0x88]
mov qword [rsp + 0x88], rax
mov rax, qword [rbx + 0x80]
mov qword [rsp + 0x80], rax
mov rax, qword [rbx + 0x78]
mov qword [rsp + 0x78], rax
mov rax, qword [rbx + 0x70]
mov qword [rsp + 0x70], rax
mov rax, qword [rbx + 0x68]
mov qword [rsp + 0x68], rax
mov rax, qword [rbx + 0x60]
mov qword [rsp + 0x60], rax
mov rax, qword [rbx + 0x58]
mov qword [rsp + 0x58], rax
mov rax, qword [rbx + 0x50]
mov qword [rsp + 0x50], rax
mov rax, qword [rbx + 0x48]
mov qword [rsp + 0x48], rax
mov rax, qword [rbx + 0x40]
mov qword [rsp + 0x40], rax
mov rax, qword [rbx + 0x38]
mov qword [rsp + 0x38], rax
mov rax, qword [rbx + 0x30]
mov qword [rsp + 0x30], rax
mov rax, qword [rbx + 0x28]
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x20], rax
call rbp
jmp 0x140042bf5
cmp edi, r8d
ja 0x140043c5d
mov rax, qword [rbx + 0x318]
mov qword [rsp + 0x318], rax
mov rax, qword [rbx + 0x310]
mov qword [rsp + 0x310], rax
mov rax, qword [rbx + 0x308]
mov qword [rsp + 0x308], rax
mov rax, qword [rbx + 0x300]
mov qword [rsp + 0x300], rax
mov rax, qword [rbx + 0x2f8]
mov qword [rsp + 0x2f8], rax
mov rax, qword [rbx + 0x2f0]
mov qword [rsp + 0x2f0], rax
mov rax, qword [rbx + 0x2e8]
mov qword [rsp + 0x2e8], rax
mov rax, qword [rbx + 0x2e0]
mov qword [rsp + 0x2e0], rax
mov rax, qword [rbx + 0x2d8]
mov qword [rsp + 0x2d8], rax
mov rax, qword [rbx + 0x2d0]
mov qword [rsp + 0x2d0], rax
mov rax, qword [rbx + 0x2c8]
mov qword [rsp + 0x2c8], rax
mov rax, qword [rbx + 0x2c0]
mov qword [rsp + 0x2c0], rax
mov rax, qword [rbx + 0x2b8]
mov qword [rsp + 0x2b8], rax
mov rax, qword [rbx + 0x2b0]
mov qword [rsp + 0x2b0], rax
mov rax, qword [rbx + 0x2a8]
mov qword [rsp + 0x2a8], rax
mov rax, qword [rbx + 0x2a0]
mov qword [rsp + 0x2a0], rax
mov rax, qword [rbx + 0x298]
mov qword [rsp + 0x298], rax
mov rax, qword [rbx + 0x290]
mov qword [rsp + 0x290], rax
mov rax, qword [rbx + 0x288]
mov qword [rsp + 0x288], rax
mov rax, qword [rbx + 0x280]
mov qword [rsp + 0x280], rax
mov rax, qword [rbx + 0x278]
mov qword [rsp + 0x278], rax
mov rax, qword [rbx + 0x270]
mov qword [rsp + 0x270], rax
mov rax, qword [rbx + 0x268]
mov qword [rsp + 0x268], rax
mov rax, qword [rbx + 0x260]
mov qword [rsp + 0x260], rax
mov rax, qword [rbx + 0x258]
mov qword [rsp + 0x258], rax
mov rax, qword [rbx + 0x250]
mov qword [rsp + 0x250], rax
mov rax, qword [rbx + 0x248]
mov qword [rsp + 0x248], rax
mov rax, qword [rbx + 0x240]
mov qword [rsp + 0x240], rax
mov rax, qword [rbx + 0x238]
mov qword [rsp + 0x238], rax
mov rax, qword [rbx + 0x230]
mov qword [rsp + 0x230], rax
mov rax, qword [rbx + 0x228]
mov qword [rsp + 0x228], rax
mov rax, qword [rbx + 0x220]
mov qword [rsp + 0x220], rax
mov rax, qword [rbx + 0x218]
mov qword [rsp + 0x218], rax
mov rax, qword [rbx + 0x210]
mov qword [rsp + 0x210], rax
mov rax, qword [rbx + 0x208]
mov qword [rsp + 0x208], rax
mov rax, qword [rbx + 0x200]
mov qword [rsp + 0x200], rax
mov rax, qword [rbx + 0x1f8]
mov qword [rsp + 0x1f8], rax
mov rax, qword [rbx + 0x1f0]
mov qword [rsp + 0x1f0], rax
mov rax, qword [rbx + 0x1e8]
mov qword [rsp + 0x1e8], rax
mov rax, qword [rbx + 0x1e0]
mov qword [rsp + 0x1e0], rax
mov rax, qword [rbx + 0x1d8]
mov qword [rsp + 0x1d8], rax
mov rax, qword [rbx + 0x1d0]
mov qword [rsp + 0x1d0], rax
mov rax, qword [rbx + 0x1c8]
mov qword [rsp + 0x1c8], rax
mov rax, qword [rbx + 0x1c0]
mov qword [rsp + 0x1c0], rax
mov rax, qword [rbx + 0x1b8]
mov qword [rsp + 0x1b8], rax
mov rax, qword [rbx + 0x1b0]
mov qword [rsp + 0x1b0], rax
mov rax, qword [rbx + 0x1a8]
mov qword [rsp + 0x1a8], rax
mov rax, qword [rbx + 0x1a0]
mov qword [rsp + 0x1a0], rax
mov rax, qword [rbx + 0x198]
mov qword [rsp + 0x198], rax
mov rax, qword [rbx + 0x190]
mov qword [rsp + 0x190], rax
mov rax, qword [rbx + 0x188]
mov qword [rsp + 0x188], rax
mov rax, qword [rbx + 0x180]
mov qword [rsp + 0x180], rax
mov rax, qword [rbx + 0x178]
mov qword [rsp + 0x178], rax
mov rax, qword [rbx + 0x170]
mov qword [rsp + 0x170], rax
mov rax, qword [rbx + 0x168]
mov qword [rsp + 0x168], rax
mov rax, qword [rbx + 0x160]
mov qword [rsp + 0x160], rax
mov rax, qword [rbx + 0x158]
mov qword [rsp + 0x158], rax
mov rax, qword [rbx + 0x150]
mov qword [rsp + 0x150], rax
mov rax, qword [rbx + 0x148]
mov qword [rsp + 0x148], rax
mov rax, qword [rbx + 0x140]
mov qword [rsp + 0x140], rax
mov rax, qword [rbx + 0x138]
mov qword [rsp + 0x138], rax
mov rax, qword [rbx + 0x130]
mov qword [rsp + 0x130], rax
mov rax, qword [rbx + 0x128]
mov qword [rsp + 0x128], rax
mov rax, qword [rbx + 0x120]
mov qword [rsp + 0x120], rax
mov rax, qword [rbx + 0x118]
mov qword [rsp + 0x118], rax
mov rax, qword [rbx + 0x110]
mov qword [rsp + 0x110], rax
mov rax, qword [rbx + 0x108]
mov qword [rsp + 0x108], rax
mov rax, qword [rbx + 0x100]
mov qword [rsp + 0x100], rax
mov rax, qword [rbx + 0xf8]
mov qword [rsp + 0xf8], rax
mov rax, qword [rbx + 0xf0]
mov qword [rsp + 0xf0], rax
mov rax, qword [rbx + 0xe8]
mov qword [rsp + 0xe8], rax
mov rax, qword [rbx + 0xe0]
mov qword [rsp + 0xe0], rax
mov rax, qword [rbx + 0xd8]
mov qword [rsp + 0xd8], rax
mov rax, qword [rbx + 0xd0]
mov qword [rsp + 0xd0], rax
mov rax, qword [rbx + 0xc8]
mov qword [rsp + 0xc8], rax
mov rax, qword [rbx + 0xc0]
mov qword [rsp + 0xc0], rax
mov rax, qword [rbx + 0xb8]
mov qword [rsp + 0xb8], rax
mov rax, qword [rbx + 0xb0]
mov qword [rsp + 0xb0], rax
mov rax, qword [rbx + 0xa8]
mov qword [rsp + 0xa8], rax
mov rax, qword [rbx + 0xa0]
mov qword [rsp + 0xa0], rax
mov rax, qword [rbx + 0x98]
mov qword [rsp + 0x98], rax
mov rax, qword [rbx + 0x90]
mov r9, qword [rbx + 0x18]
mov r8, qword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx]
mov qword [rsp + 0x90], rax
mov rax, qword [rbx + 0x88]
mov qword [rsp + 0x88], rax
mov rax, qword [rbx + 0x80]
mov qword [rsp + 0x80], rax
mov rax, qword [rbx + 0x78]
mov qword [rsp + 0x78], rax
mov rax, qword [rbx + 0x70]
mov qword [rsp + 0x70], rax
mov rax, qword [rbx + 0x68]
mov qword [rsp + 0x68], rax
mov rax, qword [rbx + 0x60]
mov qword [rsp + 0x60], rax
mov rax, qword [rbx + 0x58]
mov qword [rsp + 0x58], rax
mov rax, qword [rbx + 0x50]
mov qword [rsp + 0x50], rax
mov rax, qword [rbx + 0x48]
mov qword [rsp + 0x48], rax
mov rax, qword [rbx + 0x40]
mov qword [rsp + 0x40], rax
mov rax, qword [rbx + 0x38]
mov qword [rsp + 0x38], rax
mov rax, qword [rbx + 0x30]
mov qword [rsp + 0x30], rax
mov rax, qword [rbx + 0x28]
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x20], rax
call rbp
jmp 0x140042bf5
movzx r15d, byte [rsp + 0x388]
cmp edi, 0x14
cmovbe r15d, edx
mov dword [rsp + 0x388], r15d
cmp edi, 0xa
ja 0x14004399e
je 0x140042eea
mov eax, 5
cmp edi, eax
ja 0x14004393a
je 0x140042c22
xor eax, eax
cmp edi, eax
je 0x140042c5f
sub edi, ecx
je 0x140042c58
sub edi, ecx
je 0x140042c4d
sub edi, ecx
je 0x140042c3e
cmp edi, ecx
jne 0x140043c5d
mov r9, qword [rbx + 0x18]
mov r8, qword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx]
call rbp
jmp 0x140042bf5
sub edi, 6
je 0x140042bfd
sub edi, ecx
je 0x140042bc9
sub edi, ecx
je 0x140042c63
cmp edi, ecx
jne 0x140043c5d
mov rax, qword [rbx + 0x40]
mov r9, qword [rbx + 0x18]
mov r8, qword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx]
mov qword [rsp + 0x40], rax
mov rax, qword [rbx + 0x38]
mov qword [rsp + 0x38], rax
mov rax, qword [rbx + 0x30]
mov qword [rsp + 0x30], rax
mov rax, qword [rbx + 0x28]
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x20], rax
call rbp
jmp 0x140042bf5
mov eax, 0x10
cmp edi, eax
ja 0x140043a53
je 0x140042cde
sub edi, 0xb
je 0x140042e95
sub edi, ecx
je 0x140042e37
sub edi, ecx
je 0x140042dd0
sub edi, ecx
je 0x140042d60
cmp edi, ecx
jne 0x140043c5d
mov rax, qword [rbx + 0x70]
mov r9, qword [rbx + 0x18]
mov r8, qword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx]
mov qword [rsp + 0x70], rax
mov rax, qword [rbx + 0x68]
mov qword [rsp + 0x68], rax
mov rax, qword [rbx + 0x60]
mov qword [rsp + 0x60], rax
mov rax, qword [rbx + 0x58]
mov qword [rsp + 0x58], rax
mov rax, qword [rbx + 0x50]
mov qword [rsp + 0x50], rax
mov rax, qword [rbx + 0x48]
mov qword [rsp + 0x48], rax
mov rax, qword [rbx + 0x40]
mov qword [rsp + 0x40], rax
mov rax, qword [rbx + 0x38]
mov qword [rsp + 0x38], rax
mov rax, qword [rbx + 0x30]
mov qword [rsp + 0x30], rax
mov rax, qword [rbx + 0x28]
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x20], rax
call rbp
jmp 0x140042bf5
sub edi, 0x11
je 0x140043bc4
sub edi, ecx
je 0x140043b24
sub edi, ecx
je 0x140043a75
cmp edi, ecx
jne 0x140043c5d
jmp 0x140042f3f
mov rax, qword [rbx + 0x90]
mov r9, qword [rbx + 0x18]
mov r8, qword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx]
mov qword [rsp + 0x90], rax
mov rax, qword [rbx + 0x88]
mov qword [rsp + 0x88], rax
mov rax, qword [rbx + 0x80]
mov qword [rsp + 0x80], rax
mov rax, qword [rbx + 0x78]
mov qword [rsp + 0x78], rax
mov rax, qword [rbx + 0x70]
mov qword [rsp + 0x70], rax
mov rax, qword [rbx + 0x68]
mov qword [rsp + 0x68], rax
mov rax, qword [rbx + 0x60]
mov qword [rsp + 0x60], rax
mov rax, qword [rbx + 0x58]
mov qword [rsp + 0x58], rax
mov rax, qword [rbx + 0x50]
mov qword [rsp + 0x50], rax
mov rax, qword [rbx + 0x48]
mov qword [rsp + 0x48], rax
mov rax, qword [rbx + 0x40]
mov qword [rsp + 0x40], rax
mov rax, qword [rbx + 0x38]
mov qword [rsp + 0x38], rax
mov rax, qword [rbx + 0x30]
mov qword [rsp + 0x30], rax
mov rax, qword [rbx + 0x28]
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x20], rax
call rbp
jmp 0x140042bf5
mov rax, qword [rbx + 0x88]
mov r9, qword [rbx + 0x18]
mov r8, qword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx]
mov qword [rsp + 0x88], rax
mov rax, qword [rbx + 0x80]
mov qword [rsp + 0x80], rax
mov rax, qword [rbx + 0x78]
mov qword [rsp + 0x78], rax
mov rax, qword [rbx + 0x70]
mov qword [rsp + 0x70], rax
mov rax, qword [rbx + 0x68]
mov qword [rsp + 0x68], rax
mov rax, qword [rbx + 0x60]
mov qword [rsp + 0x60], rax
mov rax, qword [rbx + 0x58]
mov qword [rsp + 0x58], rax
mov rax, qword [rbx + 0x50]
mov qword [rsp + 0x50], rax
mov rax, qword [rbx + 0x48]
mov qword [rsp + 0x48], rax
mov rax, qword [rbx + 0x40]
mov qword [rsp + 0x40], rax
mov rax, qword [rbx + 0x38]
mov qword [rsp + 0x38], rax
mov rax, qword [rbx + 0x30]
mov qword [rsp + 0x30], rax
mov rax, qword [rbx + 0x28]
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x20], rax
call rbp
jmp 0x140042bf5
mov rax, qword [rbx + 0x80]
mov r9, qword [rbx + 0x18]
mov r8, qword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx]
mov qword [rsp + 0x80], rax
mov rax, qword [rbx + 0x78]
mov qword [rsp + 0x78], rax
mov rax, qword [rbx + 0x70]
mov qword [rsp + 0x70], rax
mov rax, qword [rbx + 0x68]
mov qword [rsp + 0x68], rax
mov rax, qword [rbx + 0x60]
mov qword [rsp + 0x60], rax
mov rax, qword [rbx + 0x58]
mov qword [rsp + 0x58], rax
mov rax, qword [rbx + 0x50]
mov qword [rsp + 0x50], rax
mov rax, qword [rbx + 0x48]
mov qword [rsp + 0x48], rax
mov rax, qword [rbx + 0x40]
mov qword [rsp + 0x40], rax
mov rax, qword [rbx + 0x38]
mov qword [rsp + 0x38], rax
mov rax, qword [rbx + 0x30]
mov qword [rsp + 0x30], rax
mov rax, qword [rbx + 0x28]
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x20], rax
call rbp
jmp 0x140042bf5
mov r15d, dword [rsp + 0x388]
mov r13, qword [rsp + 0x5d0]
mov rax, qword [rsp + 0x458]
xor edi, edi
cmp rax, rdi
je 0x140043d19
lea rcx, [rsp + 0x3d8]
mov rdx, rax
call fcn.14006cf08
lea rdx, [rsp + 0x3d8]
xor r8d, r8d
mov rcx, r13
call fcn.140003920
mov rbx, qword [rsp + 0x3d8]
lea rcx, [rsp + 0x3f8]
call fcn.140061510
lea eax, [rdi + 0x20]
test al, r15b
je 0x140043ce3
cmp rsi, rdi
je 0x140043ce3
lea eax, [rdi + 0x7e]
mov r9, rdi
lea rcx, [rsp + 0x3f8]
cmp ax, word [rbx]
mov eax, 0xfde9
mov rdx, rsi
cmove r9, rax
or r8, 0xffffffffffffffff
call fcn.1400616cc
mov rdx, qword [rsp + 0x3d8]
mov r8, qword [rsp + 0x3f8]
mov rcx, r13
add rdx, 2
call fcn.140060828
lea rcx, [rsp + 0x3f8]
call fcn.140058d88
lea rcx, [rsp + 0x3d8]
call fcn.140058d88
xor r15d, r15d
mov rbx, rsi
mov qword [rsp + 0x368], rbx
cmp r14b, r15b
je 0x140043d48
mov r8, qword [rsp + 0x460]
cmp r8, r15
je 0x140043d48
mov edx, dword [rsp + 0x468]
mov rcx, r13
call fcn.14006482c
mov al, byte [rsp + 0x327]
cmp al, r15b
je 0x140043d91
cmp al, 2
jne 0x140043d81
mov r14d, 1
cmp esi, r14d
jne 0x140043d68
mov rbx, r15
jmp 0x140043d77
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, r15d
cmove eax, r14d
mov ebx, eax
mov qword [rsp + 0x368], rbx
jmp 0x140043d97
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov qword [rsp + 0x368], rbx
mov r14d, 1
cmp byte [rsp + 0x324], r15b
jle 0x140043dc1
cmp byte [rsp + 0x3b4], r15b
jg 0x140043dc1
mov rax, qword [rsp + 0x350]
cmp rax, r15
je 0x140043dc1
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp r12b, r15b
je 0x1400414ba
call qword [0x1401317d0]
lea rcx, [0x140132120]
not r12b
and byte [r13 + 0x12], r12b
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1400414ba
mov cl, byte [rsp + 0x320]
mov edi, dword [rsp + 0x388]
jmp 0x140043e03
mov edi, dword [rsp + 0x388]
mov rbx, r15
mov rax, qword [rsp + 0x3a8]
cmp word [rax], r15w
je 0x140043f06
mov edx, 0x2a
cmp dx, word [rax]
je 0x140043f06
cmp dil, r15b
je 0x140043f06
cmp byte [rsp + 0x34d], r15b
lea r8, [0x140000000]
lea rdx, [rsp + 0x4f0]
mov rax, qword [r8 + 0x117518]
mov qword [rdx], rax
mov rax, qword [r8 + 0x117520]
mov qword [rdx + 8], rax
movzx eax, word [r8 + 0x117528]
mov word [rdx + 0x10], ax
mov rax, qword [r8 + 0x117508]
lea rdx, [rsp + 0x490]
mov qword [rdx], rax
mov eax, dword [r8 + 0x117510]
mov dword [rdx + 8], eax
movzx eax, word [r8 + 0x117514]
mov word [rdx + 0xc], ax
lea rdx, [rsp + 0x4f0]
lea rax, [rsp + 0x490]
cmove rdx, rax
cmp cl, r15b
je 0x140043ec4
cmp byte [rsp + 0x323], r15b
je 0x140043ec4
mov edi, dword [rsp + 0x398]
cmp rsi, r15
jne 0x140043ede
lea rdx, [0x140111598]
jmp 0x140043ede
mov edi, dword [rsp + 0x398]
cmp dil, r15b
je 0x140043eda
mov eax, 0x3c
mov word [rdx], ax
jmp 0x140043ede
add rdx, 2
lea rcx, [rsp + 0x510]
mov r8, rsi
call qword [sym.imp.USER32.dll_wsprintfW]
neg byte [rsp + 0x327]
sbb rax, rax
and rax, rbx
mov qword [rsp + 0x368], rax
jmp 0x140043f0d
mov edi, dword [rsp + 0x398]
mov rax, qword [rsp + 0x3f0]
cmp rax, r15
je 0x140040d85
mov rcx, rax
call fcn.140017858
jmp 0x140040d85
mov rbx, qword [rsp + 0x5d0]
mov rdx, qword [rsp + 0x3a8]
lea r8, [rsp + 0x510]
mov rcx, rbx
call fcn.140060828
jmp 0x140040e1d
lea rcx, [rsp + 0x3e0]
call fcn.140058d88
lea rcx, [rsp + 0x3d0]
call fcn.140058d88
lea rcx, [rsp + 0x408]
call fcn.1400eb8e8
lea rcx, [rsp + 0x408]
call fcn.140058d88
lea rcx, [rsp + 0x488]
call fcn.140058d88
lea rcx, [rsp + 0x460]
call fcn.140058d88
lea rcx, [rsp + 0x4b8]
call fcn.140058d88
lea rcx, [rsp + 0x3a8]
call fcn.140058d88
lea rcx, [rsp + 0x470]
call fcn.140058d88
neg byte [rsp + 0x328]
sbb rax, rax
not rax
and rax, 0xffffffff80070057
mov rbx, qword [rsp + 0x5e8]
add rsp, 0x590
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret