Function at 0x18003f170
Capabilities:
Check for time delay via gettickcount

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x980]
sub rsp, 0xa80
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rsp + 0xad0], rbx
mov rax, qword [0x180248950]
xor rax, rsp
mov qword [rbp + 0x970], rax
mov r14d, edx
mov dword [rsp + 0x30], edx
mov rdi, rcx
mov qword [rsp + 0x58], rcx
xor r15d, r15d
mov dword [rcx + 0xdc], r15d
mov qword [rcx + 0xc8], r15
mov qword [rcx + 0x54], r15
mov rcx, qword [rcx + 0x230]
mov rax, qword [rcx]
mov edx, 0xa1
call qword [rax]
mov ebx, eax
mov rcx, qword [rdi + 0x140]
mov r8, qword [rcx]
lea edx, [r14 - 1]
call qword [r8 + 0x20]
mov rsi, rax
mov qword [rsp + 0x38], rax
test rax, rax
jne 0x18003f26d
mov rcx, qword [rdi + 0x138]
cmp dword [rcx + 0x514], 1
jne 0x18003f266
lea eax, [rbx + 1]
cmp r14d, eax
jne 0x18003f266
cmp qword [rcx + 0x580], r15
jbe 0x18003f266
call fcn.18002b350
mov rcx, qword [rax + 0x240]
test rcx, rcx
je 0x18003f266
mov rax, qword [rcx]
call qword [rax + 0x48]
test eax, eax
jne 0x18003f266
mov rcx, qword [rdi + 0x138]
add rcx, 0x570
cmp qword [rcx + 0x18], 8
jb 0x18003f257
mov rcx, qword [rcx]
call fcn.18000ee50
mov eax, 1
jmp 0x180040508
xor eax, eax
jmp 0x180040508
lea rcx, [rdi + 0x28]
xor r8d, r8d
lea rdx, [0x1801f3ee0]
call fcn.180005450
mov r13, qword [rsi + 0x18]
mov qword [rsp + 0x40], r13
mov ecx, dword [rsi + 4]
test ecx, ecx
js 0x18003f266
cmp dword [r13 + 0x70], r15d
je 0x18003f266
cmp ecx, 3
je 0x1800404d3
lea eax, [rcx - 0xb]
cmp eax, 2
jbe 0x1800404d3
cmp ecx, 0x15
je 0x1800404d3
mov rax, qword [rdi + 0x138]
cmp dword [rax + 0x458], 0xa
jne 0x18003f2ec
lea rcx, [rdi + 0xf0]
mov esi, 1
mov r8d, esi
lea rdx, [0x1801f4eec]
call fcn.180005450
mov rcx, rdi
call fcn.1800490d0
jmp 0x1800404fc
mov eax, dword [r13 + 8]
cmp eax, 0x30
jne 0x18003f31a
lea rdx, [r13 + 0x60]
lea rcx, [rdi + 0xf0]
cmp rcx, rdx
je 0x1800404f7
or r9, 0xffffffffffffffff
xor r8d, r8d
call fcn.180005100
jmp 0x1800404f7
cmp eax, 0x28
jne 0x18003f59e
mov rsi, r15
mov rcx, qword [rdi + 0x230]
mov rax, qword [rcx]
mov edx, 0xb7
call qword [rax + 0x20]
mov rbx, qword [rax]
mov rcx, rbx
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x18003f365
xor edx, edx
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetWindowLongPtrW]
mov rsi, rax
mov rcx, rax
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
cmove rsi, r15
mov qword [rbp + 0x48], 7
mov qword [rbp + 0x40], r15
mov word [rbp + 0x30], r15w
xor r8d, r8d
lea rdx, [0x1801f3ee0]
lea rcx, [rbp + 0x30]
call fcn.180005450
nop
mov rax, qword [rdi + 0x138]
mov rcx, qword [rax + 0x450]
mov rbx, qword [rcx]
cmp rbx, qword [rcx + 8]
je 0x18003f3cd
lea rdx, [rbx + 0x40]
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rcx, [rbp + 0x30]
call fcn.180004e80
sub rbx, 0xffffffffffffff80
mov rax, qword [rdi + 0x138]
mov rcx, qword [rax + 0x450]
cmp rbx, qword [rcx + 8]
jne 0x18003f3a1
mov qword [rbp + 0x28], 7
mov qword [rbp + 0x20], r15
mov word [rbp + 0x10], r15w
lea rdx, [r13 + 0xa0]
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rcx, [rbp + 0x10]
call fcn.180005100
nop
lea r8, [rbp + 0x10]
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x70]
call fcn.180013520
mov rbx, rax
lea rax, [rbp + 0x10]
cmp rax, rbx
je 0x18003f440
cmp qword [rbp + 0x28], 8
jb 0x18003f423
mov rcx, qword [rbp + 0x10]
call fcn.1800b5354
mov qword [rbp + 0x28], 7
mov qword [rbp + 0x20], r15
mov word [rbp + 0x10], r15w
mov rdx, rbx
lea rcx, [rbp + 0x10]
call fcn.1800146e0
cmp qword [rbp + 0x88], 8
jb 0x18003f453
mov rcx, qword [rbp + 0x70]
call fcn.1800b5354
lea rcx, [rdi + 0x1b0]
cmp qword [rcx + 0x18], 8
jb 0x18003f464
mov rcx, qword [rcx]
lea rdx, str.EXCEL.exe
call fcn.1800b9e44
test eax, eax
jne 0x18003f52c
test rsi, rsi
je 0x18003f49a
mov rcx, qword [rdi + 0x238]
test rcx, rcx
je 0x18003f49a
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x80]
test rax, rax
jne 0x18003f4b0
call qword [sym.imp.USER32.dll_GetFocus]
test rax, rax
jne 0x18003f4b0
call qword [sym.imp.USER32.dll_GetForegroundWindow]
test rax, rax
je 0x18003f4c6
lea rdx, [rbp + 0x10]
cmp qword [rbp + 0x28], 8
cmovae rdx, qword [rbp + 0x10]
mov rcx, rax
call fcn.180010780
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rdi + 0x210], eax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov cl, 0xa2
call qword [sym.imp.USER32.dll_keybd_event]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov cl, 0x56
call qword [sym.imp.USER32.dll_keybd_event]
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 2]
mov cl, 0x56
call qword [sym.imp.USER32.dll_keybd_event]
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 2]
mov cl, 0xa2
call qword [sym.imp.USER32.dll_keybd_event]
lea rcx, [rdi + 0xf0]
xor r8d, r8d
lea rdx, [0x1801f3ee0]
call fcn.180005450
jmp 0x18003f54c
lea rcx, [rdi + 0xf0]
lea rax, [rbp + 0x10]
cmp rcx, rax
je 0x18003f54c
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 0x10]
call fcn.180005100
mov rcx, rdi
call fcn.1800490d0
mov esi, 1
mov edx, esi
mov rcx, rdi
call fcn.180048ab0
nop
cmp qword [rbp + 0x28], 8
jb 0x18003f574
mov rcx, qword [rbp + 0x10]
call fcn.1800b5354
mov qword [rbp + 0x28], 7
mov qword [rbp + 0x20], r15
mov word [rbp + 0x10], r15w
cmp qword [rbp + 0x48], 8
jb 0x180040506
mov rcx, qword [rbp + 0x30]
call fcn.1800b5354
jmp 0x180040506
mov esi, 1
cmp eax, 7
je 0x18003f5b4
add eax, 0xffffffe9
cmp eax, 2
ja 0x18003f88e
lea rbx, [r13 + 0x60]
cmp qword [rbx + 0x18], 8
jb 0x18003f5c4
mov rcx, qword [rbx]
jmp 0x18003f5c7
mov rcx, rbx
lea rdx, str._r_n_t
call fcn.1800bae90
mov r13, rax
cmp qword [rbx + 0x18], 8
jb 0x18003f5e2
mov rcx, qword [rbx]
jmp 0x18003f5e5
mov rcx, rbx
lea rdx, [0x1801f4f60]
call fcn.1800bae90
mov r12, rax
cmp qword [rbx + 0x18], 8
jb 0x18003f600
mov rcx, qword [rbx]
jmp 0x18003f603
mov rcx, rbx
lea rdx, [0x1801f4f64]
call fcn.1800bae90
mov r14d, r15d
test r13, r13
jne 0x18003f621
test r12, r12
jne 0x18003f621
test rax, rax
je 0x18003f624
mov r14d, esi
mov r13, qword [rsp + 0x40]
cmp qword [r13 + 0x70], 0x78
jbe 0x18003f647
cmp byte [0x18027af78], r15b
jne 0x18003f63e
call fcn.180019540
cmp byte [0x18027af79], r15b
jne 0x18003f650
test r14d, r14d
je 0x18003f88e
cmp byte [0x18027af78], r15b
jne 0x18003f65e
call fcn.180019540
cmp byte [0x18027af79], r15b
je 0x18003f75f
mov rcx, qword [rdi + 0x230]
mov rax, qword [rcx]
mov edx, 0xb7
call qword [rax + 0x20]
mov r14, qword [rax]
mov rcx, r14
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x18003f6cb
xor edx, edx
mov rcx, r14
call qword [sym.imp.USER32.dll_GetWindowLongPtrW]
mov r14, rax
mov rcx, rax
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x18003f6cb
test r14, r14
je 0x18003f6cb
mov rcx, qword [rdi + 0x238]
test rcx, rcx
je 0x18003f6cb
mov r8, qword [rcx]
mov rdx, r14
call qword [r8 + 0x80]
test rax, rax
jne 0x18003f6e1
call qword [sym.imp.USER32.dll_GetFocus]
test rax, rax
jne 0x18003f6e1
call qword [sym.imp.USER32.dll_GetForegroundWindow]
test rax, rax
je 0x18003f6f6
cmp qword [rbx + 0x18], 8
jb 0x18003f6eb
mov rbx, qword [rbx]
mov rdx, rbx
mov rcx, rax
call fcn.180010780
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rdi + 0x210], eax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov cl, 0xa2
call qword [sym.imp.USER32.dll_keybd_event]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov cl, 0x56
call qword [sym.imp.USER32.dll_keybd_event]
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 2]
mov cl, 0x56
call qword [sym.imp.USER32.dll_keybd_event]
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 2]
mov cl, 0xa2
call qword [sym.imp.USER32.dll_keybd_event]
lea rcx, [rdi + 0xf0]
xor r8d, r8d
lea rdx, [0x1801f3ee0]
call fcn.180005450
jmp 0x18003f881
mov qword [rbp + 0x28], 7
mov qword [rbp + 0x20], r15
mov word [rbp + 0x10], r15w
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rbx
lea rcx, [rbp + 0x10]
call fcn.180005100
nop
mov qword [rbp + 0x48], 7
mov qword [rbp + 0x40], r15
mov word [rbp + 0x30], r15w
mov r8, rsi
lea rdx, str._r_n_t
lea rcx, [rbp + 0x30]
call fcn.180005450
nop
mov qword [rbp + 0x88], 7
mov qword [rbp + 0x80], r15
mov word [rbp + 0x70], r15w
mov r8d, 2
lea rdx, [0x1801f4c20]
lea rcx, [rbp + 0x70]
call fcn.180005450
nop
lea r8, [rbp + 0x30]
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 0x10]
call fcn.1800106e0
lea rcx, [rbp + 0x10]
cmp rcx, rax
je 0x18003f805
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x10]
call fcn.180005100
nop
cmp qword [rbp + 0x88], 8
jb 0x18003f818
mov rcx, qword [rbp + 0x70]
call fcn.1800b5354
mov qword [rbp + 0x88], 7
mov qword [rbp + 0x80], r15
mov word [rbp + 0x70], r15w
cmp qword [rbp + 0x48], 8
jb 0x18003f83f
mov rcx, qword [rbp + 0x30]
call fcn.1800b5354
mov qword [rbp + 0x48], 7
mov qword [rbp + 0x40], r15
mov word [rbp + 0x30], r15w
lea rcx, [rdi + 0xf0]
lea rax, [rbp + 0x10]
cmp rcx, rax
je 0x18003f871
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 0x10]
call fcn.180005100
nop
cmp qword [rbp + 0x28], 8
jb 0x18003f881
mov rcx, qword [rbp + 0x10]
call fcn.1800b5354
mov rcx, rdi
call fcn.1800490d0
jmp 0x1800404fc
lea rcx, [rsp + 0x70]
call fcn.1800158f0
nop
mov r12d, r15d
mov qword [rsp + 0x50], r12
mov word [rbp + 0x760], r15w
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp + 0x762]
call fcn.1800be330
mov word [rbp + 0x130], r15w
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp + 0x132]
call fcn.1800be330
mov word [rbp + 0x340], r15w
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp + 0x342]
call fcn.1800be330
mov word [rbp + 0x550], r15w
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp + 0x552]
call fcn.1800be330
mov dword [rsp + 0x34], r15d
mov r14d, r15d
mov ebx, r15d
cmp dword [rdi + 0xd0], ebx
jne 0x18003f935
mov ecx, dword [r13 + 8]
lea eax, [rcx - 1]
cmp eax, 2
jbe 0x18003f935
cmp ecx, 5
jne 0x18003f937
mov ebx, esi
cmp dword [r13 + 8], 0x1b
jne 0x18003f9e1
mov qword [rbp + 0x28], 7
mov qword [rbp + 0x20], r15
mov word [rbp + 0x10], r15w
lea rdx, [r13 + 0x20]
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rcx, [rbp + 0x10]
call fcn.180005100
nop
cmp qword [rbp + 0x20], 4
jb 0x18003f9d1
mov rcx, qword [rdi + 0x238]
mov rax, qword [rcx]
call qword [rax + 0x38]
cmp qword [rdi + 0x70], 2
jne 0x18003f99d
lea rax, [rbp + 0x10]
cmp qword [rbp + 0x28], 8
cmovae rax, qword [rbp + 0x10]
movzx edx, word [rax + 4]
mov rcx, rdi
call fcn.18003d630
lea rax, [rbp + 0x10]
cmp qword [rbp + 0x28], 8
cmovae rax, qword [rbp + 0x10]
movzx edx, word [rax + 6]
mov rcx, rdi
call fcn.18003d630
nop
cmp qword [rbp + 0x28], 8
jb 0x1800404c7
mov rcx, qword [rbp + 0x10]
call fcn.1800b5354
jmp 0x1800404c7
cmp qword [rbp + 0x28], 8
jb 0x18003f9e1
mov rcx, qword [rbp + 0x10]
call fcn.1800b5354
test ebx, ebx
je 0x18003fcf7
mov qword [rbp + 0x48], 7
mov qword [rbp + 0x40], r15
mov word [rbp + 0x30], r15w
xor r8d, r8d
lea rdx, [0x1801f3ee0]
lea rcx, [rbp + 0x30]
call fcn.180005450
nop
mov rdx, qword [rsp + 0x38]
call fcn.1800472c0
mov r8, rax
mov qword [rsp + 0x48], rax
mov rcx, qword [rdi + 0x138]
mov rdx, qword [rcx + 0x450]
mov rbx, qword [rdx]
cmp rbx, qword [rdx + 8]
je 0x18003fb37
mov dword [rsp + 0x34], esi
nop
cmp qword [rbx + 0x58], 8
jb 0x18003fa4d
mov r8, qword [rbx + 0x40]
jmp 0x18003fa51
lea r8, [rbx + 0x40]
lea rcx, [rbp + 0x130]
sub rcx, 2
nop dword [rax]
lea rcx, [rcx + 2]
cmp word [rcx], 0
jne 0x18003fa60
xor edx, edx
nop dword [rax]
movzx eax, word [r8 + rdx*2]
mov word [rcx + rdx*2], ax
lea rdx, [rdx + 1]
test ax, ax
jne 0x18003fa70
cmp qword [rbx + 0x18], 8
jb 0x18003fa8e
mov r8, qword [rbx]
jmp 0x18003fa91
mov r8, rbx
lea rcx, [rbp + 0x340]
sub rcx, 2
nop dword [rax]
lea rcx, [rcx + 2]
cmp word [rcx], 0
jne 0x18003faa0
xor edx, edx
nop dword [rax]
movzx eax, word [r8 + rdx*2]
mov word [rcx + rdx*2], ax
lea rdx, [rdx + 1]
test ax, ax
jne 0x18003fab0
lea r10, [rbx + 0x60]
cmp qword [rbx + 0x78], 8
jb 0x18003fad2
mov rdx, qword [r10]
jmp 0x18003fad5
mov rdx, r10
lea rcx, [rbp + 0x550]
sub rcx, 2
lea rcx, [rcx + 2]
cmp word [rcx], 0
jne 0x18003fae0
xor r8d, r8d
nop dword [rax]
movzx eax, word [rdx + r8*2]
mov word [rcx + r8*2], ax
lea r8, [r8 + 1]
test ax, ax
jne 0x18003faf0
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, r10
lea rcx, [rbp + 0x30]
call fcn.180004e80
sub rbx, 0xffffffffffffff80
mov rax, qword [rdi + 0x138]
mov rcx, qword [rax + 0x450]
cmp rbx, qword [rcx + 8]
jne 0x18003fa40
mov r8, qword [rsp + 0x48]
mov eax, dword [rbp + 0x40]
cdq
sub eax, edx
sar eax, 1
mov r13d, eax
mov r11, qword [rsp + 0x38]
mov rdx, qword [r11 + 0x18]
mov rcx, qword [rdx + 0x30]
and rcx, 0xfffffffffffffffe
cmp rcx, 2
jbe 0x18003fb62
mov r14, qword [rdx + 0x30]
shr r14, 1
jmp 0x18003fb65
mov r14d, esi
mov r12d, r15d
test r8, r8
je 0x18003fbb6
mov rbx, qword [r8]
cmp rbx, qword [r8 + 8]
je 0x18003fbb6
mov rdi, qword [rsp + 0x48]
nop dword [rax + rax]
lea rcx, [rbx + 8]
mov qword [rsp + 0x20], rsi
lea r9, [0x1801ec558]
mov r8, qword [rbx + 0x18]
xor edx, edx
call fcn.18000a270
test eax, eax
je 0x18003fba2
inc r12d
add rbx, 0x28
cmp rbx, qword [rdi + 8]
jne 0x18003fb80
mov rdi, qword [rsp + 0x58]
mov r11, qword [rsp + 0x38]
lea r10d, [r14 + r13]
mov rdx, qword [r11 + 0x18]
mov r8, qword [rdx + 0x78]
cmp r8, 8
jb 0x18003fbce
mov rcx, qword [rdx + 0x60]
jmp 0x18003fbd2
lea rcx, [rdx + 0x60]
mov rax, qword [rdx + 0x70]
lea r9, [rax + rax]
nop word [rax + rax]
cmp r8, 8
jb 0x18003fbec
mov rax, qword [rdx + 0x60]
jmp 0x18003fbf0
lea rax, [rdx + 0x60]
add rax, r9
cmp rcx, rax
je 0x18003fc07
cmp word [rcx], 0x3b
je 0x18003fc04
add rcx, 2
jmp 0x18003fbe0
inc r10d
cmp r10d, r12d
jge 0x18003fcda
mov rdx, r11
mov rcx, qword [rdi + 0x138]
call fcn.1800174e0
mov rcx, qword [rdi + 0x130]
call fcn.180016d50
mov esi, r15d
mov rax, qword [rdi + 0x138]
mov rcx, qword [rax + 0x450]
mov rbx, qword [rcx]
cmp rbx, qword [rcx + 8]
je 0x18003fc9c
mov r15, qword [rsp + 0x48]
nop word [rax + rax]
mov rax, qword [rbx + 0x70]
shr rax, 1
test eax, eax
jle 0x18003fc81
mov r14d, eax
nop
movsxd rdx, esi
mov rcx, r15
call fcn.18004aaa0
mov rdx, rax
mov rcx, qword [rdi + 0x130]
call fcn.18004aaf0
inc esi
dec r14
jne 0x18003fc60
sub rbx, 0xffffffffffffff80
mov rax, qword [rdi + 0x138]
mov rcx, qword [rax + 0x450]
cmp rbx, qword [rcx + 8]
jne 0x18003fc50
xor r15d, r15d
mov rcx, qword [rdi + 0x238]
test rcx, rcx
je 0x18003fcae
mov rax, qword [rcx]
call qword [rax + 0x38]
mov rcx, rdi
call fcn.180045380
cmp dword [rdi + 0x218], 0
setg r15b
cmp qword [rbp + 0x48], 8
jb 0x18003fcd1
mov rcx, qword [rbp + 0x30]
call fcn.1800b5354
lea esi, [r15 + 1]
jmp 0x1800404c7
mov r14d, esi
cmp qword [rbp + 0x48], 8
jb 0x18003fced
mov rcx, qword [rbp + 0x30]
call fcn.1800b5354
mov r12, qword [rsp + 0x50]
mov r13, qword [rsp + 0x40]
mov qword [rbp + 0x68], 7
mov qword [rbp + 0x60], r15
mov word [rbp + 0x50], r15w
xor r8d, r8d
lea rdx, [0x1801f3ee0]
lea rcx, [rbp + 0x50]
call fcn.180005450
nop
xor r8d, r8d
lea rdx, [0x1801f3ee0]
lea rcx, [rdi + 0xf0]
call fcn.180005450
test r14d, r14d
je 0x18003ff0c
cmp word [rbp + 0x130], 0
jne 0x18003fd4a
mov r8, r15
jmp 0x18003fd60
lea rax, [rbp + 0x130]
or r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x18003fd55
lea rdx, [rbp + 0x130]
lea rcx, [rdi + 0xf0]
call fcn.180004d10
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [r13 + 0x60]
lea rcx, [rdi + 0xf0]
call fcn.180004e80
cmp word [rbp + 0x130], 0
jne 0x18003fd99
mov r8, r15
jmp 0x18003fdaf
lea rax, [rbp + 0x130]
or r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x18003fda4
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x50]
call fcn.180004d10
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [r13 + 0x60]
lea rcx, [rbp + 0x50]
call fcn.180004e80
mov rdx, r13
mov rcx, qword [rbp - 0x78]
call fcn.180016a50
mov rcx, qword [rbp - 0x78]
add rcx, 0x20
xor r8d, r8d
lea rdx, [0x1801f3ee0]
call fcn.180005450
mov rcx, qword [rbp - 0x78]
add rcx, 0x60
lea rax, [rbp + 0x50]
cmp rcx, rax
je 0x18003fe17
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 0x50]
call fcn.180005100
cmp word [rbp + 0x340], 0
jne 0x18003fe26
mov r8, r15
jmp 0x18003fe3c
lea rax, [rbp + 0x340]
or r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x18003fe31
lea rdx, [rbp + 0x340]
lea rcx, [rbp - 0x50]
call fcn.180005450
mov r12, qword [rsp + 0x38]
lea rdx, [r12 + 0x40]
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rcx, [rbp - 0x50]
call fcn.180004e80
mov rcx, qword [rbp - 0x78]
add rcx, 0x20
cmp word [rbp + 0x550], 0
jne 0x18003fe7d
mov r8, r15
jmp 0x18003fe9b
lea rax, [rbp + 0x550]
or r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x18003fe90
lea rdx, [rbp + 0x550]
call fcn.180004d10
mov ecx, dword [r13 + 0x14]
mov rax, qword [rbp - 0x78]
mov dword [rax + 0x14], ecx
mov rax, qword [rbp - 0x78]
cmp dword [rsp + 0x34], 0
je 0x18003fec6
mov dword [rax + 8], 5
jmp 0x18003feef
mov ecx, dword [r13 + 8]
mov dword [rax + 8], ecx
mov ecx, dword [r13 + 0xc]
mov rax, qword [rbp - 0x78]
mov dword [rax + 0xc], ecx
lea rdx, [r13 + 0xa0]
mov rcx, qword [rbp - 0x78]
add rcx, 0xa0
call fcn.180005010
mov rcx, qword [rbp - 0x78]
add rcx, 0x20
lea rdx, [r13 + 0x20]
or r9, 0xffffffffffffffff
xor r8d, r8d
call fcn.180004e80
jmp 0x18003ffe9
cmp dword [r13 + 8], 0x2f
jne 0x18003ff1e
mov rax, qword [rdi + 0x148]
mov r12, qword [rax + 0x70]
movsxd r8, r12d
lea rcx, [r13 + 0x60]
or r9, 0xffffffffffffffff
lea rdx, [rbp + 0x30]
call fcn.180011af0
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x50]
call fcn.180004e80
nop
cmp qword [rbp + 0x48], 8
jb 0x18003ff57
mov rcx, qword [rbp + 0x30]
call fcn.1800b5354
mov rdx, r13
mov rcx, qword [rbp - 0x78]
call fcn.180016a50
mov rdx, qword [rbp - 0x78]
lea rcx, [rdx + 0x60]
lea rax, [rbp + 0x50]
cmp rcx, rax
je 0x18003ff88
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 0x50]
call fcn.180005100
mov rdx, qword [rbp - 0x78]
mov eax, dword [r13 + 8]
mov dword [rdx + 8], eax
mov ecx, dword [r13 + 0xc]
mov rax, qword [rbp - 0x78]
mov dword [rax + 0xc], ecx
lea rdx, [r13 + 0x20]
mov rcx, qword [rbp - 0x78]
add rcx, 0x20
call fcn.180005010
lea rdx, [r13 + 0xa0]
mov rcx, qword [rbp - 0x78]
add rcx, 0xa0
call fcn.180005010
mov ecx, dword [r13 + 0x14]
mov rax, qword [rbp - 0x78]
mov dword [rax + 0x14], ecx
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 0x50]
lea rcx, [rdi + 0xf0]
call fcn.180004e80
mov r12, qword [rsp + 0x38]
mov rdx, r13
mov rcx, qword [rdi + 0x148]
call fcn.180016a50
lea rdx, [r12 + 0x40]
lea rax, [rbp - 0x50]
cmp rax, rdx
je 0x180040016
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rcx, [rbp - 0x50]
call fcn.180005100
lea rdx, [r12 + 0x20]
lea rax, [rbp - 0x70]
cmp rax, rdx
je 0x180040034
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rcx, [rbp - 0x70]
call fcn.180005100
mov eax, dword [r12]
mov dword [rsp + 0x70], eax
mov rcx, qword [rdi + 0x140]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov rcx, qword [rdi + 0x138]
call fcn.180017790
lea rcx, [rbp + 0x90]
call fcn.1800158f0
nop
mov rcx, rdi
call fcn.1800491a0
call fcn.18004b870
mov rcx, rax
call fcn.180085140
mov ebx, r15d
call fcn.18001f6b0
test eax, eax
je 0x18004008a
mov edx, 0x69
jmp 0x1800400a8
call fcn.18001f270
test eax, eax
je 0x18004009a
mov edx, 0x68
jmp 0x1800400a8
call fcn.18001f170
test eax, eax
je 0x1800400b6
mov edx, 0x6a
mov rcx, qword [rdi + 0x230]
mov rax, qword [rcx]
call qword [rax]
mov ebx, eax
mov edx, esi
mov rcx, rdi
call fcn.180048ab0
test ebx, ebx
jne 0x1800400ee
mov r14, qword [rbp - 0x78]
cmp qword [0x180278720], 0
jne 0x1800400e1
mov rcx, rsi
call fcn.1800b543c
mov qword [0x180278720], rax
mov r8d, dword [rsp + 0x30]
mov rdx, r14
call fcn.180017e00
mov rcx, qword [rbp - 0x78]
call fcn.18002a2a0
call fcn.180006d60
mov rdx, qword [rax]
mov rcx, qword [rdx]
mov qword [rdx + 8], rcx
mov rdx, qword [rax + 8]
mov rcx, qword [rdx]
mov qword [rdx + 8], rcx
mov qword [rax + 0x10], r15
mov qword [rax + 0x1c], r15
mov dword [rax + 0x2c], r15d
cmp dword [r12 + 4], 0
jl 0x1800403b3
mov rdx, qword [rbp - 0x78]
mov rcx, qword [rdi + 0x148]
call fcn.180016a50
mov rcx, qword [rdi + 0x230]
mov rax, qword [rcx]
mov edx, 0xc
call qword [rax]
test eax, eax
je 0x180040160
mov rax, qword [rdi + 0x148]
mov edx, dword [rax + 0x70]
mov rcx, rdi
call fcn.18004a020
mov rcx, qword [rdi + 0x230]
mov rax, qword [rcx]
mov edx, 0x73
call qword [rax]
mov r14d, eax
call fcn.180006d60
mov dword [rax + 0x24], r14d
cmp r14d, 2
jne 0x18004021a
mov rax, qword [rdi + 0x138]
mov dword [rax + 0x50c], 5
mov rax, qword [rdi + 0x138]
mov dword [rax + 0x458], esi
mov rcx, qword [rdi + 0x138]
mov eax, dword [rdi + 0x158]
mov dword [rcx + 0x520], eax
mov rcx, r15
lea rdx, [0x180000000]
nop word [rax + rax]
movzx eax, word [rcx + rdx + 0x1f4f40]
mov word [rbp + rcx + 0x760], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1800401d0
mov rcx, qword [rdi + 0x138]
add rcx, 0x208
lea r8, [rbp + 0x760]
lea rdx, [0x1801ec2c4]
call fcn.1800b5a54
call fcn.180006c80
mov r9d, 2
jmp 0x180040396
cmp r14d, 1
jne 0x18004038e
mov qword [rbp + 0x10], r15
mov qword [rbp + 0x18], r15
mov qword [rbp + 0x20], r15
mov rcx, qword [rdi + 0x230]
mov rax, qword [rcx]
lea edx, [r14 + 7]
call qword [rax]
test eax, eax
je 0x18004025a
mov dword [rsp + 0x30], 6
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x10]
call fcn.180039d60
mov rcx, qword [rdi + 0x230]
mov rax, qword [rcx]
mov edx, 9
call qword [rax]
test eax, eax
je 0x180040285
mov dword [rsp + 0x30], 2
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x10]
call fcn.180039d60
mov rcx, qword [rdi + 0x230]
mov rax, qword [rcx]
mov edx, 0xdc
call qword [rax]
test eax, eax
je 0x1800402b0
mov dword [rsp + 0x30], 0xd
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x10]
call fcn.180039d60
mov rcx, qword [rdi + 0x230]
mov rax, qword [rcx]
mov edx, 0xa
call qword [rax]
test eax, eax
je 0x1800402db
mov dword [rsp + 0x30], 9
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x10]
call fcn.180039d60
mov rax, qword [rdi + 0x138]
mov dword [rax + 0x50c], 5
mov rax, qword [rdi + 0x138]
mov dword [rax + 0x458], 0xffffffff
mov rcx, qword [rdi + 0x138]
mov eax, dword [rdi + 0x158]
mov dword [rcx + 0x520], eax
mov rcx, r15
lea rdx, [0x180000000]
nop word [rax + rax]
movzx eax, word [rcx + rdx + 0x1f4f50]
mov word [rbp + rcx + 0x760], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x180040320
mov rcx, qword [rdi + 0x138]
add rcx, 0x208
lea r8, [rbp + 0x760]
lea rdx, [0x1801ec2c4]
call fcn.1800b5a54
call fcn.180006c80
mov rcx, rax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x20], rax
mov r9d, esi
mov r8d, ebx
mov rdx, qword [rdi + 0x148]
call fcn.1800d8e50
nop
mov rcx, qword [rbp + 0x10]
test rcx, rcx
je 0x1800403ad
call fcn.1800b5354
jmp 0x1800403ad
call fcn.180006c80
xor r9d, r9d
mov qword [rsp + 0x20], r15
mov r8d, ebx
mov rdx, qword [rdi + 0x148]
mov rcx, rax
call fcn.1800d8e50
mov dword [rdi + 0x228], esi
mov rax, qword [rdi + 0x148]
mov rcx, qword [rax + 0x70]
add dword [rdi + 0x150], ecx
cmp dword [rdi + 0x150], 0x32
jl 0x1800403d5
mov rcx, rdi
call fcn.180049610
call fcn.180006d60
mov rcx, rax
mov rdx, qword [rdi + 0x140]
call fcn.1800333c0
test eax, eax
jne 0x1800403fb
mov rax, qword [rdi + 0x138]
mov dword [rax + 0x458], r15d
mov rcx, qword [rdi + 0x140]
mov rax, qword [rcx]
call qword [rax + 0x58]
test eax, eax
jne 0x180040469
mov rax, qword [rdi + 0x138]
mov dword [rax + 0x458], r15d
mov rcx, qword [rdi + 0x138]
add rcx, 0x208
lea r8, [0x1801f3ee0]
lea rdx, [0x1801ec2c4]
call fcn.1800b5a54
mov rcx, qword [rdi + 0x238]
test rcx, rcx
je 0x18004044d
mov rax, qword [rcx]
call qword [rax + 0x60]
mov rcx, rdi
call fcn.1800478b0
mov rcx, qword [rdi + 0x238]
test rcx, rcx
je 0x180040499
mov rax, qword [rcx]
call qword [rax + 0x58]
jmp 0x180040499
mov rcx, qword [rdi + 0x238]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, rdi
call fcn.180047320
mov rcx, qword [rdi + 0x238]
test rcx, rcx
je 0x180040490
mov rax, qword [rcx]
call qword [rax + 0x48]
mov rcx, rdi
call fcn.1800478b0
nop
lea rcx, [rbp + 0x90]
call fcn.1800159b0
nop
cmp qword [rbp + 0x68], 8
jb 0x1800404b6
mov rcx, qword [rbp + 0x50]
call fcn.1800b5354
mov qword [rbp + 0x68], 7
mov qword [rbp + 0x60], r15
mov word [rbp + 0x50], r15w
lea rcx, [rsp + 0x70]
call fcn.1800159b0
jmp 0x180040506
lea rdx, [r13 + 0x60]
lea rcx, [rdi + 0xf0]
cmp rcx, rdx
je 0x1800404ef
or r9, 0xffffffffffffffff
xor r8d, r8d
call fcn.180005100
mov rcx, rdi
call fcn.1800490d0
mov esi, 1
mov edx, esi
mov rcx, rdi
call fcn.180048ab0
mov eax, esi
mov rcx, qword [rbp + 0x970]
xor rcx, rsp
call fcn.1800b5370
mov rbx, qword [rsp + 0xad0]
add rsp, 0xa80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret