Function at 0x1800aaa50
Capabilities:
Parse pe header

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
sub rsp, 0x128
mov rbp, qword [rcx + 0x10]
mov r10, qword [rcx]
xor ebx, ebx
mov r9d, r8d
mov rsi, rdx
mov rdi, rcx
mov qword [rsp + 0x78], rbp
mov dword [rsp + 0x150], r8d
mov dword [rsp + 0x168], ebx
mov dword [rsp + 0x48], ebx
mov qword [rsp + 0x60], r10
test rbp, rbp
je 0x1800ab9ae
lea eax, [rbx + 0x65]
test rdx, rdx
je 0x1800aaaa8
movzx eax, byte [rdx]
mov dword [rsp + 0x40], eax
add eax, 0xffffffed
cmp eax, 0x8c
ja case.0x1800aaad5.21
lea rdx, [0x180000000]
cdqe
movzx eax, byte [rdx + rax + 0xabe5c]
mov ecx, dword [rdx + rax*4 + 0xabdf8]
add rcx, rdx
jmp rcx
mov rcx, qword [rsi + 0x38]
movsx rax, word [rsi + 0x32]
shl rax, 5
add rax, qword [rcx + 0x20]
cmp byte [rcx], bl
jne 0x1800aaafd
mov esi, dword [rax + 0x14]
mov eax, esi
add rsp, 0x128
pop rdi
pop rsi
pop rbp
pop rbx
ret
cmp byte [rcx + 1], bl
je case.0x1800aaad5.154
mov r9d, dword [rax + 0x10]
mov dword [rsp + 0x20], r8d
mov r8d, dword [rcx + 8]
mov edx, 0x2f
mov rcx, rbp
call fcn.180042780
jmp 0x1800abde1
mov ecx, dword [rsi + 0x2c]
test ecx, ecx
jns 0x1800aab46
mov eax, dword [rdi + 0x68]
test eax, eax
jle 0x1800aab43
movsx esi, word [rsi + 0x30]
add esi, eax
mov eax, esi
add rsp, 0x128
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov ecx, dword [rdi + 0x6c]
movzx eax, byte [rsi + 0x36]
movsx r8d, word [rsi + 0x30]
mov rdx, qword [rsi + 0x40]
mov byte [rsp + 0x28], al
mov dword [rsp + 0x20], r9d
mov r9d, ecx
mov rcx, rdi
call fcn.180076bc0
mov esi, eax
add rsp, 0x128
pop rdi
pop rsi
pop rbp
pop rbx
ret
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call fcn.18005a440
jmp 0x1800abde1
mov rdx, qword [rsi + 8]
xor r8d, r8d
mov rcx, rbp
call fcn.180053c30
jmp 0x1800abde1
mov rsi, qword [rsi + 8]
xor r8d, r8d
mov rcx, rbp
lea edx, [r8 + 0x61]
mov qword [rsp + 0x168], rsi
mov dword [rsp + 0x20], ebx
call fcn.180042780
mov rdi, qword [rbp + 8]
mov rcx, qword [rbp]
test rdi, rdi
je 0x1800aac3e
cmp byte [rcx + 0x51], bl
jne 0x1800aac3e
test eax, eax
jns 0x1800aabd6
mov eax, dword [rbp + 0x3c]
dec eax
cdqe
lea rsi, [rax + rax*2]
movsx edx, byte [rdi + rsi*8 + 1]
mov r8, qword [rdi + rsi*8 + 0x10]
call fcn.180046990
mov rcx, qword [rsp + 0x168]
mov qword [rdi + rsi*8 + 0x10], rbx
test rcx, rcx
jne 0x1800aac0b
mov qword [rdi + rsi*8 + 0x10], rbx
mov byte [rdi + rsi*8 + 1], bl
jmp 0x1800abde1
mov rax, rcx
cmp byte [rcx], bl
je 0x1800aac19
inc rax
cmp byte [rax], bl
jne 0x1800aac12
sub eax, ecx
mov rdx, rcx
mov rcx, qword [rbp]
and eax, 0x3fffffff
movsxd r8, eax
call fcn.180034f20
mov qword [rdi + rsi*8 + 0x10], rax
mov byte [rdi + rsi*8 + 1], 0xff
jmp 0x1800abde1
mov r8, rsi
xor edx, edx
call fcn.180046990
jmp 0x1800abde1
xor r8d, r8d
mov rcx, rbp
mov dword [rsp + 0x20], ebx
lea edx, [r8 + 0x1c]
call fcn.180042780
jmp 0x1800abde1
mov rdx, qword [rsi + 8]
add rdx, 2
mov rax, rdx
jne 0x1800aac76
mov eax, ebx
jmp 0x1800aac8e
cmp byte [rdx], bl
je 0x1800aac87
nop word [rax + rax]
inc rax
cmp byte [rax], bl
jne 0x1800aac80
sub eax, edx
and eax, 0x3fffffff
mov rcx, qword [rbp]
lea ebx, [rax - 1]
mov r8d, ebx
call fcn.180034da0
mov r9d, dword [rsp + 0x160]
mov rcx, rbp
mov rsi, rax
mov qword [rsp + 0x168], rax
mov eax, ebx
cdq
xor ebx, ebx
sub eax, edx
lea edx, [rbx + 0x1e]
mov dword [rsp + 0x20], ebx
sar eax, 1
mov r8d, eax
call fcn.180042780
mov rdi, qword [rbp + 8]
mov rcx, qword [rbp]
test rdi, rdi
je 0x1800aad20
cmp byte [rcx + 0x51], bl
jne 0x1800aad20
test eax, eax
jns 0x1800aace6
mov eax, dword [rbp + 0x3c]
dec eax
cdqe
lea rsi, [rax + rax*2]
movsx edx, byte [rdi + rsi*8 + 1]
mov r8, qword [rdi + rsi*8 + 0x10]
call fcn.180046990
mov rax, qword [rsp + 0x168]
mov qword [rdi + rsi*8 + 0x10], rbx
test rax, rax
jne 0x1800aac2f
mov qword [rdi + rsi*8 + 0x10], rbx
mov byte [rdi + rsi*8 + 1], bl
jmp 0x1800abde1
mov r8, rsi
or edx, 0xffffffff
call fcn.180046990
jmp 0x1800abde1
movsx r8d, word [rsi + 0x30]
mov edx, 0x1f
mov rcx, rbp
mov dword [rsp + 0x20], ebx
call fcn.180042780
mov r11, qword [rsi + 8]
cmp byte [r11 + 1], bl
je 0x1800abde1
movsx rcx, word [rsi + 0x30]
mov rax, qword [rdi + 0x208]
mov rdi, qword [rbp + 8]
mov rax, qword [rax + rcx*8 - 8]
mov rcx, qword [rbp]
mov qword [rsp + 0x168], rax
test rdi, rdi
je 0x1800aadc0
cmp byte [rcx + 0x51], bl
jne 0x1800aadc0
mov eax, dword [rbp + 0x3c]
dec eax
cdqe
lea rsi, [rax + rax*2]
movsx edx, byte [rdi + rsi*8 + 1]
mov r8, qword [rdi + rsi*8 + 0x10]
call fcn.180046990
mov rax, qword [rsp + 0x168]
mov qword [rdi + rsi*8 + 0x10], rbx
test rax, rax
je 0x1800aabfd
mov qword [rdi + rsi*8 + 0x10], rax
mov byte [rdi + rsi*8 + 1], 0xfe
jmp 0x1800abde1
mov r8, rax
mov edx, 0xfffffffe
call fcn.180046990
jmp 0x1800abde1
mov esi, dword [rsi + 0x2c]
mov eax, esi
add rsp, 0x128
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rdx, qword [rsi + 0x10]
mov rcx, rdi
call fcn.1800aaa50
mov esi, eax
add rsp, 0x128
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rdx, qword [rsi + 0x10]
mov rcx, rdi
call fcn.1800aaa50
mov ecx, eax
mov dword [rsp + 0x150], eax
mov eax, dword [rsp + 0x160]
cmp ecx, eax
je 0x1800aae42
mov r8d, ecx
mov r9d, eax
mov edx, 0x22
mov rcx, rbp
mov dword [rsp + 0x20], ebx
call fcn.180042780
mov ecx, dword [rsp + 0x160]
mov dword [rsp + 0x150], ecx
mov rcx, qword [rsi + 8]
xor edx, edx
call fcn.18001ad30
mov r8d, dword [rsp + 0x160]
mov edx, 0x28
mov rcx, rbp
movsx r9d, al
mov dword [rsp + 0x20], ebx
call fcn.180042780
mov esi, dword [rsp + 0x150]
mov r8d, 1
mov edx, esi
mov rcx, rdi
call fcn.180022bf0
mov eax, esi
add rsp, 0x128
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rdx, qword [rsi + 0x10]
lea r8, [rsp + 0x168]
mov rcx, rdi
call fcn.18004bfc0
mov rdx, qword [rsi + 0x18]
lea r8, [rsp + 0x48]
mov rcx, rdi
mov ebx, eax
call fcn.18004bfc0
mov ecx, dword [rsp + 0x160]
mov r9d, dword [rsp + 0x40]
mov r8, qword [rsi + 0x18]
mov rdx, qword [rsi + 0x10]
mov dword [rsp + 0x38], 0x20
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], eax
mov rcx, rdi
mov dword [rsp + 0x20], ebx
call fcn.18006e5e0
jmp 0x1800ab86f
mov rdx, qword [rsi + 0x10]
lea r8, [rsp + 0x168]
mov rcx, rdi
call fcn.18004bfc0
mov rdx, qword [rsi + 0x18]
lea r8, [rsp + 0x48]
mov rcx, rdi
mov ebx, eax
call fcn.18004bfc0
mov ecx, dword [rsp + 0x160]
mov r8, qword [rsi + 0x18]
mov rdx, qword [rsi + 0x10]
xor ebp, ebp
cmp dword [rsp + 0x40], 0x49
mov r9d, ebp
mov dword [rsp + 0x38], 0xa0
mov dword [rsp + 0x30], ecx
sete r9b
mov dword [rsp + 0x28], eax
mov rcx, rdi
add r9d, 0x4e
mov dword [rsp + 0x20], ebx
call fcn.18006e5e0
jmp 0x1800ab871
mov rdx, qword [rsi + 0x10]
lea r8, [rsp + 0x168]
mov rcx, rdi
call fcn.18004bfc0
mov rdx, qword [rsi + 0x18]
lea r8, [rsp + 0x48]
mov rcx, rdi
mov ebx, eax
call fcn.18004bfc0
mov ecx, dword [rsp + 0x160]
mov edx, dword [rsp + 0x40]
mov dword [rsp + 0x20], ecx
mov r9d, ebx
mov r8d, eax
mov rcx, rbp
call fcn.180042780
jmp 0x1800ab86f
mov rdx, qword [rsi + 0x10]
movzx eax, byte [rdx]
cmp al, 0x84
jne 0x1800aafc4
mov r8d, 1
mov rcx, rdi
call fcn.18005a440
mov esi, dword [rsp + 0x160]
xor ebp, ebp
jmp 0x1800ab878
cmp al, 0x85
jne 0x1800aafe8
mov rdx, qword [rdx + 8]
mov r8d, 1
mov rcx, rbp
call fcn.180053c30
mov esi, dword [rsp + 0x160]
xor ebp, ebp
jmp 0x1800ab878
lea r8, [rsp + 0x168]
lea rdx, [rsp + 0x80]
mov rcx, rdi
mov byte [rsp + 0x80], 0x84
mov dword [rsp + 0x84], 0x4400
mov dword [rsp + 0x88], ebx
call fcn.18004bfc0
mov rdx, qword [rsi + 0x10]
lea r8, [rsp + 0x48]
mov rcx, rdi
mov ebx, eax
call fcn.18004bfc0
mov ecx, dword [rsp + 0x160]
mov r9d, ebx
mov dword [rsp + 0x20], ecx
mov rcx, rbp
mov r8d, eax
mov edx, 0x5a
call fcn.180042780
mov esi, dword [rsp + 0x160]
xor ebp, ebp
jmp 0x1800ab878
mov rdx, qword [rsi + 0x10]
lea r8, [rsp + 0x168]
mov rcx, rdi
call fcn.18004bfc0
mov ecx, dword [rsp + 0x160]
mov edx, dword [rsp + 0x40]
mov esi, ecx
mov r9d, ecx
mov r8d, eax
mov rcx, rbp
mov dword [rsp + 0x20], ebx
call fcn.180042780
xor ebp, ebp
jmp 0x1800ab878
mov edx, 0x19
mov rcx, rbp
mov dword [rsp + 0x20], ebx
lea r8d, [rdx - 0x18]
call fcn.180042780
mov rdx, qword [rsi + 0x10]
lea r8, [rsp + 0x168]
mov rcx, rdi
call fcn.18004bfc0
mov edx, dword [rsp + 0x40]
xor r9d, r9d
mov rcx, rbp
mov r8d, eax
mov dword [rsp + 0x20], ebx
call fcn.180042780
mov r9d, dword [rsp + 0x160]
xor r8d, r8d
lea edx, [r8 + 0x19]
mov rcx, rbp
mov dword [rsp + 0x20], ebx
mov esi, eax
call fcn.180042780
mov edx, dword [rbp + 0x3c]
cmp edx, esi
jbe 0x1800ab102
mov rax, qword [rbp + 8]
lea rcx, [rsi + rsi*2]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rbp + 0x3c]
mov rax, qword [rbp + 0x30]
dec ecx
mov dword [rax + 0x64], ecx
jmp 0x1800ab86f
mov rdx, qword [rsi + 0x38]
test rdx, rdx
jne 0x1800ab134
mov r8, qword [rsi + 8]
lea rdx, str.misuse_of_aggregate:__s__
mov rcx, rdi
call fcn.18003b940
jmp 0x1800abde1
movsx rax, word [rsi + 0x32]
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x30]
mov esi, dword [rax + rcx*8 + 0x10]
mov eax, esi
add rsp, 0x128
pop rdi
pop rsi
pop rbp
pop rbx
ret
bt dword [rsi + 4], 0xe
movzx r8d, byte [r10 + 0x4e]
mov dword [rsp + 0x48], ebx
mov qword [rsp + 0x58], rbx
jae 0x1800ab18b
mov qword [rsp + 0x70], rbx
mov ecx, ebx
mov dword [rsp + 0x168], ebx
mov rdx, qword [rsi + 8]
mov qword [rsp + 0x40], rdx
mov rax, rdx
test rdx, rdx
jne 0x1800ab1a4
mov eax, ebx
jmp 0x1800ab1b6
mov rax, qword [rsi + 0x20]
mov qword [rsp + 0x70], rax
test rax, rax
je 0x1800ab16d
mov ecx, dword [rax]
mov dword [rsp + 0x168], ecx
jmp 0x1800ab176
cmp byte [rdx], bl
je 0x1800ab1af
inc rax
cmp byte [rax], bl
jne 0x1800ab1a8
sub eax, edx
and eax, 0x3fffffff
mov r9d, ecx
mov byte [rsp + 0x28], bl
mov byte [rsp + 0x20], r8b
mov r8d, eax
mov rcx, r10
mov qword [rsp + 0x50], rax
call fcn.180031e40
mov qword [rsp + 0x68], rax
test rax, rax
je 0x1800ab61d
cmp qword [rax + 0x18], rbx
je 0x1800ab61d
movzx ecx, word [rax + 2]
mov eax, 0x200
test ax, cx
je 0x1800ab2c8
mov rcx, rbp
call fcn.180042710
mov rsi, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x160]
mov rdx, qword [rsi + 8]
mov rcx, rdi
mov dword [rsp + 0x50], eax
mov rdx, qword [rdx]
call fcn.1800acf90
mov r11d, dword [rsp + 0x168]
cmp r11d, 1
jle 0x1800ab2bc
lea edx, [r11 - 1]
mov qword [rsp + 0x168], 0x28
mov qword [rsp + 0x60], rdx
nop dword [rax + rax]
mov r9d, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x160]
mov edx, 0x4d
mov rcx, rbp
mov dword [rsp + 0x20], ebx
call fcn.180042780
mov edx, dword [rsp + 0x160]
mov r8d, 1
mov rcx, rdi
call fcn.18001b260
inc dword [rdi + 0x70]
mov rdx, qword [rsi + 8]
mov rax, qword [rsp + 0x168]
mov r8d, dword [rsp + 0x160]
mov rdx, qword [rax + rdx]
call fcn.1800acf90
mov rcx, rdi
call fcn.18001b200
add qword [rsp + 0x168], 0x28
sub qword [rsp + 0x60], 1
jne 0x1800ab250
or eax, 0xffffffff
sub eax, dword [rsp + 0x50]
jmp 0x1800abdbd
mov eax, 0x400
test ax, cx
je 0x1800ab2f3
mov rdx, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x160]
mov rcx, rdi
mov rdx, qword [rdx + 8]
mov rdx, qword [rdx]
call fcn.1800acf90
jmp 0x1800abde1
mov ecx, dword [rsp + 0x168]
mov eax, 1
mov edx, ebx
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0x50], eax
test ecx, ecx
jle 0x1800ab3a1
mov rbp, qword [rsp + 0x70]
mov rsi, rbx
nop dword [rax]
cmp edx, 0x20
jge 0x1800ab349
mov rcx, qword [rbp + 8]
mov rcx, qword [rcx + rsi]
call fcn.18002ce60
mov ecx, dword [rsp + 0x168]
mov edx, dword [rsp + 0x40]
test eax, eax
mov eax, dword [rsp + 0x50]
je 0x1800ab349
or dword [rsp + 0x48], eax
mov r8, qword [rsp + 0x68]
test byte [r8 + 2], 0x20
je 0x1800ab380
cmp qword [rsp + 0x58], rbx
jne 0x1800ab380
mov rdx, qword [rbp + 8]
mov rcx, rdi
mov rdx, qword [rdx + rsi]
call fcn.180068ae0
mov ecx, dword [rsp + 0x168]
mov edx, dword [rsp + 0x40]
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x50]
inc edx
rol eax, 1
add rsi, 0x28
cmp edx, ecx
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x40], edx
jl 0x1800ab320
mov rsi, qword [rsp + 0x158]
mov rbp, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x1800ab429
cmp dword [rsp + 0x48], ebx
jne 0x1800ab3d3
mov r9d, dword [rdi + 0x44]
mov r8d, dword [rdi + 0x48]
cmp ecx, r9d
mov dword [rsp + 0x40], r8d
jg 0x1800ab3d3
lea eax, [r8 + rcx]
sub r9d, ecx
mov dword [rdi + 0x48], eax
mov dword [rdi + 0x44], r9d
jmp 0x1800ab3e4
mov eax, dword [rdi + 0x54]
lea r8d, [rax + 1]
add eax, ecx
mov dword [rsp + 0x40], r8d
mov dword [rdi + 0x54], eax
mov rcx, qword [rsp + 0x68]
test byte [rcx + 2], 0xc0
je 0x1800ab40c
mov rax, qword [rdx + 8]
mov r9, qword [rax]
movzx eax, byte [r9]
cmp al, 0x9a
je 0x1800ab402
cmp al, 0x9c
jne 0x1800ab40c
movzx eax, byte [rcx + 2]
and al, 0xc0
mov byte [r9 + 0x36], al
inc dword [rdi + 0x70]
mov r9b, 3
mov rcx, rdi
call fcn.18004bd90
mov rcx, rdi
call fcn.18001b200
mov rdx, qword [rsp + 0x70]
jmp 0x1800ab42d
mov dword [rsp + 0x40], ebx
mov r11d, dword [rsp + 0x168]
cmp r11d, 2
jl 0x1800ab465
test byte [rsi + 4], 0x80
je 0x1800ab465
mov r9, qword [rdx + 8]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov r9, qword [r9 + 0x28]
mov r8d, r11d
mov esi, r11d
call fcn.180035ff0
mov qword [rsp + 0x68], rax
jmp 0x1800ab495
mov esi, dword [rsp + 0x168]
test esi, esi
jle 0x1800ab490
mov r9, qword [rdx + 8]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov r9, qword [r9]
mov r8d, esi
call fcn.180035ff0
mov qword [rsp + 0x68], rax
jmp 0x1800ab495
mov rax, qword [rsp + 0x68]
test byte [rax + 2], 0x20
je 0x1800ab54f
cmp qword [rsp + 0x58], rbx
jne 0x1800ab4b4
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x58], rax
xor r9d, r9d
xor r8d, r8d
mov rcx, rbp
lea edx, [r9 + 0x24]
mov dword [rsp + 0x20], ebx
call fcn.180042780
mov r8, qword [rbp + 8]
mov rcx, qword [rbp]
mov qword [rsp + 0x168], r8
test r8, r8
je 0x1800ab540
cmp byte [rcx + 0x51], bl
jne 0x1800ab540
test eax, eax
jns 0x1800ab4ed
mov eax, dword [rbp + 0x3c]
dec eax
cdqe
lea r9, [rax + rax*2]
mov qword [rsp + 0x78], r9
movsx edx, byte [r8 + r9*8 + 1]
mov r8, qword [r8 + r9*8 + 0x10]
call fcn.180046990
mov rax, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x58]
mov qword [rax + rcx*8 + 0x10], rbx
test rdx, rdx
jne 0x1800ab52f
mov qword [rax + rcx*8 + 0x10], rbx
mov byte [rax + rcx*8 + 1], bl
jmp 0x1800ab54f
mov qword [rax + rcx*8 + 0x10], rdx
mov byte [rax + rcx*8 + 1], 0xfc
jmp 0x1800ab54f
mov r8, qword [rsp + 0x58]
mov edx, 0xfffffffc
call fcn.180046990
mov eax, dword [rsp + 0x160]
mov ebx, dword [rsp + 0x40]
mov r8d, dword [rsp + 0x48]
mov r9d, ebx
mov edx, 1
mov rcx, rbp
mov dword [rsp + 0x20], eax
call fcn.180042780
mov rcx, qword [rbp + 8]
mov r9, qword [rbp]
mov qword [rsp + 0x168], rcx
test rcx, rcx
je 0x1800ab5d0
cmp byte [r9 + 0x51], 0
jne 0x1800ab5d0
test eax, eax
jns 0x1800ab598
mov eax, dword [rbp + 0x3c]
dec eax
cdqe
lea rbx, [rax + rax*2]
movsx edx, byte [rcx + rbx*8 + 1]
mov r8, qword [rcx + rbx*8 + 0x10]
mov rcx, r9
call fcn.180046990
mov r11, qword [rsp + 0x168]
mov rax, qword [rsp + 0x68]
mov qword [r11 + rbx*8 + 0x10], rax
mov byte [r11 + rbx*8 + 1], 0xfb
mov ebx, dword [rsp + 0x40]
jmp 0x1800ab5e2
mov r8, qword [rsp + 0x68]
mov edx, 0xfffffffb
mov rcx, r9
call fcn.180046990
mov rdx, qword [rbp + 8]
test rdx, rdx
je 0x1800ab5f8
movsxd rax, dword [rbp + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], sil
test esi, esi
je 0x1800abde1
cmp dword [rsp + 0x48], 0
jne 0x1800abde1
mov r8d, esi
mov edx, ebx
mov rcx, rdi
call fcn.180022b70
jmp 0x1800abde1
mov r9, qword [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
lea rdx, str.unknown_function:__.s__
mov rcx, rdi
call fcn.18003b940
jmp 0x1800abde1
xor r9d, r9d
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call fcn.18009c7e0
mov esi, eax
add rsp, 0x128
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rcx, rbp
call fcn.180042710
mov rcx, rbp
mov ebx, eax
call fcn.180042710
mov r9d, dword [rsp + 0x160]
xor r8d, r8d
mov rcx, rbp
mov dword [rsp + 0x20], 0
lea edx, [r8 + 0x1c]
mov dword [rsp + 0x168], eax
call fcn.180042780
mov r9d, dword [rsp + 0x168]
mov r8d, ebx
mov rdx, rsi
mov rcx, rdi
call fcn.1800a1b50
mov esi, dword [rsp + 0x160]
xor edi, edi
lea edx, [rdi + 0x19]
lea r8d, [rdi + 1]
mov rcx, rbp
mov r9d, esi
mov dword [rsp + 0x20], edi
call fcn.180042780
mov r8, qword [rbp + 0x30]
or eax, 0xffffffff
sub eax, ebx
js 0x1800ab6e7
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x1800ab6e7
movsxd rcx, eax
mov eax, dword [rbp + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rbp + 0x3c]
xor r9d, r9d
mov rcx, rbp
dec eax
lea edx, [r9 + 0x25]
mov dword [rsp + 0x20], edi
mov dword [r8 + 0x64], eax
mov r8d, esi
call fcn.180042780
mov r11, qword [rbp + 0x30]
or eax, 0xffffffff
sub eax, dword [rsp + 0x168]
js 0x1800ab72b
mov rdx, qword [r11 + 0x80]
test rdx, rdx
je 0x1800ab72b
movsxd rcx, eax
mov eax, dword [rbp + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rbp + 0x3c]
dec eax
mov dword [r11 + 0x64], eax
jmp 0x1800abde1
mov rbx, qword [rsi + 0x10]
mov rax, qword [rsi + 0x20]
lea r8, [rsp + 0x168]
mov rax, qword [rax + 8]
mov rdx, rbx
mov rcx, rdi
mov rsi, qword [rax]
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x78], rsi
call fcn.18004bfc0
lea r8, [rsp + 0x48]
mov rdx, rsi
mov rcx, rdi
mov dword [rsp + 0x50], eax
call fcn.18004bfc0
movzx ecx, byte [rdi + 0x1f]
mov r11d, eax
test cl, cl
jne 0x1800ab791
inc dword [rdi + 0x54]
mov ecx, dword [rdi + 0x54]
jmp 0x1800ab79d
dec cl
movzx eax, cl
mov byte [rdi + 0x1f], al
mov ecx, dword [rdi + rax*4 + 0x24]
movzx eax, byte [rdi + 0x1f]
mov dword [rsp + 0x40], ecx
test al, al
jne 0x1800ab7b1
inc dword [rdi + 0x54]
mov esi, dword [rdi + 0x54]
jmp 0x1800ab7bd
dec al
movzx eax, al
mov byte [rdi + 0x1f], al
mov esi, dword [rdi + rax*4 + 0x24]
mov eax, dword [rsp + 0x50]
mov r8, qword [rsp + 0x78]
mov dword [rsp + 0x38], 0x20
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], r11d
mov r9d, 0x53
mov rdx, rbx
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.18006e5e0
mov rbx, qword [rsp + 0x60]
mov edx, dword [rsp + 0x48]
mov rbx, qword [rbx + 0x28]
mov rcx, rdi
call fcn.18000fab0
lea r8, [rsp + 0x48]
mov rdx, rbx
call fcn.18004bfc0
mov rdx, qword [rsp + 0x58]
mov dword [rsp + 0x38], 0x20
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x50]
mov r9d, 0x51
mov r8, rbx
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.18006e5e0
mov eax, dword [rsp + 0x160]
mov ebx, dword [rsp + 0x40]
mov r9d, esi
mov edx, 0x48
mov rcx, rbp
mov r8d, ebx
mov dword [rsp + 0x20], eax
call fcn.180042780
mov edx, ebx
mov rcx, rdi
call fcn.18000fab0
mov edx, esi
call fcn.18000fab0
xor ebp, ebp
mov esi, dword [rsp + 0x150]
cmp dword [rsp + 0x168], 0
je 0x1800ab8c8
movzx r8d, byte [rdi + 0x1f]
cmp r8b, 8
jae 0x1800ab8c8
mov edx, ebp
lea rcx, [rdi + 0x88]
nop word [rax + rax]
mov eax, dword [rsp + 0x168]
cmp dword [rcx + 0xc], eax
je 0x1800ab8c4
inc edx
add rcx, 0x14
cmp edx, 0xa
jl 0x1800ab8a0
movzx ecx, r8b
mov dword [rdi + rcx*4 + 0x24], eax
inc byte [rdi + 0x1f]
jmp 0x1800ab8c8
mov byte [rcx + 6], 1
cmp dword [rsp + 0x48], 0
je 0x1800abde8
movzx edx, byte [rdi + 0x1f]
cmp dl, 8
jae 0x1800abde8
lea rcx, [rdi + 0x88]
mov eax, dword [rsp + 0x48]
cmp dword [rcx + 0xc], eax
je 0x1800ab913
inc ebp
add rcx, 0x14
cmp ebp, 0xa
jl 0x1800ab8e7
movzx ecx, dl
mov dword [rdi + rcx*4 + 0x24], eax
inc byte [rdi + 0x1f]
mov eax, esi
add rsp, 0x128
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov byte [rcx + 6], 1
mov eax, esi
add rsp, 0x128
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rdi, qword [rsi + 0x40]
movsx eax, word [rsi + 0x30]
mov edx, 0x84
movsx ecx, word [rdi + 0x42]
mov dword [rsp + 0x20], ebx
inc ecx
imul ecx, dword [rsi + 0x2c]
lea r8d, [rcx + rax + 1]
mov rcx, rbp
call fcn.180042780
movzx r11d, word [rsi + 0x30]
test r11w, r11w
js 0x1800abde1
movsx rax, r11w
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
add rcx, rcx
cmp byte [rax + rcx*8 + 0x29], 0x45
jne 0x1800abde1
mov r8d, dword [rsp + 0x160]
xor r9d, r9d
mov rcx, rbp
lea edx, [r9 + 0x27]
mov dword [rsp + 0x20], ebx
call fcn.180042780
jmp 0x1800abde1
cmp qword [rdi + 0x1c8], rbx
jne 0x1800ab9bc
lea rdx, str.RAISE___may_only_be_used_within_a_trigger_program
mov rcx, rdi
call fcn.18003b940
xor eax, eax
add rsp, 0x128
pop rdi
pop rsi
pop rbp
pop rbx
ret
cmp byte [rsi + 1], 2
jne 0x1800ab9d7
mov rax, qword [rdi + 0x1c0]
mov rcx, rdi
test rax, rax
cmovne rcx, rax
mov byte [rcx + 0x21], 1
movzx eax, byte [rsi + 1]
cmp al, 4
jne 0x1800aba6d
mov rsi, qword [rsi + 8]
mov r9d, 4
xor r8d, r8d
lea edx, [r9 + 0x14]
mov rcx, rbp
mov dword [rsp + 0x20], ebx
mov qword [rsp + 0x168], rsi
call fcn.180042780
mov rdi, qword [rbp + 8]
mov rcx, qword [rbp]
test rdi, rdi
je 0x1800aac3e
cmp byte [rcx + 0x51], bl
jne 0x1800aac3e
test eax, eax
jns 0x1800aba2b
mov eax, dword [rbp + 0x3c]
dec eax
cdqe
lea rsi, [rax + rax*2]
movsx edx, byte [rdi + rsi*8 + 1]
mov r8, qword [rdi + rsi*8 + 0x10]
call fcn.180046990
mov rcx, qword [rsp + 0x168]
mov qword [rdi + rsi*8 + 0x10], rbx
test rcx, rcx
je 0x1800aabfd
mov rax, rcx
cmp byte [rcx], bl
je 0x1800aac19
inc rax
cmp byte [rax], bl
jne 0x1800aba61
jmp 0x1800aac19
mov r9, qword [rsi + 8]
movsx r8d, al
mov edx, 0x713
mov rcx, rdi
mov byte [rsp + 0x28], bl
mov byte [rsp + 0x20], bl
call fcn.180052bc0
jmp 0x1800abde1
mov rax, qword [rsi + 0x20]
mov rcx, rbp
mov qword [rsp + 0x70], rbx
mov rdx, qword [rax + 8]
mov qword [rsp + 0x78], rax
mov eax, dword [rax]
mov dword [rsp + 0x50], eax
mov qword [rsp + 0x58], rdx
call fcn.180042710
mov rdx, qword [rsi + 0x10]
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x48], rdx
test rdx, rdx
je 0x1800abb7b
mov rcx, qword [rdx]
lea r8, [rsp + 0x80]
mov qword [r8], rcx
mov rcx, qword [rdx + 8]
mov qword [r8 + 8], rcx
mov rcx, qword [rdx + 0x10]
mov qword [r8 + 0x10], rcx
mov rcx, qword [rdx + 0x18]
mov qword [r8 + 0x18], rcx
mov rax, qword [rdx + 0x20]
mov rcx, rdi
mov qword [r8 + 0x20], rax
mov rax, qword [rdx + 0x28]
mov qword [r8 + 0x28], rax
mov rax, qword [rdx + 0x30]
mov qword [r8 + 0x30], rax
mov rax, qword [rdx + 0x38]
mov qword [r8 + 0x38], rax
mov rax, qword [rdx + 0x40]
mov qword [r8 + 0x40], rax
lea r8, [rsp + 0x168]
call fcn.18004bfc0
movzx ecx, byte [rsp + 0x80]
btr dword [rsp + 0x84], 0xc
mov rdx, qword [rsp + 0x48]
mov dword [rsp + 0xac], eax
lea r10, [rsp + 0xd0]
lea rax, [rsp + 0x80]
mov byte [rsp + 0xb6], cl
mov byte [rsp + 0x80], 0x9f
mov byte [rsp + 0xd0], 0x4f
mov qword [rsp + 0x70], r10
mov qword [rsp + 0xe0], rax
jmp 0x1800abb7e
mov r10, rbx
mov eax, dword [rsp + 0x50]
or r8d, 0xffffffff
mov qword [rsp + 0x60], 0xa
dec eax
test eax, eax
jle 0x1800abd1b
lea ecx, [rax - 1]
mov rax, qword [rsp + 0x58]
shr ecx, 1
inc ecx
mov qword [rsp + 0x68], rcx
jmp 0x1800abbb4
or r8d, 0xffffffff
inc dword [rdi + 0x70]
test rdx, rdx
je 0x1800abbc9
mov rax, qword [rax]
mov qword [rsp + 0xe8], rax
jmp 0x1800abbd1
mov r10, qword [rax]
mov qword [rsp + 0x70], r10
mov rsi, qword [rbp + 0x30]
mov ecx, dword [rsi + 0x78]
mov dword [rsp + 0x168], ecx
lea eax, [rcx + 1]
mov dword [rsi + 0x78], eax
lea eax, [rcx - 1]
test ecx, eax
jne 0x1800abc1d
mov rdx, qword [rsi + 0x80]
lea eax, [rcx + rcx + 1]
mov rcx, qword [rsi]
movsxd r8, eax
shl r8, 2
call fcn.18003bc90
mov ecx, dword [rsp + 0x168]
mov r10, qword [rsp + 0x70]
mov qword [rsi + 0x80], rax
or r8d, 0xffffffff
mov rdx, qword [rsi + 0x80]
test rdx, rdx
je 0x1800abc30
movsxd rax, ecx
mov dword [rdx + rax*4], r8d
mov eax, r8d
mov r9d, 0x10
mov rdx, r10
sub eax, ecx
mov rcx, rdi
mov r8d, eax
mov dword [rsp + 0x168], eax
call fcn.1800aa5e0
mov rdx, qword [rsp + 0x58]
mov esi, dword [rsp + 0x160]
mov rdx, qword [rdx + 0x28]
mov r8d, esi
mov rcx, rdi
call fcn.1800acf90
mov r9d, dword [rsp + 0x40]
xor r8d, r8d
lea edx, [r8 + 0x10]
mov rcx, rbp
mov dword [rsp + 0x20], ebx
call fcn.180042780
dec dword [rdi + 0x70]
lea rcx, [rdi + 0x94]
mov r8d, 0xa
mov edx, dword [rcx]
test edx, edx
je 0x1800abcbd
mov eax, dword [rdi + 0x70]
cmp dword [rcx - 4], eax
jle 0x1800abcbd
cmp byte [rcx - 6], bl
je 0x1800abcbb
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x1800abcb8
movzx eax, al
mov dword [rdi + rax*4 + 0x24], edx
inc byte [rdi + 0x1f]
mov byte [rcx - 6], bl
mov dword [rcx], ebx
add rcx, 0x14
sub r8, 1
jne 0x1800abc93
mov r8, qword [rbp + 0x30]
or eax, 0xffffffff
sub eax, dword [rsp + 0x168]
js 0x1800abcec
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x1800abcec
movsxd rcx, eax
mov eax, dword [rbp + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rbp + 0x3c]
mov rdx, qword [rsp + 0x48]
mov r10, qword [rsp + 0x70]
dec eax
mov dword [r8 + 0x64], eax
mov rax, qword [rsp + 0x58]
add rax, 0x50
sub qword [rsp + 0x68], 1
mov qword [rsp + 0x58], rax
jne 0x1800abbb0
jmp 0x1800abd22
mov esi, dword [rsp + 0x160]
movsxd rax, dword [rsp + 0x50]
test al, 1
je 0x1800abda0
inc dword [rdi + 0x70]
mov rdx, qword [rsp + 0x78]
lea rcx, [rax + rax*4]
mov rdx, qword [rdx + 8]
mov r8d, esi
mov rdx, qword [rdx + rcx*8 - 0x28]
mov rcx, rdi
call fcn.1800acf90
dec dword [rdi + 0x70]
lea rcx, [rdi + 0x94]
mov eax, 0xa
nop word [rax + rax]
mov edx, dword [rcx]
test edx, edx
je 0x1800abd8f
mov eax, dword [rdi + 0x70]
cmp dword [rcx - 4], eax
jle 0x1800abd8a
cmp byte [rcx - 6], bl
je 0x1800abd88
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x1800abd85
movzx eax, al
mov dword [rdi + rax*4 + 0x24], edx
inc byte [rdi + 0x1f]
mov byte [rcx - 6], bl
mov dword [rcx], ebx
mov rax, qword [rsp + 0x60]
add rcx, 0x14
sub rax, 1
mov qword [rsp + 0x60], rax
jne 0x1800abd60
jmp 0x1800abdb6
xor r8d, r8d
mov r9d, esi
mov rcx, rbp
lea edx, [r8 + 0x1c]
mov dword [rsp + 0x20], ebx
call fcn.180042780
or eax, 0xffffffff
sub eax, dword [rsp + 0x40]
mov rdx, qword [rbp + 0x30]
js 0x1800abdd9
mov r8, qword [rdx + 0x80]
test r8, r8
je 0x1800abdd9
movsxd rcx, eax
mov eax, dword [rbp + 0x3c]
mov dword [r8 + rcx*4], eax
mov eax, dword [rbp + 0x3c]
dec eax
mov dword [rdx + 0x64], eax
mov esi, dword [rsp + 0x150]
mov eax, esi
add rsp, 0x128
pop rdi
pop rsi
pop rbp
pop rbx
ret