Function at 0x1400489b0
Capabilities:
Get keyboard layout
Log keystrokes

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x8188]
mov eax, 0x8288
call fcn.1400de970
sub rsp, rax
mov rdi, rdx
mov r12, rcx
cmp qword [rcx + 0x70], 0
jne 0x1400489fb
cmp dword [rcx + 0x94], 0
mov byte [rsp + 0x43], 0
je 0x140048a00
mov byte [rsp + 0x43], 1
xor r15d, r15d
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], 0x1000
mov qword [rsp + 0x70], 3
mov qword [rbp - 0x68], r15
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x58], r15
mov qword [rbp - 0x50], 0x1000
mov qword [rbp - 0x48], 3
mov dword [rcx + 0x2d8], r8d
mov dword [rsp + 0x7c], r15d
mov edx, 0x2000
xor ecx, ecx
call fcn.1400c5354
test rax, rax
je 0x14004b014
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], 0x1000
mov rbx, qword [rbp - 0x58]
test rbx, rbx
je 0x140048a7d
add rbx, rbx
jmp 0x140048a81
mov rbx, qword [rbp - 0x50]
lea rdx, [rbx + rbx]
mov rcx, qword [rbp - 0x68]
call fcn.1400c5354
test rax, rax
je 0x14004b014
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x58], rbx
mov rax, qword [rsp + 0x50]
mov word [rax], r15w
lea r13, [0x140100be0]
cmp qword [rsp + 0x58], 0xffffffffffffffff
je 0x1400497f4
mov ebx, 0xffdf
mov r8, qword [rbp - 0x40]
mov qword [rbp - 0x70], r8
movzx ecx, byte [rbp + 0x81e8]
mov byte [rbp + 0x81e8], cl
mov ecx, dword [rsp + 0x44]
mov dword [rbp - 0x80], ecx
movzx eax, word [rbp + 0x81e0]
mov dword [rsp + 0x48], eax
nop word [rax + rax]
mov eax, dword [rsp + 0x7c]
mov dword [r12 + 0x2dc], eax
mov qword [r12 + 0x6b8], r15
lea rax, [rsp + 0x41]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x7c]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x68]
lea r8, [rsp + 0x50]
mov rdx, rdi
mov rcx, r12
call fcn.14004c150
test eax, eax
je 0x14004b10b
cmp qword [rsp + 0x58], 0
je 0x1400497b6
mov r14, r15
mov rsi, r15
mov rcx, qword [rsp + 0x50]
cmp word [rcx], 0x3a
jne 0x140048c95
lea rax, [rcx + 2]
movzx edx, word [rax]
test dx, dx
je 0x140048c95
mov r11, rax
mov qword [rbp - 0x70], rax
cmp dx, 0x3a
je 0x140048b95
mov edx, 0x3a
mov rcx, rax
call fcn.1400c0244
lea rcx, [rax + 2]
test rax, rax
cmovne r14, rcx
mov rcx, qword [rsp + 0x50]
mov r11, qword [rbp - 0x70]
jmp 0x140048ba4
cmp word [rcx + 4], 0
je 0x140048c95
lea r14, [rcx + 4]
mov qword [rbp - 0x78], r14
test r14, r14
je 0x140048c95
movzx ecx, byte [0x14012ab5c]
mov byte [rbp + 0x81e8], cl
mov r8, r11
cmp r11, r14
jae 0x140048c04
nop word [rax + rax]
movzx edx, word [r8]
add r8, 2
lea eax, [rdx - 0x61]
movzx ecx, dx
and cx, bx
cmp ax, 0x19
cmova cx, dx
cmp cx, 0x58
je 0x140048bf6
cmp r8, r14
jb 0x140048bd0
jmp 0x140048c04
cmp word [r8], 0x30
setne cl
mov byte [rbp + 0x81e8], cl
mov rbx, r14
movzx r12d, byte [rbp + 0x81e8]
lea r15, [0x140000000]
movzx eax, word [rbx]
test ax, ax
je 0x140048c73
movzx ecx, ax
movzx eax, cx
cmp cx, 0x60
je 0x140048c44
cmp cx, 0x3a
je 0x140048c3f
add rbx, 2
movzx eax, word [rbx]
movzx ecx, ax
test ax, ax
jne 0x140048c21
test ax, ax
je 0x140048c73
lea rdx, [rbx + 2]
cmp ax, 0x3a
jne 0x140048d0d
test rsi, rsi
jne 0x140048d85
cmp word [rdx], ax
jne 0x140048d85
mov rsi, rbx
mov rbx, rdx
test r12b, r12b
je 0x140048d85
test rsi, rsi
mov r15d, 0
mov r14, qword [rbp - 0x78]
mov r12, qword [rbp + 0x81d0]
jne 0x140048dcb
mov r14d, r15d
mov rcx, qword [rsp + 0x50]
mov qword [rbp - 0x78], r14
lea rdx, [0x140109880]
call fcn.1400c054c
mov rsi, rax
test rax, rax
je 0x140048de2
mov rcx, qword [rsp + 0x50]
cmp rax, rcx
jne 0x140048cc6
cmp word [rax + 4], 0x3a
jne 0x140048cc6
add rsi, 2
mov rbx, rsi
cmp rsi, rcx
jbe 0x140048ce8
nop
movzx eax, word [rbx]
cmp ax, 0x20
je 0x140048cdf
cmp ax, 9
jne 0x140048ce8
sub rbx, 2
cmp rbx, rcx
ja 0x140048cd0
movzx edi, word [rbx]
mov word [rbx], r15w
mov rcx, qword [rsp + 0x50]
movzx eax, word [rcx]
cmp ax, 0x20
je 0x140048d07
cmp ax, 9
jne 0x140048d8e
add rcx, 2
jmp 0x140048cf4
movzx eax, word [rdx]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x140048d25.99
cdqe
mov ecx, dword [r15 + rax*4 + 0x4b140]
add rcx, r15
jmp rcx
mov word [rdx], 7
jmp case.0x140048d25.99
mov word [rdx], 8
jmp case.0x140048d25.99
mov word [rdx], reloc.WSOCK32.dll_ioctlsocket
jmp case.0x140048d25.99
mov word [rdx], 0xa
jmp case.0x140048d25.99
mov word [rdx], recv
jmp case.0x140048d25.99
mov word [rdx], 9
jmp case.0x140048d25.99
mov word [rdx], reloc.WSOCK32.dll_inet_ntoa
jmp case.0x140048d25.99
mov word [rdx], SafeArrayAllocDescriptor
mov r8, 0xffffffffffffffff
lea r8, [r8 + 1]
cmp word [rdx + r8*2], 0
jne 0x140048d64
lea r8, [r8*2 + 2]
mov rcx, rbx
call fcn.1400e2370
dec qword [rsp + 0x58]
add rbx, 2
jmp 0x140048c16
xor r8d, r8d
xor edx, edx
call fcn.140019fe0
mov dword [rbp - 0x80], eax
test eax, eax
je 0x14004b10b
cmp eax, 4
cmove rsi, r15
mov word [rbx], di
mov r11, qword [rbp - 0x70]
mov qword [rbp - 0x70], r11
movzx r10d, byte [rbp + 0x81e8]
mov byte [rbp + 0x81e8], r10b
test rsi, rsi
je 0x140048de2
jmp 0x140048dd7
movzx r10d, byte [rbp + 0x81e8]
mov r11, qword [rbp - 0x70]
cmp rsi, qword [rsp + 0x50]
ja 0x140049082
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
cmp word [rcx + rax*2 - 2], 0x3a
jne 0x140048e52
cmp dword [r12 + 0x94], 0
je 0x140048e0d
mov rax, qword [0x1401241d8]
cmp qword [rax + 0x28], 0
je 0x140048e52
mov rbx, qword [rsp + 0x50]
movzx eax, word [rbx]
cmp eax, 0x7f
ja 0x140048e2b
mov ecx, eax
call fcn.1400c9ef0
test eax, eax
jne 0x140048e2b
cmp word [rbx], 0x5f
jne 0x140048e31
add rbx, 2
jmp 0x140048e12
mov rax, rbx
mov rdi, qword [rsp + 0x50]
sub rax, rdi
sar rax, 1
inc rax
cmp rax, qword [rsp + 0x58]
jne 0x140048e52
cmp rbx, rdi
ja 0x140049dee
mov rdi, qword [rsp + 0x50]
cmp word [rdi], 0x23
jne 0x140048ee9
mov r8d, 6
lea rdx, [0x140104f90]
mov rcx, rdi
call fcn.1400c53a8
test eax, eax
jne 0x140048ec3
mov rdx, qword [rsp + 0x50]
movzx eax, word [rdx + 0xc]
cmp ax, 0x20
je 0x140048e8f
cmp ax, 9
jne 0x140048ec8
lea rax, [rsp + 0x41]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x7c]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x68]
lea r8, [rsp + 0x50]
mov rdx, qword [rbp + 0x81d8]
mov rcx, r12
call fcn.14004b3d0
test eax, eax
je 0x14004b10b
mov rdx, qword [rsp + 0x50]
mov ebx, dword [r12 + 0x2dc]
mov rcx, r12
call fcn.14004d170
test eax, eax
je 0x14004b10b
cmp eax, 3
je 0x140049e5c
mov rax, qword [rsp + 0x50]
movzx ecx, word [rax]
lea eax, [rcx - 0x7b]
mov edx, 0xfffd
test dx, ax
jne 0x140049e77
movsxd rdx, dword [r12 + 0x94]
test edx, edx
je 0x140048fe7
mov rax, qword [0x1401241d8]
cmp qword [rax + 0x28], 0
jne 0x140048fe7
cmp cx, 0x7b
je 0x14004a79c
cmp qword [r12 + 0x2c8], 0
je 0x140048f64
mov qword [r12 + 0x2c8], r15
mov rcx, qword [r12 + 0x2d0]
test rcx, rcx
je 0x140049011
call fcn.1400c5338
mov qword [r12 + 0x2d0], r15
jmp 0x140049011
lea eax, [rdx - 1]
mov dword [r12 + 0x94], eax
mov rdi, qword [r12 + rdx*8 + 0x90]
lea rdx, [0x14010a970]
mov rcx, rdi
call fcn.140005520
test rax, rax
je 0x140048f96
cmp dword [rax + 8], 5
jne 0x140048f96
mov rbx, qword [rax]
jmp 0x140048f99
mov rbx, r15
mov rcx, rdi
call fcn.140093640
mov rcx, rbx
call fcn.140093640
movsxd rax, dword [r12 + 0x94]
mov rcx, qword [r12 + rax*8 + 0x98]
mov rax, qword [rcx]
call qword [rax + reloc.WSOCK32.dll_recv]
mov edx, 0x2e
lea rcx, [r12 + 0xc0]
call fcn.1400c0194
test rax, rax
je 0x140048fdc
mov word [rax], r15w
jmp 0x140049011
mov word [r12 + 0xc0], r15w
jmp 0x140049011
cmp cx, 0x7b
setne dl
add dl, 3
mov byte [rsp + 0x28], 0
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
mov rcx, r12
call fcn.140051c40
test eax, eax
je 0x14004b10b
mov rdx, qword [rsp + 0x50]
add rdx, 2
movzx eax, word [rdx]
cmp ax, 0x20
je 0x140049016
cmp ax, 9
je 0x140049016
test ax, ax
je 0x1400497aa
mov rax, rdx
mov rdi, qword [rsp + 0x50]
sub rax, rdi
sar rax, 1
mov rcx, qword [rsp + 0x58]
sub rcx, rax
mov qword [rsp + 0x58], rcx
lea r8, [rcx*2 + 2]
mov rcx, rdi
call fcn.1400e2370
mov qword [r12 + 0x6b8], r15
mov ebx, 0xffdf
cmp qword [rsp + 0x58], 0
jne 0x140048b40
mov rdi, qword [rbp + 0x81d8]
jmp 0x1400497b6
mov rax, qword [0x1401241d8]
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x14004909d
cmp rcx, qword [r12 + 0x30]
jne 0x14004a6a9
cmp dword [r12 + 0x94], 0
jne 0x14004a6a9
mov word [rsi], r15w
add rsi, 4
mov rcx, rsi
movzx eax, word [rcx]
cmp ax, 0x20
je 0x1400490c6
cmp ax, 9
jne 0x1400490cc
add rcx, 2
jmp 0x1400490b7
cmp ax, 0x7b
jne 0x1400490de
cmp word [rcx + 2], 0
jne 0x1400490de
mov dil, 1
jmp 0x1400490e1
xor dil, dil
mov dword [rsp + 0x44], edi
test r14, r14
je 0x1400490f3
test r10b, r10b
je 0x140049b22
mov rsi, rcx
test r14, r14
jne 0x140049b22
mov qword [rbp - 0x40], rcx
cmp ax, 0x60
jne 0x140049119
lea rax, [rcx + 2]
cmp word [rax], 0x7b
cmove rsi, rax
mov qword [rbp - 0x40], rsi
mov r14, rsi
test dil, dil
jne 0x14004989e
cmp word [rsi], 0
je 0x14004989e
movzx eax, word [rsi + 2]
test ax, ax
je 0x1400492c3
lea rdx, [0x140000000]
cmp ax, 0x20
je case.0x140049169.34
movzx eax, word [r14]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x140049169.34
cdqe
movzx eax, byte [rdx + rax + 0x4b1a0]
mov ecx, dword [rdx + rax*4 + 0x4b198]
add rcx, rdx
jmp rcx
add r14, 2
movzx eax, word [r14 + 2]
test ax, ax
jne 0x140049143
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
movzx r10d, word [r14]
test r10w, r10w
jne 0x140049193
xor r12b, r12b
jmp 0x1400492b8
movzx edx, word [r14 + 2]
movzx ecx, r10w
test dx, dx
jne 0x1400491b7
mov r9b, 1
mov r8, rax
xor edx, edx
call fcn.1400233a0
movzx r12d, al
jmp 0x1400492b8
lea eax, [r10 - 0x61]
mov r8d, 0xffdf
and cx, r8w
cmp ax, 0x19
cmova cx, r10w
cmp cx, 0x56
jne 0x140049216
lea eax, [rdx - 0x61]
movzx ecx, dx
and cx, r8w
cmp ax, 0x19
cmova cx, dx
cmp cx, 0x4b
jne 0x140049216
lea rcx, [r14 + 4]
mov r8d, reloc.WSOCK32.dll_recv
lea rdx, [rbp - 0x28]
call fcn.1400cbc18
mov r12d, r15d
movzx ecx, al
mov rax, qword [rbp - 0x28]
cmp word [rax], 0
cmove r12d, ecx
jmp 0x1400492b8
mov rdi, r15
lea r12, [0x1401243f0]
mov rbx, r12
mov rdx, r14
mov rcx, qword [rbx]
call fcn.1400c51bc
test eax, eax
je 0x1400492ae
inc rdi
add rbx, 0x10
lea rax, [0x140124aa0]
cmp rbx, rax
jl 0x140049223
xor edx, edx
mov rcx, r14
call fcn.140023150
test ax, ax
je 0x14004918b
movzx edx, ax
sub edx, 0x45
je 0x1400492a6
sub edx, 0xf1
je 0x140049271
cmp edx, 0xf
jne 0x14004927b
mov ecx, 0xff
and ax, cx
jmp 0x140049280
mov ecx, 0xff
bt ax, 8
jae 0x140049292
and ax, cx
mov ecx, 0xe000
or ax, cx
movzx ecx, ax
mov edx, 3
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
movzx r12d, al
jmp 0x1400492b8
mov al, reloc.WSOCK32.dll_send
movzx r12d, al
jmp 0x1400492b8
shl rdi, 4
movzx r12d, byte [rdi + r12 + 8]
test r12b, r12b
je 0x140049909
jmp 0x1400492c6
mov r12b, 0xff
mov rbx, qword [rsp + 0x50]
cmp word [rbx], 0
je case.0x140049306.34
movzx eax, word [rbx + 2]
test ax, ax
je case.0x140049306.34
lea rdx, [0x140000000]
cmp ax, 0x20
je case.0x140049306.34
movzx eax, word [rbx]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x140049306.34
cdqe
movzx eax, byte [rdx + rax + 0x4b208]
mov ecx, dword [rdx + rax*4 + 0x4b200]
add rcx, rdx
jmp rcx
add rbx, 2
movzx eax, word [rbx + 2]
test ax, ax
jne 0x1400492e1
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
mov qword [rsp + 0x20], rax
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.140023240
movzx r15d, al
lea rdx, [0x140106498]
mov rcx, rbx
call fcn.1400c054c
mov rsi, rax
lea ecx, [r15 - 1]
cmp cl, 5
ja 0x140049354
cmp r15b, 3
jne 0x14004935d
lea ecx, [r15 + 0x66]
cmp cl, 5
ja 0x140049361
mov cl, 1
jmp 0x140049363
xor cl, cl
lea eax, [r12 - 1]
cmp al, 5
ja 0x140049372
cmp r12b, 3
jne 0x14004937b
lea eax, [r12 + 0x66]
cmp al, 5
ja 0x140049380
mov r13b, 1
jmp 0x140049383
xor r13b, r13b
test cl, cl
jne 0x140049391
test r13b, r13b
je 0x140049391
mov dil, 1
jmp 0x140049394
xor dil, dil
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x1400493a0
cmp rax, 1
jne 0x1400493cd
movzx ecx, word [rbx]
call qword [sym.imp.USER32.dll_IsCharUpperW]
test eax, eax
je 0x1400493cd
lea rcx, [0x140109910]
lea rax, [0x140100be0]
jmp 0x1400493d7
lea rax, [0x140100be0]
mov rcx, rax
lea r9, [0x140104d0c]
test rsi, rsi
cmovne r9, rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea r8, [0x140107f10]
mov edx, SafeArrayAllocDescriptor
lea rcx, [rbp + 0x30]
call fcn.1400a1160
movzx eax, word [r14]
cmp ax, 0x22
je 0x140049433
cmp ax, 0x60
je 0x140049433
mov r8d, SafeArrayAllocDescriptor
mov rdx, r14
lea rcx, [rbp - 0x10]
call fcn.1400d3cf4
xor ebx, ebx
mov word [rbp + 0x2e], bx
jmp 0x140049446
mov ecx, 0x60
mov word [rbp - 0x10], cx
mov word [rbp - 0xe], ax
xor ebx, ebx
mov word [rbp - 0xc], bx
mov r8d, 7
mov rsi, qword [rbp - 0x40]
mov rdx, rsi
lea rcx, [rbp - 0x38]
call fcn.1400d3cf4
xor edx, edx
mov word [rbp - 0x2a], dx
sub r14, rsi
sar r14, 1
cmp r14, 8
jae 0x140049474
mov word [rbp + r14*2 - 0x38], dx
cmp word [rbp - 0x38], dx
jne 0x14004949a
cmp r12b, 0x13
jne 0x14004949a
lea rdx, [0x140102068]
lea rcx, [rbp - 0x10]
call fcn.1400c51bc
test eax, eax
je 0x1400498ff
xor edx, edx
mov rbx, qword [rbp + 0x81d0]
cmp qword [rbx + 0x30], 0
jne 0x14004a301
mov rcx, rbx
call fcn.140066770
test rax, rax
je 0x14004a3cf
lea r8, [rsp + 0x42]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x30]
call fcn.14001a770
mov rcx, qword [rbx + 0x30]
test rax, rax
je 0x1400494ec
movzx r8d, byte [rsp + 0x40]
mov rdx, rcx
mov rcx, rax
call fcn.140019eb0
jmp 0x1400494fd
xor edx, edx
movzx r9d, byte [rsp + 0x40]
lea r8, [rbp + 0x30]
call fcn.1400192d0
test rax, rax
je 0x14004a3cf
lea r8, [0x140102338]
test r13b, r13b
lea r14, [0x140102350]
cmovne r8, r14
lea rdx, [0x140109988]
lea rcx, [rbp + 0x170]
call fcn.140006da0
movsxd rcx, eax
lea rsi, [rbp + 0x170]
lea rsi, [rsi + rcx*2]
test dil, dil
je 0x14004955b
lea r8, [rbp - 0x10]
lea rdx, [0x140109998]
mov rcx, rsi
call fcn.140006da0
movsxd rcx, eax
lea rsi, [rsi + rcx*2]
lea rdi, [rbp - 0x20]
lea rbx, [0x1401099c8]
mov eax, SafeArrayAllocDescriptor
mov r8, qword [rbp - 0x70]
mov qword [rbp - 0x70], r8
movzx ecx, byte [rbp + 0x81e8]
mov byte [rbp + 0x81e8], cl
mov ecx, dword [rbp - 0x80]
mov dword [rbp - 0x80], ecx
nop word [rax + rax]
movzx edx, ax
lea rcx, [rbp + 0x30]
call fcn.1400c0244
test rax, rax
je 0x1400495c3
cmp word [rax + 2], 0
je 0x1400495c3
movzx edx, word [rbx]
lea rcx, [rbp - 0x38]
call fcn.1400c0244
test rax, rax
jne 0x1400495c3
movzx eax, word [rbx]
mov word [rdi], ax
add rdi, 2
add rbx, 2
movzx eax, word [rbx]
test ax, ax
jne 0x140049590
xor ebx, ebx
mov word [rdi], bx
lea r9, [0x140100be0]
movzx ecx, r12b
sub ecx, 0x12
je 0x1400495f1
sub ecx, 0x92
je 0x1400495f1
cmp ecx, 1
jne 0x140049616
mov ecx, r15d
sub ecx, 0x11
je 0x14004960f
sub ecx, 0x91
je 0x14004960f
cmp ecx, 1
jne 0x140049616
lea r9, [0x1401099f0]
jmp 0x140049616
lea r9, [0x1401099d8]
lea rax, [rbp - 0x10]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x20]
lea rdx, [0x140109a10]
mov rcx, rsi
call fcn.140006da0
mov byte [rsp + 0x28], bl
xor r15d, r15d
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
mov dl, 3
mov r12, qword [rbp + 0x81d0]
mov rcx, r12
call fcn.140051c40
test eax, eax
je 0x14004b10b
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x170]
mov rcx, r12
call fcn.14004f010
test eax, eax
je 0x14004b10b
mov byte [rsp + 0x28], bl
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
mov dl, 4
mov rcx, r12
call fcn.140051c40
test eax, eax
je 0x14004b10b
lea r8, [rbp + 0x30]
lea rdx, [0x140109a50]
lea rcx, [rbp + 0x170]
call fcn.140006da0
mov rcx, r12
call fcn.140066770
test rax, rax
je 0x14004b10b
lea r8, [rsp + 0x42]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x170]
call fcn.14001a770
mov rcx, qword [r12 + 0x30]
test rax, rax
je 0x140049704
movzx r8d, byte [rsp + 0x40]
mov rdx, rcx
mov rcx, rax
call fcn.140019eb0
jmp 0x140049718
xor edx, edx
movzx r9d, byte [rsp + 0x40]
lea r8, [rbp + 0x170]
call fcn.1400192d0
test rax, rax
je 0x14004b10b
lea r8, [0x140102338]
test r13b, r13b
cmovne r8, r14
lea r9, [rbp - 0x10]
lea rdx, [0x140109a60]
lea rcx, [rbp + 0x170]
call fcn.140006da0
mov byte [rsp + 0x28], bl
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
mov dl, 3
mov rcx, r12
call fcn.140051c40
test eax, eax
je 0x14004b10b
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x170]
mov rcx, r12
call fcn.14004f010
test eax, eax
je 0x14004b10b
mov byte [rsp + 0x28], bl
mov dl, 4
xor r9d, r9d
mov qword [rsp + 0x20], r15
xor r8d, r8d
mov rcx, r12
call fcn.140051c40
test eax, eax
je 0x14004b10b
mov rdi, qword [rbp + 0x81d8]
mov ebx, 0xffdf
mov rcx, qword [rsp + 0x50]
mov rax, qword [rbp - 0x68]
mov qword [rsp + 0x50], rax
mov qword [rbp - 0x68], rcx
mov rcx, qword [rsp + 0x60]
mov rax, qword [rbp - 0x58]
mov qword [rsp + 0x60], rax
mov qword [rbp - 0x58], rcx
mov rax, qword [rbp - 0x60]
mov qword [rsp + 0x58], rax
lea r13, [0x140100be0]
cmp rax, 0xffffffffffffffff
jne 0x140048af0
cmp byte [rsp + 0x43], 0
jne 0x14004aeeb
mov rcx, qword [r12 + 0x70]
test rcx, rcx
jne 0x14004ae6a
cmp dword [r12 + 0x94], ecx
je 0x14004aeeb
lea rax, [r12 + 0xc0]
mov rcx, qword [r12 + 0x6b8]
movzx edx, byte [0x14012ce0c]
test rcx, rcx
je 0x14004adf1
test dl, dl
je 0x14004adf1
test rax, rax
cmovne r13, rax
mov rax, qword [0x1401241d8]
cmp dword [rax + 0x60], 0
jne 0x14004adca
cmp dword [r12 + 0x718], 0
jne 0x14004adca
cmp byte [0x140126ada], 0
jne 0x14004adca
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rcx
mov r9, r13
xor r8d, r8d
lea rdx, [0x140109d98]
mov rcx, r12
call fcn.140010330
mov r15d, eax
jmp 0x14004b10b
test rsi, rsi
jne 0x140049910
movzx edi, r15w
mov dword [rsp + 0x48], edi
lea r8, [rsp + 0x42]
lea rdx, [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
call fcn.14001a770
mov rbx, rax
test rax, rax
je 0x140049a27
test di, di
je 0x1400499ab
mov word [rax + 6], di
mov r14, qword [rbp - 0x78]
mov edi, dword [rsp + 0x44]
cmp word [rsi], 0
je 0x1400497aa
test dil, dil
je 0x140049cb4
mov byte [rsp + 0x28], 0
mov dl, 3
jmp 0x14004978f
xor r15d, r15d
lea r13, [0x140100be0]
mov r12, qword [rbp + 0x81d0]
cmp word [rsi], 0
je 0x1400498a3
lea rdx, [0x140108190]
mov rcx, rsi
call fcn.1400c51bc
test eax, eax
jne 0x140049933
mov edi, 0x7ffe
jmp 0x1400498a7
lea rdx, [0x1401081a0]
mov rcx, rsi
call fcn.1400c51bc
test eax, eax
jne 0x140049950
mov edi, 0x7ffd
jmp 0x1400498a7
lea rdx, [0x1401081b8]
mov rcx, rsi
call fcn.1400c51bc
test eax, eax
jne 0x14004996d
mov edi, 0x7ffc
jmp 0x1400498a7
lea rdx, [0x1401081d0]
mov rcx, rsi
call fcn.1400c51bc
test eax, eax
jne 0x14004998a
mov edi, 0x7ffb
jmp 0x1400498a7
lea rdx, [0x1401081f0]
mov rcx, rsi
call fcn.1400c51bc
test eax, eax
jne 0x1400498a3
mov edi, 0x7ffa
jmp 0x1400498a7
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x1400499d5
mov rax, qword [0x1401241d8]
mov rdx, qword [rax + 0x80]
cmp qword [rcx + 0x10], rdx
je 0x14004a3e9
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x1400499c2
cmp qword [r12 + 0x30], 0
jne 0x1400499ee
mov rcx, r12
call fcn.140066770
test rax, rax
je 0x14004b10b
movzx r8d, byte [rsp + 0x40]
mov rdx, qword [r12 + 0x30]
mov rcx, rbx
call fcn.140019eb0
test rax, rax
je 0x14004a44d
cmp byte [rsp + 0x42], 0
jne 0x140049a1e
cmp byte [0x14012ab3f], 0
je 0x1400498d8
mov byte [rbx + 0x14], 1
jmp 0x1400498d8
mov rax, qword [r12 + 0x30]
test di, di
je 0x140049a9b
test rax, rax
je 0x140049ab1
mov rcx, qword [r12 + 0x6b8]
test rcx, rcx
movzx eax, byte [0x14012ce0c]
je 0x140049a52
test al, al
jne 0x140049bec
cmp byte [0x14012ce0f], 0
je 0x14004a55a
test al, al
jne 0x14004a55a
test rcx, rcx
jne 0x14004a5a9
mov eax, dword [r12 + 0x2dc]
mov r9d, dword [r12 + 0x2d8]
lea rdx, [0x140109920]
mov dword [rsp + 0x20], eax
mov r8, r13
mov rcx, r12
call fcn.14000f320
jmp 0x14004b10b
test rax, rax
jne 0x140049ab1
mov rcx, r12
call fcn.140066770
test rax, rax
je 0x14004b10b
movzx r9d, byte [rsp + 0x40]
mov r8, qword [rsp + 0x50]
movzx edx, di
mov rcx, qword [r12 + 0x30]
call fcn.1400192d0
test rax, rax
jne 0x1400498d8
cmp dword [rbp - 0x80], 3
jne 0x14004b10b
cmp byte [r12 + 0x7a4], al
jne 0x1400498d8
mov r9, qword [rsp + 0x50]
lea r8, [0x140109b20]
mov edx, 0x80
lea rcx, [rbp + 0x70]
call fcn.1400a1160
mov qword [rsp + 0x20], r15
xorps xmm3, xmm3
xor r8d, r8d
mov edx, 0x10000
lea rcx, [rbp + 0x70]
call fcn.1400a7cd0
jmp 0x1400498d8
cmp word [r14], 0
je 0x14004a5b6
test dil, dil
je 0x140049b8f
cmp byte [0x14012ab75], 0
setne r9b
mov r8, r11
cmp r11, r14
jae 0x140049b84
nop word [rax + rax]
movzx eax, word [r8]
mov ecx, eax
sub ax, 0x61
mov edx, ecx
and edx, 0xffffffdf
cmp ax, 0x19
cmova edx, ecx
sub edx, 0x52
test edx, 0xfffffffd
jne 0x140049b7b
cmp word [r8 + 2], 0x30
setne r9b
add r8, 2
cmp r8, r14
jb 0x140049b50
movzx edi, dil
test r9b, r9b
cmovne edi, r15d
cmp word [rsi], 0
je 0x140049c40
test dil, dil
jne 0x140049c40
test r10b, r10b
jne 0x140049c40
lea rbx, [r12 + 0x30]
cmp qword [rbx], 0
je 0x140049c6e
mov eax, dword [r12 + 0x2dc]
dec eax
mov dword [r12 + 0x2dc], eax
mov rcx, qword [r12 + 0x6b8]
movzx edx, byte [0x14012ce0c]
test rcx, rcx
je 0x14004a593
test dl, dl
je 0x14004a593
mov rax, qword [0x1401241d8]
cmp dword [rax + 0x60], 0
jne 0x14004a56c
cmp dword [r12 + 0x718], 0
jne 0x14004a56c
cmp byte [0x140126ada], 0
jne 0x14004a56c
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rcx
mov r9, r13
xor r8d, r8d
lea rdx, [0x140109920]
mov rcx, r12
call fcn.140010330
mov r15d, eax
jmp 0x14004b10b
lea rbx, [r12 + 0x30]
cmp qword [rbx], 0
jne 0x140049c64
mov rcx, r12
call fcn.140066770
test rax, rax
je 0x14004b10b
movzx r10d, byte [rbp + 0x81e8]
test r10b, r10b
jne 0x140049c73
test dil, dil
jne 0x140049c73
mov rcx, rsi
jmp 0x140049c76
mov rcx, r13
mov byte [rsp + 0x30], 0
movzx eax, byte [rsp + 0x41]
mov byte [rsp + 0x28], al
mov qword [rsp + 0x20], rcx
mov r9, r14
mov r8, qword [rbp - 0x70]
mov rdx, qword [rbx]
mov rcx, qword [rsp + 0x50]
call fcn.14001b3c0
test eax, eax
je 0x14004b10b
cmp qword [rbx], 0
je 0x1400497aa
jmp 0x1400498e0
test r14, r14
je 0x140049cc2
movzx eax, byte [rbp + 0x81e8]
jmp 0x140049cce
mov eax, r15d
cmp word [rsp + 0x48], 0
sete al
test eax, eax
je 0x1400497aa
mov rax, rsi
mov rcx, qword [rsp + 0x50]
sub rax, rcx
sar rax, 1
mov r8, qword [rsp + 0x58]
sub r8, rax
mov qword [rsp + 0x58], r8
add r8, r8
mov rdx, rsi
call fcn.1400e2370
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
mov word [rcx + rax*2], r15w
mov rbx, qword [r12 + 0x70]
lea rax, [rsp + 0x41]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x7c]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x68]
lea r8, [rsp + 0x50]
mov rdi, qword [rbp + 0x81d8]
mov rdx, rdi
mov rcx, r12
call fcn.14004b3d0
test eax, eax
je 0x14004b10b
mov byte [rsp + 0x28], 0
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
mov dl, 3
mov rcx, r12
call fcn.140051c40
test eax, eax
je 0x14004b10b
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rsp + 0x50]
mov rcx, r12
call fcn.14004f010
test eax, eax
je 0x14004b10b
mov byte [rsp + 0x28], 0
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
mov dl, 4
mov rcx, r12
call fcn.140051c40
test eax, eax
je 0x14004b10b
cmp rbx, qword [r12 + 0x70]
je 0x1400497b1
mov qword [r12 + 0x6b8], r15
cmp byte [0x14012ce0f], 0
je 0x14004a55a
cmp byte [0x14012ce0c], 0
jne 0x14004a55a
mov eax, dword [r12 + 0x2dc]
movzx r9d, word [r12 + 0x2d8]
jmp 0x140049a80
mov rcx, qword [rsp + 0x58]
dec rcx
mov qword [rsp + 0x58], rcx
mov rax, qword [rsp + 0x50]
mov word [rax + rcx*2], r15w
lea rdx, [0x140106a20]
mov rcx, qword [rsp + 0x50]
call fcn.1400c51bc
test eax, eax
jne 0x140049e3e
mov rax, qword [r12 + 0x70]
test rax, rax
je 0x140049e3e
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x140049e3e
cmp byte [rcx], 0x1a
jne 0x140049e3e
mov byte [rsp + 0x28], 0
mov dl, reloc.OLEAUT32.dll_DispGetParam
jmp 0x14004978f
cmp qword [r12 + 0x30], 0
jne 0x140049a36
mov rdx, qword [rsp + 0x50]
mov rcx, r12
call fcn.14004ed80
jmp 0x1400497a2
mov eax, dword [rbp + 0x81e0]
mov dword [r12 + 0x2d8], eax
mov dword [r12 + 0x2dc], ebx
jmp 0x1400497aa
mov rdi, qword [rsp + 0x50]
mov r8d, 5
lea rdx, [0x140109798]
mov rcx, rdi
call fcn.1400c53a8
test eax, eax
jne 0x140049fdb
movzx eax, word [rdi + 0xa]
cmp ax, 0x20
je 0x140049ead
cmp ax, 9
jne 0x140049fdb
add rdi, 0xc
movzx edx, word [rdi]
cmp dx, 0x20
je 0x140049ec0
cmp dx, 9
jne 0x140049ec6
add rdi, 2
jmp 0x140049eb1
lea rcx, [0x1401097a8]
call fcn.1400c0244
test rax, rax
jne 0x140049fdb
mov r8, qword [0x1401241d8]
cmp qword [r8 + 0x28], rax
jne 0x14004a9a0
mov rdx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
cmp word [rdx + rax*2 - 2], 0x7b
jne 0x140049f66
dec rax
cmp word [rdx], 0
je 0x140049fcb
cmp rax, 0xffffffffffffffff
jne 0x140049f1b
inc rax
cmp word [rdx + rax*2], 0
jne 0x140049f11
lea rax, [rax - 1]
lea rax, [rdx + rax*2]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x140049f32
cmp cx, 9
jne 0x140049f3d
cmp rax, rdx
je 0x140049f52
sub rax, 2
jmp 0x140049f23
mov word [rax + 2], r15w
mov rdx, rdi
mov rcx, r12
call fcn.140054f70
jmp 0x1400497a2
mov word [rax], r15w
mov rdx, rdi
mov rcx, r12
call fcn.140054f70
jmp 0x1400497a2
mov r9, qword [rbp - 0x68]
cmp word [r9], 0x7b
jne 0x14004a89f
lea rax, [r9 + 2]
nop dword [rax]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x140049f8f
cmp cx, 9
jne 0x140049f95
add rax, 2
jmp 0x140049f80
sub rax, r9
sar rax, 1
mov r8, qword [rbp - 0x60]
sub r8, rax
mov qword [rbp - 0x60], r8
je 0x140049fc7
add r8, r8
lea rdx, [r9 + 2]
mov rcx, r9
call fcn.1400e2370
mov rdx, rdi
mov rcx, r12
call fcn.140054f70
jmp 0x1400497a2
mov word [r9], r15w
mov rdx, rdi
mov rcx, r12
call fcn.140054f70
jmp 0x1400497a2
lea rax, [rsp + 0x41]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x7c]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x68]
lea r8, [rsp + 0x50]
mov rdi, qword [rbp + 0x81d8]
mov rdx, rdi
mov rcx, r12
call fcn.14004b3d0
test eax, eax
je 0x14004b10b
mov rax, qword [0x1401241d8]
cmp qword [r12 + 0x2c8], 0
je 0x14004a0f2
cmp qword [rax + 0x28], 0
jne 0x14004a0f2
mov r8d, 3
lea rdx, [0x140109c70]
mov rcx, qword [rsp + 0x50]
call fcn.1400c53a8
test eax, eax
je 0x14004a06d
mov r8d, 3
lea rdx, [0x140109c78]
mov rcx, qword [rsp + 0x50]
call fcn.1400c53a8
test eax, eax
jne 0x14004aaa6
mov rdx, qword [rsp + 0x50]
lea rbx, [rdx + 6]
movzx ecx, word [rbx]
cmp cx, 0x20
je 0x14004a085
cmp cx, 9
jne 0x14004a08b
add rbx, 2
jmp 0x14004a076
test cx, cx
jne 0x14004a09a
mov rax, qword [rbp - 0x68]
cmp word [rax], 0x7b
je 0x14004a0bc
cmp cx, 0x7b
jne 0x14004a0a7
cmp word [rbx + 2], 0
jmp 0x14004a0b6
cmp cx, 0x3d
jne 0x14004aaab
cmp word [rbx + 2], 0x3e
jne 0x14004aaab
mov edx, 0x2e
mov rcx, qword [r12 + 0x2d0]
call fcn.1400c0244
mov rcx, qword [rsp + 0x50]
movzx edx, word [rcx]
mov word [rax + 2], dx
mov r8, rbx
mov rcx, r12
call fcn.140056690
test eax, eax
je 0x14004b10b
jmp 0x1400497b1
cmp dword [r12 + 0x94], 0
je 0x14004a2b5
cmp qword [rax + 0x28], 0
jne 0x14004a2b5
mov rdi, qword [rsp + 0x50]
xor sil, sil
mov r8d, 6
lea rdx, [0x140104f80]
mov rcx, rdi
call fcn.1400c53a8
test eax, eax
jne 0x14004a174
movzx eax, word [rdi + 0xc]
cmp ax, 0x20
je 0x14004a13d
cmp ax, 9
jne 0x14004a174
add rdi, 0xe
movzx eax, word [rdi]
cmp eax, 0x20
je 0x14004a14e
cmp eax, 9
jne 0x14004a154
add rdi, 2
jmp 0x14004a141
cmp eax, 0x7f
ja 0x14004a171
mov ecx, eax
call fcn.1400c9ef0
test eax, eax
jne 0x14004a171
cmp word [rdi], 0x5f
je 0x14004a171
mov rdi, qword [rsp + 0x50]
jmp 0x14004a174
mov sil, 1
mov rdx, qword [rbp - 0x68]
mov rcx, rdi
call fcn.140047e00
test al, al
je 0x14004a19b
xor r9d, r9d
movzx r8d, sil
mov rdx, rdi
mov rcx, r12
call fcn.140053980
jmp 0x1400497a2
mov rbx, rdi
nop
movzx eax, word [rbx]
cmp eax, 0x7f
ja 0x14004a1c2
mov ecx, eax
call fcn.1400c9ef0
test eax, eax
jne 0x14004a1c2
movzx eax, word [rbx]
cmp ax, 0x5f
je 0x14004a1c2
cmp ax, 0x2e
jne 0x14004a1c8
add rbx, 2
jmp 0x14004a1a0
cmp rbx, rdi
jbe 0x14004acbe
cmp ax, 0x20
je 0x14004a1dd
cmp ax, 9
jne 0x14004a1e6
add rbx, 2
movzx eax, word [rbx]
jmp 0x14004a1d1
cmp ax, 0x3a
jne 0x14004a20b
cmp word [rbx + 2], 0x3d
jne 0x14004acbe
movzx r8d, sil
mov rdx, rdi
mov rcx, r12
call fcn.1400567e0
jmp 0x1400497a2
test ax, ax
je 0x14004a231
cmp ax, 0x5b
je 0x14004a231
cmp ax, 0x7b
je 0x14004a231
cmp ax, 0x3d
jne 0x14004acbe
cmp word [rbx + 2], 0x3e
jne 0x14004acbe
lea r9, [rsp + 0x78]
movzx r8d, sil
mov rdx, rdi
mov rcx, r12
call fcn.140055dc0
test eax, eax
je 0x14004b10b
cmp byte [rsp + 0x78], 0
jne 0x1400497aa
mov r9, qword [rbp - 0x68]
cmp word [r9], 0x7b
jne 0x14004abb2
lea rax, [r9 + 2]
nop dword [rax + rax]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14004a27f
cmp cx, 9
jne 0x14004a285
add rax, 2
jmp 0x14004a270
sub rax, r9
sar rax, 1
mov r8, qword [rbp - 0x60]
sub r8, rax
mov qword [rbp - 0x60], r8
je 0x14004a2ac
add r8, r8
lea rdx, [r9 + 2]
mov rcx, r9
call fcn.1400e2370
jmp 0x1400497aa
mov word [r9], r15w
jmp 0x1400497aa
mov rdx, qword [rbp - 0x68]
mov rcx, qword [rsp + 0x50]
call fcn.140047e00
xor r8d, r8d
mov rdx, qword [rsp + 0x50]
mov rcx, r12
test al, al
je 0x14004a2e7
xor r9d, r9d
call fcn.140053980
test eax, eax
je 0x14004b10b
jmp 0x1400497b1
mov qword [rsp + 0x20], r15
xor r9d, r9d
call fcn.14004f010
test eax, eax
je 0x14004b10b
jmp 0x1400497b1
mov rcx, qword [rbx + 0x6b8]
movzx eax, byte [0x14012ce0c]
test rcx, rcx
je 0x14004a38c
test al, al
je 0x14004a38c
mov rax, qword [0x1401241d8]
cmp dword [rax + 0x60], 0
jne 0x14004a362
cmp dword [rbx + 0x718], 0
jne 0x14004a362
cmp byte [0x140126ada], 0
jne 0x14004a362
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rcx
lea r9, [0x140100be0]
xor r8d, r8d
lea rdx, [0x140109920]
mov rcx, rbx
call fcn.140010330
mov r15d, eax
jmp 0x14004b10b
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], edx
mov r9, rcx
lea r8, [0x140100be0]
lea rdx, [0x140109920]
mov rcx, rbx
call fcn.14000ef80
mov r15d, eax
jmp 0x14004b10b
cmp byte [0x14012ce0f], 0
je 0x14004a3d7
test al, al
jne 0x14004a3d7
test rcx, rcx
je 0x14004a3a8
movzx r9d, word [rcx + 2]
mov eax, dword [rcx + 4]
jmp 0x14004a3b5
mov r9d, dword [rbx + 0x2d8]
mov eax, dword [rbx + 0x2dc]
mov dword [rsp + 0x20], eax
lea r8, [0x140100be0]
lea rdx, [0x140109920]
mov rcx, rbx
call fcn.14000f320
xor r15d, r15d
jmp 0x14004b10b
xor r15d, r15d
lea rdx, [0x140109920]
mov rcx, rbx
jmp 0x14004b0f2
mov qword [r12 + 0x6b8], r15
mov rax, qword [rsp + 0x50]
test rax, rax
cmovne r13, rax
cmp byte [0x14012ce0f], 0
je 0x14004a43b
cmp byte [0x14012ce0c], 0
jne 0x14004a43b
mov eax, dword [r12 + 0x2dc]
mov dword [rsp + 0x20], eax
movzx r9d, word [r12 + 0x2d8]
mov r8, r13
lea rdx, [0x140109af8]
mov rcx, r12
call fcn.14000f320
jmp 0x14004b10b
mov r9, r13
lea rdx, [0x140109af8]
mov rcx, r12
jmp 0x14004b0f9
mov rax, qword [rsp + 0x50]
mov rcx, qword [r12 + 0x6b8]
movzx edx, byte [0x14012ce0c]
test rcx, rcx
je 0x14004a4fa
test dl, dl
je 0x14004a4fa
test rax, rax
cmovne r13, rax
mov rax, qword [0x1401241d8]
cmp dword [rax + 0x60], 0
jne 0x14004a4ca
cmp dword [r12 + 0x718], 0
jne 0x14004a4ca
cmp byte [0x140126ada], 0
jne 0x14004a4ca
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rcx
mov r9, r13
xor r8d, r8d
lea rdx, [0x1401049c0]
mov rcx, r12
call fcn.140010330
mov ebx, eax
mov qword [rbp + 0x81d0], rbx
mov r15d, ebx
jmp 0x14004b10b
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
mov r9, rcx
mov r8, r13
lea rdx, [0x1401049c0]
mov rcx, r12
call fcn.14000ef80
mov ebx, eax
mov qword [rbp + 0x81d0], rbx
mov r15d, ebx
jmp 0x14004b10b
test rax, rax
cmovne r13, rax
cmp byte [0x14012ce0f], 0
je 0x14004a548
test dl, dl
jne 0x14004a548
test rcx, rcx
je 0x14004a51d
movzx r9d, word [rcx + 2]
mov eax, dword [rcx + 4]
jmp 0x14004a52d
mov r9d, dword [r12 + 0x2d8]
mov eax, dword [r12 + 0x2dc]
mov dword [rsp + 0x20], eax
mov r8, r13
lea rdx, [0x1401049c0]
mov rcx, r12
call fcn.14000f320
jmp 0x14004b10b
lea rdx, [0x1401049c0]
mov rcx, r12
mov r9, r13
jmp 0x14004b0f9
mov r9, r13
lea rdx, [0x140109920]
mov rcx, r12
jmp 0x14004b0f9
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
mov r9, rcx
mov r8, r13
lea rdx, [0x140109920]
mov rcx, r12
call fcn.14000ef80
mov r15d, eax
jmp 0x14004b10b
cmp byte [0x14012ce0f], 0
je 0x14004a55a
test dl, dl
jne 0x14004a55a
test rcx, rcx
je 0x140049a78
movzx r9d, word [rcx + 2]
mov eax, dword [rcx + 4]
jmp 0x140049a80
mov rax, qword [rsp + 0x50]
mov rcx, qword [r12 + 0x6b8]
movzx edx, byte [0x14012ce0c]
test rcx, rcx
je 0x14004a649
test dl, dl
je 0x14004a649
test rax, rax
cmovne r13, rax
mov rax, qword [0x1401241d8]
cmp dword [rax + 0x60], 0
jne 0x14004a622
cmp dword [r12 + 0x718], 0
jne 0x14004a622
cmp byte [0x140126ada], 0
jne 0x14004a622
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rcx
mov r9, r13
xor r8d, r8d
lea rdx, [0x140109aa0]
mov rcx, r12
call fcn.140010330
mov r15d, eax
jmp 0x14004b10b
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
mov r9, rcx
mov r8, r13
lea rdx, [0x140109aa0]
mov rcx, r12
call fcn.14000ef80
mov r15d, eax
jmp 0x14004b10b
test rax, rax
cmovne r13, rax
cmp byte [0x14012ce0f], 0
je 0x14004a697
test dl, dl
jne 0x14004a697
test rcx, rcx
je 0x14004a66c
movzx r9d, word [rcx + 2]
mov eax, dword [rcx + 4]
jmp 0x14004a67c
mov r9d, dword [r12 + 0x2d8]
mov eax, dword [r12 + 0x2dc]
mov dword [rsp + 0x20], eax
mov r8, r13
lea rdx, [0x140109aa0]
mov rcx, r12
call fcn.14000f320
jmp 0x14004b10b
mov r9, r13
lea rdx, [0x140109aa0]
mov rcx, r12
jmp 0x14004b0f9
mov rax, qword [rsp + 0x50]
mov rcx, qword [r12 + 0x6b8]
movzx edx, byte [0x14012ce0c]
test rcx, rcx
je 0x14004a73c
test dl, dl
je 0x14004a73c
test rax, rax
cmovne r13, rax
mov rax, qword [0x1401241d8]
cmp dword [rax + 0x60], 0
jne 0x14004a715
cmp dword [r12 + 0x718], 0
jne 0x14004a715
cmp byte [0x140126ada], 0
jne 0x14004a715
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rcx
mov r9, r13
xor r8d, r8d
lea rdx, [0x140109890]
mov rcx, r12
call fcn.140010330
mov r15d, eax
jmp 0x14004b10b
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
mov r9, rcx
mov r8, r13
lea rdx, [0x140109890]
mov rcx, r12
call fcn.14000ef80
mov r15d, eax
jmp 0x14004b10b
test rax, rax
cmovne r13, rax
cmp byte [0x14012ce0f], 0
je 0x14004a78a
test dl, dl
jne 0x14004a78a
test rcx, rcx
je 0x14004a75f
movzx r9d, word [rcx + 2]
mov eax, dword [rcx + 4]
jmp 0x14004a76f
mov r9d, dword [r12 + 0x2d8]
mov eax, dword [r12 + 0x2dc]
mov dword [rsp + 0x20], eax
mov r8, r13
lea rdx, [0x140109890]
mov rcx, r12
call fcn.14000f320
jmp 0x14004b10b
lea rdx, [0x140109890]
mov rcx, r12
mov r9, r13
jmp 0x14004b0f9
mov rcx, qword [r12 + 0x6b8]
movzx eax, byte [0x14012ce0c]
test rcx, rcx
je 0x14004a827
test al, al
je 0x14004a827
mov rax, qword [0x1401241d8]
cmp dword [rax + 0x60], 0
jne 0x14004a7fe
cmp dword [r12 + 0x718], 0
jne 0x14004a7fe
cmp byte [0x140126ada], 0
jne 0x14004a7fe
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rcx
mov r9, qword [rsp + 0x50]
xor r8d, r8d
lea rdx, [0x140109be8]
mov rcx, r12
call fcn.140010330
mov r15d, eax
jmp 0x14004b10b
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
mov r9, rcx
mov r8, qword [rsp + 0x50]
lea rdx, [0x140109be8]
mov rcx, r12
call fcn.14000ef80
mov r15d, eax
jmp 0x14004b10b
cmp byte [0x14012ce0f], 0
je 0x14004a88b
test al, al
jne 0x14004a88b
test rcx, rcx
je 0x14004a85e
movzx r9d, word [rcx + 2]
mov eax, dword [rcx + 4]
mov dword [rsp + 0x20], eax
mov r8, qword [rsp + 0x50]
lea rdx, [0x140109be8]
mov rcx, r12
call fcn.14000f320
jmp 0x14004b10b
mov r9d, dword [r12 + 0x2d8]
mov eax, dword [r12 + 0x2dc]
mov dword [rsp + 0x20], eax
mov r8, qword [rsp + 0x50]
lea rdx, [0x140109be8]
mov rcx, r12
call fcn.14000f320
jmp 0x14004b10b
mov r9, qword [rsp + 0x50]
lea rdx, [0x140109be8]
mov rcx, r12
jmp 0x14004b0f9
mov rax, qword [r12 + 0x6b8]
movzx ecx, byte [0x14012ce0c]
test rax, rax
je 0x14004a927
test cl, cl
je 0x14004a927
test rdx, rdx
cmovne r13, rdx
cmp dword [r8 + 0x60], 0
jne 0x14004a900
cmp dword [r12 + 0x718], 0
jne 0x14004a900
cmp byte [0x140126ada], 0
jne 0x14004a900
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rax
mov r9, r13
xor r8d, r8d
lea rdx, [0x140109c58]
mov rcx, r12
call fcn.140010330
mov r15d, eax
jmp 0x14004b10b
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
mov r9, rax
mov r8, r13
lea rdx, [0x140109c58]
mov rcx, r12
call fcn.14000ef80
mov r15d, eax
jmp 0x14004b10b
test rdx, rdx
cmovne r13, rdx
cmp byte [0x14012ce0f], 0
je 0x14004a98e
test cl, cl
jne 0x14004a98e
test rax, rax
je 0x14004a963
movzx r9d, word [rax + 2]
mov ecx, dword [rax + 4]
mov dword [rsp + 0x20], ecx
lea rdx, [0x140109c58]
mov r8, r13
mov rcx, r12
call fcn.14000f320
jmp 0x14004b10b
mov r9d, dword [r12 + 0x2d8]
mov ecx, dword [r12 + 0x2dc]
mov dword [rsp + 0x20], ecx
lea rdx, [0x140109c58]
mov r8, r13
mov rcx, r12
call fcn.14000f320
jmp 0x14004b10b
mov r9, r13
lea rdx, [0x140109c58]
mov rcx, r12
jmp 0x14004b0f9
mov rcx, qword [rsp + 0x50]
mov rax, qword [r12 + 0x6b8]
movzx edx, byte [0x14012ce0c]
test rax, rax
je 0x14004aa2d
test dl, dl
je 0x14004aa2d
test rcx, rcx
cmovne r13, rcx
cmp dword [r8 + 0x60], 0
jne 0x14004aa06
cmp dword [r12 + 0x718], 0
jne 0x14004aa06
cmp byte [0x140126ada], 0
jne 0x14004aa06
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rax
mov r9, r13
xor r8d, r8d
lea rdx, [0x140109c10]
mov rcx, r12
call fcn.140010330
mov r15d, eax
jmp 0x14004b10b
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
mov r9, rax
mov r8, r13
lea rdx, [0x140109c10]
mov rcx, r12
call fcn.14000ef80
mov r15d, eax
jmp 0x14004b10b
test rcx, rcx
cmovne r13, rcx
cmp byte [0x14012ce0f], 0
je 0x14004aa94
test dl, dl
jne 0x14004aa94
test rax, rax
je 0x14004aa69
movzx r9d, word [rax + 2]
mov ecx, dword [rax + 4]
mov dword [rsp + 0x20], ecx
lea rdx, [0x140109c10]
mov r8, r13
mov rcx, r12
call fcn.14000f320
jmp 0x14004b10b
mov r9d, dword [r12 + 0x2d8]
mov ecx, dword [r12 + 0x2dc]
mov dword [rsp + 0x20], ecx
lea rdx, [0x140109c10]
mov r8, r13
mov rcx, r12
call fcn.14000f320
jmp 0x14004b10b
mov r9, r13
lea rdx, [0x140109c10]
mov rcx, r12
jmp 0x14004b0f9
mov rdx, qword [rsp + 0x50]
mov rcx, qword [r12 + 0x6b8]
movzx eax, byte [0x14012ce0c]
test rcx, rcx
je 0x14004ab39
test al, al
je 0x14004ab39
test rdx, rdx
cmovne r13, rdx
mov rax, qword [0x1401241d8]
cmp dword [rax + 0x60], 0
jne 0x14004ab12
cmp dword [r12 + 0x718], 0
jne 0x14004ab12
cmp byte [0x140126ada], 0
jne 0x14004ab12
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rcx
mov r9, r13
xor r8d, r8d
lea rdx, [0x140109c80]
mov rcx, r12
call fcn.140010330
mov r15d, eax
jmp 0x14004b10b
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
mov r9, rcx
mov r8, r13
lea rdx, [0x140109c80]
mov rcx, r12
call fcn.14000ef80
mov r15d, eax
jmp 0x14004b10b
test rdx, rdx
cmovne r13, rdx
cmp byte [0x14012ce0f], 0
je 0x14004aba0
test al, al
jne 0x14004aba0
test rcx, rcx
je 0x14004ab75
movzx r9d, word [rcx + 2]
mov eax, dword [rcx + 4]
lea rdx, [0x140109c80]
mov dword [rsp + 0x20], eax
mov r8, r13
mov rcx, r12
call fcn.14000f320
jmp 0x14004b10b
mov r9d, dword [r12 + 0x2d8]
mov eax, dword [r12 + 0x2dc]
lea rdx, [0x140109c80]
mov dword [rsp + 0x20], eax
mov r8, r13
mov rcx, r12
call fcn.14000f320
jmp 0x14004b10b
mov r9, r13
lea rdx, [0x140109c80]
mov rcx, r12
jmp 0x14004b0f9
mov rax, qword [rsp + 0x50]
mov rcx, qword [r12 + 0x6b8]
movzx edx, byte [0x14012ce0c]
test rcx, rcx
je 0x14004ac45
test dl, dl
je 0x14004ac45
test rax, rax
cmovne r13, rax
mov rax, qword [0x1401241d8]
cmp dword [rax + 0x60], 0
jne 0x14004ac1e
cmp dword [r12 + 0x718], 0
jne 0x14004ac1e
cmp byte [0x140126ada], 0
jne 0x14004ac1e
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rcx
mov r9, r13
xor r8d, r8d
lea rdx, [0x140109cd0]
mov rcx, r12
call fcn.140010330
mov r15d, eax
jmp 0x14004b10b
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
mov r9, rcx
mov r8, r13
lea rdx, [0x140109cd0]
mov rcx, r12
call fcn.14000ef80
mov r15d, eax
jmp 0x14004b10b
test rax, rax
cmovne r13, rax
cmp byte [0x14012ce0f], 0
je 0x14004acac
test dl, dl
jne 0x14004acac
test rcx, rcx
je 0x14004ac81
movzx r9d, word [rcx + 2]
mov eax, dword [rcx + 4]
lea rdx, [0x140109cd0]
mov dword [rsp + 0x20], eax
mov r8, r13
mov rcx, r12
call fcn.14000f320
jmp 0x14004b10b
mov r9d, dword [r12 + 0x2d8]
mov eax, dword [r12 + 0x2dc]
lea rdx, [0x140109cd0]
mov dword [rsp + 0x20], eax
mov r8, r13
mov rcx, r12
call fcn.14000f320
jmp 0x14004b10b
mov r9, r13
lea rdx, [0x140109cd0]
mov rcx, r12
jmp 0x14004b0f9
mov rax, qword [rsp + 0x50]
mov rcx, qword [r12 + 0x6b8]
movzx edx, byte [0x14012ce0c]
test rcx, rcx
je 0x14004ad51
test dl, dl
je 0x14004ad51
test rax, rax
cmovne r13, rax
mov rax, qword [0x1401241d8]
cmp dword [rax + 0x60], 0
jne 0x14004ad2a
cmp dword [r12 + 0x718], 0
jne 0x14004ad2a
cmp byte [0x140126ada], 0
jne 0x14004ad2a
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rcx
mov r9, r13
xor r8d, r8d
lea rdx, [0x140109d30]
mov rcx, r12
call fcn.140010330
mov r15d, eax
jmp 0x14004b10b
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
mov r9, rcx
mov r8, r13
lea rdx, [0x140109d30]
mov rcx, r12
call fcn.14000ef80
mov r15d, eax
jmp 0x14004b10b
test rax, rax
cmovne r13, rax
cmp byte [0x14012ce0f], 0
je 0x14004adb8
test dl, dl
jne 0x14004adb8
test rcx, rcx
je 0x14004ad8d
movzx r9d, word [rcx + 2]
mov eax, dword [rcx + 4]
lea rdx, [0x140109d30]
mov dword [rsp + 0x20], eax
mov r8, r13
mov rcx, r12
call fcn.14000f320
jmp 0x14004b10b
mov r9d, dword [r12 + 0x2d8]
mov eax, dword [r12 + 0x2dc]
lea rdx, [0x140109d30]
mov dword [rsp + 0x20], eax
mov r8, r13
mov rcx, r12
call fcn.14000f320
jmp 0x14004b10b
mov r9, r13
lea rdx, [0x140109d30]
mov rcx, r12
jmp 0x14004b0f9
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
mov r9, rcx
mov r8, r13
lea rdx, [0x140109d98]
mov rcx, r12
call fcn.14000ef80
mov r15d, eax
jmp 0x14004b10b
test rax, rax
cmovne r13, rax
cmp byte [0x14012ce0f], 0
je 0x14004ae58
test dl, dl
jne 0x14004ae58
test rcx, rcx
je 0x14004ae2d
movzx r9d, word [rcx + 2]
mov eax, dword [rcx + 4]
lea rdx, [0x140109d98]
mov dword [rsp + 0x20], eax
mov r8, r13
mov rcx, r12
call fcn.14000f320
jmp 0x14004b10b
mov r9d, dword [r12 + 0x2d8]
mov eax, dword [r12 + 0x2dc]
lea rdx, [0x140109d98]
mov dword [rsp + 0x20], eax
mov r8, r13
mov rcx, r12
call fcn.14000f320
jmp 0x14004b10b
mov r9, r13
lea rdx, [0x140109d98]
mov rcx, r12
jmp 0x14004b0f9
lea rdx, [0x140109d98]
cmp byte [0x14012ce0c], 0
je 0x14004ae9e
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov r8, r13
lea rcx, [0x14012c670]
call fcn.14000f470
mov r15d, eax
jmp 0x14004b10b
cmp byte [0x14012ce0f], 0
je 0x14004aec7
mov eax, dword [rcx + 4]
mov dword [rsp + 0x20], eax
movzx r9d, word [rcx + 2]
mov r8, r13
lea rcx, [0x14012c670]
call fcn.14000f320
jmp 0x14004b10b
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rcx
mov r9, r13
xor r8d, r8d
lea rcx, [0x14012c670]
call fcn.140010330
mov r15d, eax
jmp 0x14004b10b
mov rcx, qword [r12 + 0x78]
test rcx, rcx
je 0x14004af02
call fcn.140010ae0
mov r15d, eax
jmp 0x14004b10b
cmp qword [r12 + 0x30], 0
je 0x14004b002
mov rcx, qword [r12 + 0x6b8]
movzx eax, byte [0x14012ce0c]
test rcx, rcx
je 0x14004af93
test al, al
je 0x14004af93
mov rax, qword [0x1401241d8]
cmp dword [rax + 0x60], 0
jne 0x14004af6d
cmp dword [r12 + 0x718], 0
jne 0x14004af6d
cmp byte [0x140126ada], 0
jne 0x14004af6d
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rcx
mov r9, r13
xor r8d, r8d
lea rdx, [0x140109920]
mov rcx, r12
call fcn.140010330
mov ebx, eax
jmp 0x14004b115
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
mov r9, rcx
mov r8, r13
lea rdx, [0x140109920]
mov rcx, r12
call fcn.14000ef80
mov ebx, eax
jmp 0x14004b115
cmp byte [0x14012ce0f], 0
je 0x14004afdc
test al, al
jne 0x14004afdc
test rcx, rcx
je 0x14004afaf
movzx r9d, word [rcx + 2]
mov eax, dword [rcx + 4]
jmp 0x14004afbf
mov r9d, dword [r12 + 0x2d8]
mov eax, dword [r12 + 0x2dc]
mov dword [rsp + 0x20], eax
mov r8, r13
lea rdx, [0x140109920]
mov rcx, r12
call fcn.14000f320
xor ebx, ebx
jmp 0x14004b115
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
mov r9, r13
xor r8d, r8d
lea rdx, [0x140109920]
mov rcx, r12
call fcn.140010330
xor ebx, ebx
jmp 0x14004b115
inc dword [r12 + 0x2dc]
mov ebx, 1
jmp 0x14004b115
mov rcx, qword [r12 + 0x6b8]
movzx eax, byte [0x14012ce0c]
test rcx, rcx
je 0x14004b0a0
test al, al
je 0x14004b0a0
mov rax, qword [0x1401241d8]
cmp dword [rax + 0x60], 0
jne 0x14004b078
cmp dword [r12 + 0x718], 0
jne 0x14004b078
cmp byte [0x140126ada], 0
jne 0x14004b078
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rcx
lea r9, [0x140100be0]
xor r8d, r8d
lea rdx, [0x1401049c0]
mov rcx, r12
call fcn.140010330
mov r15d, eax
jmp 0x14004b10b
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
mov r9, rcx
lea r8, [0x140100be0]
lea rdx, [0x1401049c0]
mov rcx, r12
call fcn.14000ef80
mov r15d, eax
jmp 0x14004b10b
cmp byte [0x14012ce0f], 0
je 0x14004b0e8
test al, al
jne 0x14004b0e8
test rcx, rcx
je 0x14004b0bc
movzx r9d, word [rcx + 2]
mov eax, dword [rcx + 4]
jmp 0x14004b0cc
mov r9d, dword [r12 + 0x2d8]
mov eax, dword [r12 + 0x2dc]
mov dword [rsp + 0x20], eax
lea r8, [0x140100be0]
lea rdx, [0x1401049c0]
mov rcx, r12
call fcn.14000f320
jmp 0x14004b10b
lea rdx, [0x1401049c0]
mov rcx, r12
lea r9, [0x140100be0]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
xor r8d, r8d
call fcn.140010330
mov qword [rbp + 0x81d0], r15
mov rbx, r15
mov rcx, qword [rbp - 0x68]
call fcn.1400c5338
nop
mov rcx, qword [rsp + 0x50]
call fcn.1400c5338
mov eax, ebx
add rsp, 0x8288
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret