Function at 0x1800482cc
Capabilities:
Parse pe header

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x28]
sub rsp, 0x128
mov r15, qword [rcx + 0x10]
xor r11d, r11d
mov r10, qword [rcx]
mov r12d, r8d
mov qword [rsp + 0x70], r15
mov r14, rdx
mov dword [rbp + 0x70], r11d
mov rsi, rcx
mov dword [rbp + 0x88], r11d
mov r13d, r8d
mov qword [rsp + 0x58], r10
test r15, r15
jne 0x180048325
xor eax, eax
jmp 0x180049180
test r14, r14
je 0x180049150
movzx edi, byte [rdx]
mov ecx, edi
cmp edi, 0x59
ja 0x180048834
je 0x1800487fd
cmp edi, 0x4c
ja 0x1800486e1
je 0x18004875b
cmp edi, 0x3e
ja 0x180048507
je 0x18004849e
sub ecx, 0x13
je 0x1800488b6
sub ecx, 1
je 0x180048892
sub ecx, 4
je 0x18004848a
sub ecx, 0xe
je 0x180048423
cmp ecx, 0x13
jne 0x180048e41
cmp qword [rsi + 0x1c8], r11
jne 0x1800483aa
lea rdx, str.RAISE___may_only_be_used_within_a_trigger_program
mov rcx, rsi
call fcn.180020830
jmp 0x18004831e
mov al, byte [rdx + 1]
cmp al, 2
jne 0x1800483c9
mov rax, qword [rsi + 0x1c0]
mov rcx, rsi
test rax, rax
cmovne rcx, rax
mov byte [rcx + 0x21], 1
mov al, byte [rdx + 1]
mov rbx, qword [rdx + 8]
cmp al, 4
jne 0x180048400
mov r9d, 4
lea edx, [r9 + 0x14]
xor r8d, r8d
mov dword [rsp + 0x20], r11d
mov rcx, r15
call fcn.1800376b8
xor r9d, r9d
mov r8, rbx
mov edx, eax
mov rcx, r15
call fcn.180037c6c
jmp 0x180049167
mov byte [rsp + 0x28], r11b
mov r9, rbx
movsx r8d, al
mov edx, 0x713
mov rcx, rsi
mov byte [rsp + 0x20], r11b
call fcn.1800522c8
jmp 0x180049167
mov rdx, qword [rdx + 0x10]
mov rcx, rsi
call fcn.1800482cc
xor ebx, ebx
mov r13d, eax
cmp eax, r12d
je 0x180048451
mov r9d, r12d
mov dword [rsp + 0x20], ebx
mov r8d, eax
lea edx, [rbx + 0x22]
mov rcx, r15
call fcn.1800376b8
mov r13d, r12d
mov rcx, qword [r14 + 8]
xor edx, edx
call fcn.18004e55c
movsx r9d, al
mov r8d, r12d
mov edx, 0x28
mov dword [rsp + 0x20], ebx
mov rcx, r15
call fcn.1800376b8
mov r8d, 1
mov edx, r13d
mov rcx, rsi
call fcn.180047fdc
jmp 0x180049167
mov rdx, qword [rdx + 0x10]
mov rcx, rsi
call fcn.1800482cc
mov r13d, eax
jmp 0x180049167
mov rbx, qword [rdx + 0x40]
mov r9d, r12d
movsx r8d, word [rdx + 0x30]
inc r8d
mov dword [rsp + 0x20], r11d
movsx ecx, word [rbx + 0x42]
inc ecx
imul ecx, dword [rdx + 0x2c]
mov edx, 0x84
add r8d, ecx
mov rcx, r15
call fcn.1800376b8
xor edx, edx
cmp word [r14 + 0x30], dx
jl 0x180049167
movsx rax, word [r14 + 0x30]
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
add rcx, rcx
cmp byte [rax + rcx*8 + 0x29], 0x45
jne 0x180049167
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, r12d
lea edx, [r9 + 0x27]
jmp 0x18004915f
sub ecx, 0x47
je 0x1800487fd
sub ecx, 1
je 0x1800487fd
sub ecx, 1
je 0x180048cfd
sub ecx, 1
je 0x1800485b0
cmp ecx, 1
jne 0x180048e41
mov rcx, r15
call fcn.1800377f4
mov rcx, r15
mov ebx, eax
call fcn.1800377f4
mov edi, eax
mov r9d, r12d
xor eax, eax
xor r8d, r8d
mov rcx, r15
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x1c]
call fcn.1800376b8
mov r9d, edi
mov r8d, ebx
mov rdx, r14
mov rcx, rsi
call fcn.1800478d0
xor r14d, r14d
mov r9d, r12d
mov rcx, r15
mov dword [rsp + 0x20], r14d
lea edx, [r14 + 0x19]
lea r8d, [r14 + 1]
call fcn.1800376b8
mov edx, ebx
mov rcx, r15
call fcn.180037858
xor r9d, r9d
mov dword [rsp + 0x20], r14d
mov r8d, r12d
lea edx, [r14 + 0x25]
call fcn.1800376b8
mov edx, edi
jmp 0x180048a88
mov rax, qword [rdx + 0x20]
lea r8, [rbp + 0x70]
mov rbx, qword [rdx + 0x10]
mov rcx, rsi
mov rdx, rbx
mov qword [rsp + 0x48], rbx
mov rax, qword [rax + 8]
mov qword [rsp + 0x50], rax
mov rdi, qword [rax]
mov qword [rsp + 0x58], rdi
call fcn.18004921c
lea r8, [rbp + 0x88]
mov dword [rbp + 0x80], eax
mov rdx, rdi
mov rcx, rsi
call fcn.18004921c
mov cl, byte [rsi + 0x1f]
mov edx, eax
test cl, cl
jne 0x180048607
inc dword [rsi + 0x54]
mov r14d, dword [rsi + 0x54]
jmp 0x180048617
sub cl, 1
movzx eax, cl
mov byte [rsi + 0x1f], al
mov r14d, dword [rsi + rax*4 + 0x24]
jne 0x18004861f
inc dword [rsi + 0x54]
mov edi, dword [rsi + 0x54]
jmp 0x18004862b
dec al
movzx eax, al
mov byte [rsi + 0x1f], al
mov edi, dword [rsi + rax*4 + 0x24]
mov eax, dword [rbp + 0x80]
mov r9d, 0x53
mov r8, qword [rsp + 0x58]
mov rcx, rsi
mov dword [rsp + 0x38], 0x20
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x28], edx
mov rdx, rbx
mov dword [rsp + 0x20], eax
call fcn.180045900
mov rbx, qword [rsp + 0x50]
mov rcx, rsi
mov edx, dword [rbp + 0x88]
mov rbx, qword [rbx + 0x28]
call fcn.18004a1e8
lea r8, [rbp + 0x88]
mov rdx, rbx
call fcn.18004921c
mov rdx, qword [rsp + 0x48]
mov r9d, 0x51
mov dword [rsp + 0x38], 0x20
mov r8, rbx
mov dword [rsp + 0x30], edi
mov rcx, rsi
mov dword [rsp + 0x28], eax
mov eax, dword [rbp + 0x80]
mov dword [rsp + 0x20], eax
call fcn.180045900
mov r9d, edi
mov dword [rsp + 0x20], r12d
mov r8d, r14d
mov edx, 0x48
mov rcx, r15
call fcn.1800376b8
mov edx, r14d
mov rcx, rsi
call fcn.18004a1e8
mov edx, edi
call fcn.18004a1e8
jmp 0x180049167
cmp edi, 0x52
ja 0x1800487dc
je 0x180048709
sub ecx, 0x4d
je 0x18004875b
sub ecx, 1
je 0x180048709
sub ecx, 1
je 0x180048709
sub ecx, 1
je 0x180048709
cmp ecx, 1
jne 0x180048e41
mov rdx, qword [rdx + 0x10]
lea r8, [rbp + 0x70]
mov rcx, rsi
call fcn.18004921c
mov rdx, qword [r14 + 0x18]
lea r8, [rbp + 0x88]
mov rcx, rsi
mov ebx, eax
call fcn.18004921c
mov r9d, edi
mov dword [rsp + 0x38], 0x20
mov r8, qword [r14 + 0x18]
mov rcx, rsi
mov rdx, qword [r14 + 0x10]
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ebx
call fcn.180045900
jmp 0x180049167
mov edx, 0x19
mov dword [rsp + 0x20], r11d
mov r9d, r12d
mov rcx, r15
lea r8d, [rdx - 0x18]
call fcn.1800376b8
mov rdx, qword [r14 + 0x10]
lea r8, [rbp + 0x70]
mov rcx, rsi
call fcn.18004921c
xor r14d, r14d
xor r9d, r9d
mov r8d, eax
mov dword [rsp + 0x20], r14d
mov edx, edi
mov rcx, r15
call fcn.1800376b8
mov r9d, r12d
mov ebx, eax
xor r8d, r8d
mov dword [rsp + 0x20], r14d
lea edx, [r14 + 0x19]
mov rcx, r15
call fcn.1800376b8
mov edx, dword [r15 + 0x3c]
cmp edx, ebx
jbe 0x1800487cd
mov rax, qword [r15 + 8]
lea rcx, [rbx + rbx*2]
mov dword [rax + rcx*8 + 8], edx
mov edx, dword [r15 + 0x3c]
mov rax, qword [r15 + 0x30]
lea ecx, [rdx - 1]
mov dword [rax + 0x64], ecx
jmp 0x180049167
sub ecx, 0x53
je 0x180048709
sub ecx, 2
je 0x1800487fd
sub ecx, 1
je 0x1800487fd
sub ecx, 1
je 0x1800487fd
cmp ecx, 1
jne 0x180048e41
mov rdx, qword [rdx + 0x10]
lea r8, [rbp + 0x70]
mov rcx, rsi
call fcn.18004921c
mov rdx, qword [r14 + 0x18]
lea r8, [rbp + 0x88]
mov rcx, rsi
mov ebx, eax
call fcn.18004921c
mov r9d, ebx
mov dword [rsp + 0x20], r12d
mov r8d, eax
mov edx, edi
jmp 0x18004915f
mov r8d, 0x85
cmp edi, r8d
ja 0x1800488ed
je 0x1800488d6
cmp edi, 0x5f
ja 0x18004885e
je 0x180049081
sub ecx, 0x5a
je 0x1800487fd
sub ecx, 1
jmp 0x1800487e8
sub ecx, 0x60
je 0x1800488b6
sub ecx, 1
je 0x1800488a5
sub ecx, 4
je 0x180049150
sub ecx, 0x12
je 0x180048892
cmp ecx, 0xd
jne 0x180048e41
xor r8d, r8d
mov r9d, r12d
mov rcx, rsi
call fcn.180047db8
jmp 0x180049167
xor r9d, r9d
xor r8d, r8d
mov rcx, rsi
call fcn.180047424
jmp 0x180048496
mov rbx, qword [rdx + 8]
mov r9d, r12d
mov edx, 0x61
jmp 0x1800483db
mov rdx, qword [rdx + 0x10]
lea r8, [rbp + 0x70]
mov rcx, rsi
call fcn.18004921c
xor ebx, ebx
mov r8d, eax
mov dword [rsp + 0x20], ebx
mov edx, edi
jmp 0x18004915c
xor r8d, r8d
mov rdx, qword [rdx + 8]
mov r9d, r12d
mov rcx, r15
call fcn.180047cec
jmp 0x180049167
mov eax, 0x9b
cmp edi, eax
ja 0x180048e1a
je 0x180048de2
sub ecx, 0x86
je 0x180048d81
sub ecx, 1
je 0x180048d3b
sub ecx, 0xd
je 0x180048cfd
sub ecx, 5
je 0x180048951
cmp ecx, 1
jne 0x180048e41
mov r9d, dword [rdx + 0x2c]
test r9d, r9d
jns 0x18004912e
cmp dword [rsi + 0x68], r11d
jle 0x18004912a
movsx r13d, word [rdx + 0x30]
add r13d, dword [rsi + 0x68]
jmp 0x180049167
test dword [rdx + 4], 0x4000
mov cl, byte [r10 + 0x4e]
mov dword [rsp + 0x40], r11d
mov qword [rsp + 0x50], r11
je 0x180048986
mov qword [rsp + 0x60], r11
mov ebx, r11d
mov rax, qword [rdx + 8]
mov qword [rsp + 0x68], rax
mov rdi, rax
test rax, rax
jne 0x180048998
mov edi, r11d
jmp 0x1800489ad
mov rax, qword [rdx + 0x20]
mov qword [rsp + 0x60], rax
test rax, rax
je 0x18004896d
mov ebx, dword [rax]
jmp 0x180048970
cmp byte [rax], r11b
je 0x1800489a5
inc rdi
cmp byte [rdi], r11b
jne 0x18004899d
sub edi, eax
and edi, 0x3fffffff
mov byte [rsp + 0x28], r11b
mov r9d, ebx
mov byte [rsp + 0x20], cl
mov r8d, edi
mov rcx, r10
mov rdx, rax
call fcn.180052ea4
xor ecx, ecx
mov qword [rsp + 0x48], rax
mov r10, rax
test rax, rax
je 0x180048ce1
cmp qword [rax + 0x18], rcx
je 0x180048ce1
mov eax, 0x200
test word [r10 + 2], ax
je 0x180048a95
mov rcx, r15
call fcn.1800377f4
mov rdi, qword [rsp + 0x60]
mov r8d, r12d
mov rcx, rsi
mov dword [rbp + 0x80], eax
mov rdx, qword [rdi + 8]
mov rdx, qword [rdx]
call fcn.18004931c
cmp ebx, 1
jle 0x180048a80
lea r13d, [rbx - 1]
mov r14d, 0x28
mov ebx, dword [rbp + 0x80]
xor eax, eax
mov r9d, ebx
mov r8d, r12d
mov dword [rsp + 0x20], eax
mov rcx, r15
lea edx, [rax + 0x4d]
call fcn.1800376b8
mov r8d, 1
mov edx, r12d
mov rcx, rsi
call fcn.180047fdc
inc dword [rsi + 0x70]
mov r8d, r12d
mov rdx, qword [rdi + 8]
mov rdx, qword [rdx + r14]
call fcn.18004931c
mov rcx, rsi
call fcn.18004802c
lea r14, [r14 + 0x28]
sub r13, 1
jne 0x180048a2e
mov r13d, r12d
jmp 0x180048a86
mov ebx, dword [rbp + 0x80]
mov edx, ebx
mov rcx, r15
call fcn.180037858
jmp 0x180049167
mov eax, 0x400
test word [r10 + 2], ax
je 0x180048abd
mov rdi, qword [rsp + 0x60]
mov r8d, r12d
mov rcx, rsi
mov rdx, qword [rdi + 8]
mov rdx, qword [rdx]
call fcn.18004931c
jmp 0x180049167
mov dword [rsp + 0x44], ecx
mov eax, ecx
test ebx, ebx
jle 0x180048b5b
mov rdi, qword [rsp + 0x60]
xor r12d, r12d
mov r15d, r12d
mov r13d, ecx
mov r14d, eax
cmp eax, 0x20
jae 0x180048b06
mov rax, qword [rdi + 8]
xor r8d, r8d
mov rcx, qword [r15 + rax]
lea edx, [r8 + 1]
call fcn.180046d00
mov r10, qword [rsp + 0x48]
test eax, eax
mov eax, dword [rsp + 0x44]
je 0x180048b06
bts r13d, eax
test byte [r10 + 2], 0x20
je 0x180048b2e
test r14, r14
jne 0x180048b2e
mov rdx, qword [rdi + 8]
mov rcx, rsi
mov rdx, qword [rdx + r15]
call fcn.18004570c
mov r10, qword [rsp + 0x48]
mov r14, rax
mov eax, dword [rsp + 0x44]
inc eax
add r15, 0x28
mov dword [rsp + 0x44], eax
cmp eax, ebx
jl 0x180048adc
mov r12d, dword [rbp + 0x80]
xor ecx, ecx
mov r15, qword [rsp + 0x70]
mov qword [rsp + 0x50], r14
mov r14, qword [rbp + 0x78]
mov dword [rsp + 0x40], r13d
mov r13d, r12d
mov rdx, qword [rsp + 0x60]
test rdx, rdx
je 0x180048bda
cmp dword [rsp + 0x40], ecx
je 0x180048b7e
mov eax, dword [rsi + 0x54]
lea edi, [rax + 1]
add eax, ebx
mov dword [rsi + 0x54], eax
mov dword [rbp + 0x80], edi
jmp 0x180048b95
mov edx, ebx
mov rcx, rsi
call fcn.18004a220
mov rdx, qword [rsp + 0x60]
mov edi, eax
mov dword [rbp + 0x80], eax
test byte [r10 + 2], 0xc0
je 0x180048bb8
mov rcx, qword [rdx + 8]
mov r8, qword [rcx]
mov cl, byte [r8]
add cl, 0x66
test cl, 0xfd
jne 0x180048bb8
mov al, byte [r10 + 2]
and al, 0xc0
mov byte [r8 + 0x36], al
inc dword [rsi + 0x70]
mov r9b, 3
mov r8d, edi
mov rcx, rsi
call fcn.180049378
mov rcx, rsi
call fcn.18004802c
mov rdx, qword [rsp + 0x60]
xor ecx, ecx
jmp 0x180048be0
mov dword [rbp + 0x80], ecx
cmp ebx, 2
jl 0x180048c0d
test byte [r14 + 4], 0x80
je 0x180048c11
mov r9, qword [rdx + 8]
mov r9, qword [r9 + 0x28]
mov rdx, qword [rsp + 0x48]
mov r8d, ebx
mov rcx, qword [rsp + 0x58]
call fcn.18006adb8
mov rdi, rax
xor ecx, ecx
jmp 0x180048c1f
test ebx, ebx
jle 0x180048c1a
mov r9, qword [rdx + 8]
mov r9, qword [r9]
jmp 0x180048bf4
mov rdi, qword [rsp + 0x48]
test byte [rdi + 2], 0x20
je 0x180048c61
mov r14, qword [rsp + 0x50]
test r14, r14
jne 0x180048c38
mov rax, qword [rsp + 0x58]
mov r14, qword [rax + 0x10]
xor r9d, r9d
mov dword [rsp + 0x20], ecx
xor r8d, r8d
mov rcx, r15
lea edx, [r9 + 0x24]
call fcn.1800376b8
mov r9d, 0xfffffffc
mov r8, r14
mov edx, eax
mov rcx, r15
call fcn.180037c6c
mov r14d, dword [rbp + 0x80]
mov edx, 1
mov dword [rsp + 0x20], r12d
mov r9d, r14d
mov r12d, dword [rsp + 0x40]
mov rcx, r15
mov r8d, r12d
call fcn.1800376b8
mov r9d, 0xfffffffb
mov r8, rdi
mov edx, eax
mov rcx, r15
call fcn.180037c6c
mov rdx, qword [r15 + 8]
test rdx, rdx
je 0x180048cad
movsxd rax, dword [r15 + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], bl
test ebx, ebx
je 0x180049167
test r12d, r12d
jne 0x180049167
mov r8d, ebx
mov edx, r14d
mov rcx, rsi
call fcn.180047fdc
cmp ebx, dword [rsi + 0x44]
jle 0x180049167
mov dword [rsi + 0x44], ebx
mov dword [rsi + 0x48], r14d
jmp 0x180049167
mov r9, qword [rsp + 0x68]
lea rdx, str.unknown_function:__.s__
mov r8d, edi
mov rcx, rsi
call fcn.180020830
jmp 0x180049167
mov rdx, qword [rdx + 0x10]
lea r8, [rbp + 0x70]
mov rcx, rsi
call fcn.18004921c
mov rdx, qword [r14 + 0x18]
lea r8, [rbp + 0x88]
mov rcx, rsi
mov ebx, eax
call fcn.18004921c
sub edi, 0x49
mov dword [rsp + 0x38], 0xa0
neg edi
sbb r9d, r9d
add r9d, 0x4f
jmp 0x180048739
movsx r8d, word [rdx + 0x30]
mov r9d, r12d
mov edx, 0x1f
mov dword [rsp + 0x20], r11d
mov rcx, r15
call fcn.1800376b8
mov rax, qword [r14 + 8]
xor ebx, ebx
cmp byte [rax + 1], bl
je 0x180049167
movsx rax, word [r14 + 0x30]
lea r9d, [rbx - 2]
mov r8, qword [rsi + 0x208]
or edx, 0xffffffff
mov r8, qword [r8 + rax*8 - 8]
jmp 0x1800483f3
mov rdx, qword [rdx + 8]
add rdx, 2
mov rax, rdx
jne 0x180048d93
mov eax, r11d
jmp 0x180048da7
cmp byte [rdx], r11b
je 0x180048da0
inc rax
cmp byte [rax], r11b
jne 0x180048d98
sub eax, edx
and eax, 0x3fffffff
mov rcx, qword [r15]
lea ebx, [rax - 1]
mov r8d, ebx
call fcn.180021588
mov rdi, rax
mov r9d, r12d
mov eax, ebx
mov rcx, r15
cdq
sub eax, edx
sar eax, 1
mov r8d, eax
xor eax, eax
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x1e]
call fcn.1800376b8
or r9d, 0xffffffff
mov r8, rdi
jmp 0x1800483f1
mov rdx, qword [rdx + 0x38]
test rdx, rdx
jne 0x180048e03
mov r8, qword [r14 + 8]
lea rdx, str.misuse_of_aggregate:__s__
mov rcx, rsi
call fcn.180020830
jmp 0x180049167
movsx rax, word [r14 + 0x32]
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x30]
mov r13d, dword [rax + rcx*8 + 0x10]
jmp 0x180049167
sub edi, 0x9c
je 0x1800490f0
sub edi, 1
je 0x180049089
sub edi, 1
je 0x180049081
cmp edi, 1
je 0x180049078
mov rcx, qword [rdx + 0x20]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x58], r11
mov rax, qword [rcx + 8]
mov edi, dword [rcx]
mov rcx, r15
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x40], edi
call fcn.1800377f4
mov rbx, qword [r14 + 0x10]
xor r14d, r14d
mov dword [rbp + 0x80], eax
test rbx, rbx
je 0x180048edb
movups xmm0, xmmword [rbx]
lea r8, [rbp + 0x70]
mov rdx, rbx
mov rcx, rsi
movaps xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [rbx + 0x10]
movaps xmmword [rbp - 0x70], xmm1
movups xmm0, xmmword [rbx + 0x20]
movaps xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rbx + 0x30]
movaps xmmword [rbp - 0x50], xmm1
movsd xmm0, qword [rbx + 0x40]
movsd qword [rbp - 0x40], xmm0
call fcn.18004921c
mov cl, byte [rbp - 0x80]
btr dword [rbp - 0x7c], 0xc
mov dword [rbp - 0x54], eax
lea rax, [rbp - 0x80]
mov qword [rbp - 0x20], rax
lea rax, [rbp - 0x30]
mov qword [rsp + 0x58], rax
mov byte [rbp - 0x4a], cl
mov byte [rbp - 0x80], 0x9f
mov byte [rbp - 0x30], 0x4f
mov dword [rbp + 0x70], r14d
lea eax, [rdi - 1]
test eax, eax
jle 0x180049051
test rbx, rbx
je 0x180048fc2
mov rdi, qword [rsp + 0x48]
lea ecx, [rax - 1]
mov r13d, dword [rbp + 0x80]
mov r14d, 0x10
shr ecx, 1
inc ecx
mov qword [rsp + 0x50], rcx
inc dword [rsi + 0x70]
mov rcx, r15
mov rax, qword [rdi]
mov qword [rbp - 0x18], rax
call fcn.1800377f4
mov rdx, qword [rsp + 0x58]
mov r9d, r14d
mov r8d, eax
mov rcx, rsi
mov ebx, eax
call fcn.1800498c8
mov rdx, qword [rdi + 0x28]
mov r8d, r12d
mov rcx, rsi
call fcn.18004931c
xor eax, eax
mov r9d, r13d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov edx, r14d
mov rcx, r15
call fcn.1800376b8
mov rcx, rsi
call fcn.18004802c
mov edx, ebx
mov rcx, r15
call fcn.180037858
sub qword [rsp + 0x50], 1
lea rdi, [rdi + 0x50]
jne 0x180048f0d
mov edi, dword [rsp + 0x40]
mov r13d, r12d
mov ebx, dword [rbp + 0x80]
xor r14d, r14d
test dil, 1
je 0x18004905c
inc dword [rsi + 0x70]
mov r8d, r12d
mov rdx, qword [rsp + 0x68]
movsxd rax, edi
mov rdx, qword [rdx + 8]
lea rcx, [rax + rax*4]
mov rdx, qword [rdx + rcx*8 - 0x28]
mov rcx, rsi
call fcn.18004931c
mov rcx, rsi
call fcn.18004802c
jmp 0x180048a86
movsxd r14, eax
test r14, r14
jle 0x180048f7f
mov r13, qword [rsp + 0x48]
dec r14
shr r14, 1
inc r14
inc dword [rsi + 0x70]
mov rcx, r15
mov rbx, qword [r13]
call fcn.1800377f4
mov r9d, 0x10
mov r8d, eax
mov rdx, rbx
mov rcx, rsi
mov edi, eax
call fcn.1800498c8
mov rdx, qword [r13 + 0x28]
mov r8d, r12d
mov rcx, rsi
call fcn.18004931c
mov ebx, dword [rbp + 0x80]
xor eax, eax
mov r9d, ebx
mov dword [rsp + 0x20], eax
xor r8d, r8d
mov rcx, r15
lea edx, [rax + 0x10]
call fcn.1800376b8
mov rcx, rsi
call fcn.18004802c
mov edx, edi
mov rcx, r15
call fcn.180037858
lea r13, [r13 + 0x50]
sub r14, 1
jne 0x180048fd8
mov edi, dword [rsp + 0x40]
mov r13d, r12d
jmp 0x180048f85
mov ebx, dword [rbp + 0x80]
jmp 0x180048f88
xor r8d, r8d
mov dword [rsp + 0x20], r14d
mov r9d, r12d
mov rcx, r15
lea edx, [r8 + 0x1c]
call fcn.1800376b8
jmp 0x180048a86
mov r13d, dword [rdx + 0x2c]
jmp 0x180049167
mov r8d, r12d
jmp 0x18004848a
mov rdx, qword [rdx + 0x10]
cmp byte [rdx], 0x84
jne 0x18004909d
mov r8d, 1
jmp 0x180048882
cmp byte [rdx], r8b
jne 0x1800490ad
mov r8d, 1
jmp 0x1800488d9
lea r8, [rbp + 0x70]
mov byte [rbp - 0x80], 0x84
lea rdx, [rbp - 0x80]
mov qword [rbp - 0x7c], 0x4400
mov rcx, rsi
call fcn.18004921c
mov rdx, qword [r14 + 0x10]
lea r8, [rbp + 0x88]
mov rcx, rsi
mov ebx, eax
call fcn.18004921c
mov r9d, ebx
mov dword [rsp + 0x20], r12d
mov r8d, eax
mov edx, 0x5a
jmp 0x18004915f
mov rcx, qword [rdx + 0x38]
movsx rax, word [rdx + 0x32]
shl rax, 5
add rax, qword [rcx + 0x20]
cmp byte [rcx], r11b
jne 0x18004910c
mov r13d, dword [rax + 0x14]
jmp 0x180049167
cmp byte [rcx + 1], r11b
je 0x18004892c
mov r9d, dword [rax + 0x10]
mov edx, 0x2f
mov r8d, dword [rcx + 8]
mov dword [rsp + 0x20], r12d
jmp 0x18004915f
mov r9d, dword [rsi + 0x6c]
mov al, byte [rdx + 0x36]
mov rcx, rsi
movsx r8d, word [rdx + 0x30]
mov rdx, qword [rdx + 0x40]
mov byte [rsp + 0x28], al
mov dword [rsp + 0x20], r12d
call fcn.180048154
jmp 0x180048496
xor r8d, r8d
mov dword [rsp + 0x20], r11d
lea edx, [r8 + 0x1c]
mov r9d, r12d
mov rcx, r15
call fcn.1800376b8
mov edx, dword [rbp + 0x70]
mov rcx, rsi
call fcn.18004a1e8
mov edx, dword [rbp + 0x88]
call fcn.18004a1e8
mov eax, r13d
add rsp, 0x128
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret