Function at 0x18004a8d0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0x38]
sub rsp, 0x138
mov rsi, qword [rcx + 0x10]
mov r10, qword [rcx]
mov rdi, rdx
xor edx, edx
mov r9d, r8d
mov rbx, rcx
mov qword [rsp + 0x78], rsi
mov dword [rbp + 0x60], r8d
mov qword [rsp + 0x60], r10
mov dword [rbp + 0x78], edx
mov dword [rsp + 0x40], edx
test rsi, rsi
je 0x18004b6b4
lea eax, [rdx + 0x65]
test rdi, rdi
je 0x18004a925
movzx eax, byte [rdi]
mov dword [rsp + 0x48], eax
add eax, 0xffffffed
cmp eax, 0x8c
ja case.0x18004a954.21
lea r8, [0x180000000]
cdqe
movzx eax, byte [r8 + rax + 0x4bba0]
mov ecx, dword [r8 + rax*4 + 0x4bb3c]
add rcx, r8
jmp rcx
mov rcx, qword [rdi + 0x38]
movsx rax, word [rdi + 0x32]
shl rax, 5
add rax, qword [rcx + 0x20]
cmp byte [rcx], dl
jne 0x18004a97c
mov edi, dword [rax + 0x14]
mov eax, edi
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
cmp byte [rcx + 1], dl
je case.0x18004a954.152
mov r8d, dword [rcx + 8]
mov dword [rsp + 0x20], r9d
mov r9d, dword [rax + 0x10]
mov edx, 0x5f
mov rcx, rsi
call fcn.18006b510
jmp 0x18004bb2b
mov ecx, dword [rdi + 0x2c]
test ecx, ecx
jns 0x18004a9c5
mov eax, dword [rbx + 0x70]
test eax, eax
jle 0x18004a9c2
movsx edi, word [rdi + 0x30]
add edi, eax
mov eax, edi
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, dword [rbx + 0x74]
movzx eax, byte [rdi + 0x36]
movsx r8d, word [rdi + 0x30]
mov rdx, qword [rdi + 0x40]
mov byte [rsp + 0x28], al
mov dword [rsp + 0x20], r9d
mov r9d, ecx
mov rcx, rbx
call fcn.180049cf0
mov edi, eax
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
call fcn.18001a9c0
jmp 0x18004bb2b
mov rdx, qword [rdi + 8]
xor r8d, r8d
mov rcx, rsi
call fcn.18001abe0
jmp 0x18004bb2b
mov r8, qword [rdi + 8]
mov edx, r9d
mov rcx, rsi
call fcn.1800742b0
jmp 0x18004bb2b
xor r8d, r8d
mov rcx, rsi
lea edx, [r8 + 0x4e]
call fcn.18006b4a0
jmp 0x18004bb2b
mov rax, qword [rdi + 8]
add rax, 2
je 0x18004aa60
or rdx, 0xffffffffffffffff
inc rdx
cmp byte [rax + rdx], 0
jne 0x18004aa51
and edx, 0x3fffffff
mov rcx, qword [rsi]
lea ebx, [rdx - 1]
mov rdx, rax
mov r8d, ebx
call fcn.1800531f0
mov rcx, qword [rsi + 0x30]
movsxd r8, dword [rsi + 0x3c]
mov rdi, rax
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
mov r10d, eax
cmp dword [rcx + 0x64], r8d
jg 0x18004aaad
mov r9d, dword [rbp + 0x70]
mov r8d, eax
mov edx, 0x50
mov rcx, rsi
mov dword [rsp + 0x20], 0
call fcn.1800296a0
mov r8d, eax
jmp 0x18004aade
mov edx, dword [rbp + 0x70]
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [rsi + 0x3c], eax
mov rax, qword [rsi + 8]
mov dword [rax + rcx*8 + 8], edx
xor edx, edx
mov word [rax + rcx*8], 0x50
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r10d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov rcx, qword [rsi]
cmp byte [rcx + 0x55], 0
je 0x18004aaf7
mov r8, rdi
or edx, 0xffffffff
call fcn.1800264a0
jmp 0x18004bb2b
test r8d, r8d
jns 0x18004ab03
mov r8d, dword [rsi + 0x3c]
dec r8d
movsxd rax, r8d
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x18004ab2d
or r9d, 0xffffffff
mov r8, rdi
mov rcx, rsi
call fcn.1800816e0
jmp 0x18004bb2b
test rdi, rdi
je 0x18004bb2b
mov qword [rdx + 0x10], rdi
mov byte [rdx + 1], 0xff
jmp 0x18004bb2b
movsx r8d, word [rdi + 0x30]
mov edx, 0x51
mov rcx, rsi
call fcn.18006b4a0
mov rax, qword [rdi + 8]
cmp byte [rax + 1], 0
je 0x18004bb2b
movsx rcx, word [rdi + 0x30]
mov rax, qword [rbx + 0x210]
mov rdx, qword [rax + rcx*8 - 8]
mov rcx, qword [rsi]
cmp byte [rcx + 0x55], 0
je 0x18004ab8f
mov r8, rdx
mov edx, 0xfffffffe
call fcn.1800264a0
jmp 0x18004bb2b
mov eax, dword [rsi + 0x3c]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
cmp byte [rax + rcx*8 + 1], 0
lea r10, [rax + rcx*8]
je 0x18004abc2
mov r8, rdx
mov r9d, 0xfffffffe
mov rcx, rsi
mov rdx, r10
call fcn.1800816e0
jmp 0x18004bb2b
mov edi, dword [rbp + 0x60]
test rdx, rdx
je 0x18004bb2e
mov qword [r10 + 0x10], rdx
mov byte [r10 + 1], 0xfe
mov eax, edi
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov edi, dword [rdi + 0x2c]
mov eax, edi
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rdx, qword [rdi + 0x10]
mov r8d, r9d
mov rcx, rbx
call fcn.18004a8d0
mov ecx, eax
mov dword [rbp + 0x60], eax
mov eax, dword [rbp + 0x70]
cmp ecx, eax
je 0x18004ac2a
mov r8d, ecx
mov r9d, eax
mov edx, 0x54
mov rcx, rsi
call fcn.18006b4a0
mov edx, dword [rbp + 0x70]
mov dword [rbp + 0x60], edx
mov rcx, qword [rdi + 8]
xor edx, edx
call fcn.18003b690
mov r8d, dword [rbp + 0x70]
mov edx, 0x5c
movsx r9d, al
mov rcx, rsi
call fcn.18006b4a0
mov edi, dword [rbp + 0x60]
mov r8d, 1
mov edx, edi
mov rcx, rbx
call fcn.1800495f0
mov eax, edi
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rdx, qword [rdi + 0x10]
lea r8, [rbp + 0x78]
mov rcx, rbx
call fcn.18004bc30
mov rsi, qword [rbp + 0x68]
lea r8, [rsp + 0x40]
mov rdx, qword [rsi + 0x18]
mov rcx, rbx
mov edi, eax
call fcn.18004bc30
mov r9d, dword [rsp + 0x48]
mov dword [rsp + 0x38], 0x20
mov edx, dword [rbp + 0x70]
mov r8, qword [rsi + 0x18]
mov rcx, rbx
mov dword [rsp + 0x30], edx
mov rdx, qword [rsi + 0x10]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edi
call fcn.18001a3b0
jmp 0x18004b56a
mov rdx, qword [rdi + 0x10]
lea r8, [rbp + 0x78]
mov rcx, rbx
call fcn.18004bc30
mov rsi, qword [rbp + 0x68]
lea r8, [rsp + 0x40]
mov rdx, qword [rsi + 0x18]
mov rcx, rbx
mov edi, eax
call fcn.18004bc30
xor r9d, r9d
cmp dword [rsp + 0x48], 0x1d
sete r9b
mov dword [rsp + 0x38], 0xa0
add r9d, 0x24
jmp 0x18004ac9f
mov rdx, qword [rdi + 0x10]
lea r8, [rbp + 0x78]
mov rcx, rbx
call fcn.18004bc30
mov rdx, qword [rbp + 0x68]
lea r8, [rsp + 0x40]
mov rdx, qword [rdx + 0x18]
mov rcx, rbx
mov edi, eax
call fcn.18004bc30
mov edx, dword [rbp + 0x70]
mov r9d, edi
mov dword [rsp + 0x20], edx
mov edx, dword [rsp + 0x48]
mov r8d, eax
mov rcx, rsi
call fcn.18006b510
jmp 0x18004b56a
mov rax, qword [rdi + 0x10]
movzx ecx, byte [rax]
cmp cl, 0x84
jne 0x18004ad6e
mov r8d, 1
mov rdx, rax
mov rcx, rbx
call fcn.18001a9c0
mov edi, dword [rbp + 0x70]
jmp 0x18004b56d
cmp cl, 0x85
jne 0x18004ad8d
mov rdx, qword [rax + 8]
mov r8d, 1
mov rcx, rsi
call fcn.18001abe0
mov edi, dword [rbp + 0x70]
jmp 0x18004b56d
lea r8, [rbp + 0x78]
lea rdx, [rbp - 0x70]
mov rcx, rbx
mov byte [rbp - 0x70], 0x84
mov qword [rbp - 0x6c], 0x4400
call fcn.18004bc30
mov rdx, qword [rbp + 0x68]
lea r8, [rsp + 0x40]
mov rcx, rbx
mov rdx, qword [rdx + 0x10]
mov edi, eax
call fcn.18004bc30
mov edx, dword [rbp + 0x70]
mov r9d, edi
mov dword [rsp + 0x20], edx
mov edx, 0x30
mov r8d, eax
mov rcx, rsi
call fcn.18006b510
mov edi, dword [rbp + 0x70]
jmp 0x18004b56d
mov rdx, qword [rdi + 0x10]
lea r8, [rbp + 0x78]
mov rcx, rbx
call fcn.18004bc30
mov edi, dword [rbp + 0x70]
mov edx, dword [rsp + 0x48]
mov r9d, edi
mov r8d, eax
mov rcx, rsi
call fcn.18006b4a0
jmp 0x18004b56d
mov edx, 0x4b
mov rcx, rsi
lea r8d, [rdx - 0x4a]
call fcn.18006b4a0
mov rdx, qword [rdi + 0x10]
lea r8, [rbp + 0x78]
mov rcx, rbx
call fcn.18004bc30
mov edx, dword [rsp + 0x48]
mov rcx, rsi
mov r8d, eax
call fcn.18006b430
mov r9d, dword [rbp + 0x70]
xor r8d, r8d
lea edx, [r8 + 0x4b]
mov rcx, rsi
mov edi, eax
call fcn.18006b4a0
mov edx, edi
mov rcx, rsi
call fcn.180073d80
jmp 0x18004b56a
mov rdx, qword [rdi + 0x38]
test rdx, rdx
jne 0x18004ae81
mov r8, qword [rdi + 8]
lea rdx, str.misuse_of_aggregate:__s__
mov rcx, rbx
call fcn.180048910
jmp 0x18004bb2b
movsx rax, word [rdi + 0x32]
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x30]
mov edi, dword [rax + rcx*8 + 0x10]
mov eax, edi
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
test dword [rdi + 4], 0x4000
mov dword [rsp + 0x48], edx
mov qword [rsp + 0x68], rdx
je 0x18004afb9
mov qword [rsp + 0x70], rdx
mov eax, edx
mov dword [rbp + 0x78], edx
mov rcx, qword [rdi + 8]
movzx r9d, byte [r10 + 0x52]
mov byte [rsp + 0x20], dl
mov qword [rsp + 0x50], rcx
mov rdx, rcx
mov r8d, eax
mov rcx, r10
call fcn.18004d690
mov qword [rsp + 0x58], rax
test rax, rax
je 0x18004b382
cmp qword [rax + 0x20], 0
jne 0x18004b382
movzx ecx, word [rax + 2]
mov eax, 0x200
test ax, cx
je 0x18004afd5
mov rcx, rsi
call fcn.180074380
mov rdx, qword [rsp + 0x70]
mov r8d, dword [rbp + 0x70]
mov rdx, qword [rdx + 8]
mov rcx, rbx
mov dword [rsp + 0x50], eax
mov rdx, qword [rdx]
call fcn.180049840
mov eax, dword [rbp + 0x78]
cmp eax, 1
jle 0x18004afa8
lea edx, [rax - 1]
mov qword [rbp + 0x78], 0x28
mov edi, 1
mov qword [rsp + 0x60], rdx
nop dword [rax]
mov r9d, dword [rsp + 0x50]
mov r8d, dword [rbp + 0x70]
mov edx, 0x23
mov rcx, rsi
call fcn.18006b4a0
mov edx, dword [rbp + 0x70]
mov r8d, edi
mov rcx, rbx
call fcn.1800495f0
inc dword [rbx + 0x78]
mov rax, qword [rsp + 0x70]
mov rdx, qword [rax + 8]
mov rax, qword [rbp + 0x78]
mov r8d, dword [rbp + 0x70]
mov rdx, qword [rdx + rax]
mov rcx, rbx
call fcn.180049840
mov rcx, rbx
call fcn.180049590
add qword [rbp + 0x78], 0x28
dec qword [rsp + 0x60]
jne 0x18004af50
mov edx, dword [rsp + 0x50]
mov rcx, rsi
call fcn.180076730
jmp 0x18004bb2b
mov rcx, qword [rdi + 0x20]
mov qword [rsp + 0x70], rcx
test rcx, rcx
je 0x18004aebb
mov eax, dword [rcx]
mov dword [rbp + 0x78], eax
jmp 0x18004aec0
mov eax, 0x400
test ax, cx
je 0x18004b005
mov rax, qword [rsp + 0x70]
mov r8d, dword [rbp + 0x70]
mov rcx, rbx
mov rdx, qword [rax + 8]
mov rdx, qword [rdx]
call fcn.18004a8d0
mov edi, eax
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, dword [rbp + 0x78]
xor eax, eax
mov edx, eax
mov dword [rsp + 0x40], eax
test ecx, ecx
jle 0x18004b09d
mov rsi, qword [rsp + 0x70]
mov ecx, 1
mov edi, eax
mov dword [rsp + 0x50], ecx
cmp edx, 0x20
jge 0x18004b04a
mov rcx, qword [rsi + 8]
mov rcx, qword [rcx + rdi]
call fcn.18004cbf0
mov ecx, dword [rsp + 0x50]
mov edx, dword [rsp + 0x40]
test eax, eax
je 0x18004b04a
or dword [rsp + 0x48], ecx
mov rax, qword [rsp + 0x58]
test byte [rax + 2], 0x20
je 0x18004b07a
cmp qword [rsp + 0x68], 0
jne 0x18004b07a
mov rdx, qword [rsi + 8]
mov rcx, rbx
mov rdx, qword [rdx + rdi]
call fcn.18004bd90
mov ecx, dword [rsp + 0x50]
mov edx, dword [rsp + 0x40]
mov qword [rsp + 0x68], rax
rol ecx, 1
inc edx
add rdi, 0x28
mov dword [rsp + 0x40], edx
mov dword [rsp + 0x50], ecx
cmp edx, dword [rbp + 0x78]
jl 0x18004b028
mov rsi, qword [rsp + 0x78]
mov rdi, qword [rbp + 0x68]
mov ecx, dword [rbp + 0x78]
xor eax, eax
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x18004b12d
cmp dword [rsp + 0x48], 0
jne 0x18004b0d4
mov r9d, dword [rbx + 0x48]
mov r8d, dword [rbx + 0x4c]
mov dword [rsp + 0x40], r8d
cmp ecx, r9d
jg 0x18004b0d4
lea eax, [r8 + rcx]
sub r9d, ecx
mov dword [rbx + 0x4c], eax
mov dword [rbx + 0x48], r9d
jmp 0x18004b0e5
mov eax, dword [rbx + 0x58]
lea r8d, [rax + 1]
add eax, ecx
mov dword [rsp + 0x40], r8d
mov dword [rbx + 0x58], eax
mov rcx, qword [rsp + 0x58]
test byte [rcx + 2], 0xc0
je 0x18004b10b
mov rax, qword [rdx + 8]
mov r9, qword [rax]
movzx eax, byte [r9]
add al, 0x68
test al, 0xfd
jne 0x18004b10b
movzx eax, byte [rcx + 2]
and al, 0xc0
mov byte [r9 + 0x36], al
inc dword [rbx + 0x78]
xor r9d, r9d
mov rcx, rbx
mov byte [rsp + 0x20], 3
call fcn.180049a50
mov rcx, rbx
call fcn.180049590
mov rdx, qword [rsp + 0x70]
jmp 0x18004b131
mov dword [rsp + 0x40], eax
cmp dword [rbp + 0x78], 2
jl 0x18004b161
test byte [rdi + 4], 0x80
je 0x18004b161
mov r9, qword [rdx + 8]
mov edi, dword [rbp + 0x78]
mov rcx, qword [rsp + 0x60]
mov r9, qword [r9 + 0x28]
mov rdx, qword [rsp + 0x58]
mov r8d, edi
call fcn.180078860
mov qword [rsp + 0x58], rax
jmp 0x18004b18d
mov edi, dword [rbp + 0x78]
test edi, edi
jle 0x18004b188
mov r9, qword [rdx + 8]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
mov r9, qword [r9]
mov r8d, edi
call fcn.180078860
mov qword [rsp + 0x58], rax
jmp 0x18004b18d
mov rax, qword [rsp + 0x58]
test byte [rax + 2], 0x20
je 0x18004b267
cmp qword [rsp + 0x68], 0
jne 0x18004b1ad
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x68], rax
mov rax, qword [rsi + 0x30]
movsxd r8, dword [rsi + 0x3c]
cmp dword [rax + 0x64], r8d
jg 0x18004b1da
xor r9d, r9d
xor r8d, r8d
mov rcx, rsi
lea edx, [r9 + 0x57]
mov dword [rsp + 0x20], 0
call fcn.1800296a0
mov r8d, eax
jmp 0x18004b204
lea rcx, [r8 + r8*2]
xor edx, edx
lea eax, [r8 + 1]
mov dword [rsi + 0x3c], eax
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], 0x57
mov byte [rax + rcx*8 + 3], 0
mov qword [rax + rcx*8 + 4], rdx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov rcx, qword [rsi]
cmp byte [rcx + 0x55], 0
je 0x18004b21e
mov r8, qword [rsp + 0x68]
mov edx, 0xfffffffc
call fcn.1800264a0
jmp 0x18004b267
test r8d, r8d
jns 0x18004b22a
mov r8d, dword [rsi + 0x3c]
dec r8d
movsxd rax, r8d
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x18004b255
mov r8, qword [rsp + 0x68]
mov r9d, 0xfffffffc
mov rcx, rsi
call fcn.1800816e0
jmp 0x18004b267
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x18004b267
mov qword [rdx + 0x10], rax
mov byte [rdx + 1], 0xfc
mov rax, qword [rsi + 0x30]
movsxd r8, dword [rsi + 0x3c]
cmp dword [rax + 0x64], r8d
jg 0x18004b298
mov eax, dword [rbp + 0x70]
mov r9d, dword [rsp + 0x40]
mov r8d, dword [rsp + 0x48]
mov edx, 0x58
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.1800296a0
mov r8d, eax
jmp 0x18004b2d2
mov edx, dword [rsp + 0x48]
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [rsi + 0x3c], eax
mov rax, qword [rsi + 8]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x40]
mov word [rax + rcx*8], 0x58
mov dword [rax + rcx*8 + 8], edx
mov edx, dword [rbp + 0x70]
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], 0
mov rcx, qword [rsi]
cmp byte [rcx + 0x55], 0
je 0x18004b2ec
mov r8, qword [rsp + 0x58]
mov edx, 0xfffffffb
call fcn.1800264a0
jmp 0x18004b330
test r8d, r8d
jns 0x18004b2f8
mov r8d, dword [rsi + 0x3c]
dec r8d
movsxd rax, r8d
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x18004b323
mov r8, qword [rsp + 0x58]
mov r9d, 0xfffffffb
mov rcx, rsi
call fcn.1800816e0
jmp 0x18004b330
mov rax, qword [rsp + 0x58]
mov byte [rdx + 1], 0xfb
mov qword [rdx + 0x10], rax
mov rax, qword [rsi]
cmp byte [rax + 0x55], 0
jne 0x18004b34a
movsxd rax, dword [rsi + 0x3c]
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
mov byte [rax + rcx*8 - 0x15], dil
test edi, edi
je 0x18004bb2b
cmp dword [rsp + 0x48], 0
jne 0x18004bb2b
mov esi, dword [rsp + 0x40]
mov r8d, edi
mov rcx, rbx
mov edx, esi
call fcn.1800495f0
cmp edi, dword [rbx + 0x48]
jle 0x18004bb2b
mov dword [rbx + 0x48], edi
mov dword [rbx + 0x4c], esi
jmp 0x18004bb2b
mov r8, qword [rsp + 0x50]
lea rdx, str.unknown_function:__s__
mov rcx, rbx
call fcn.180048910
jmp 0x18004bb2b
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
call fcn.180042fa0
mov edi, eax
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rcx, rsi
call fcn.180074380
mov rcx, rsi
mov edi, eax
call fcn.180074380
mov r9d, dword [rbp + 0x70]
mov rcx, qword [rsp + 0x78]
xor r8d, r8d
mov esi, eax
lea edx, [r8 + 0x4e]
call fcn.18006b4a0
mov rdx, qword [rbp + 0x68]
mov r9d, esi
mov r8d, edi
mov rcx, rbx
call fcn.18004a020
mov rbx, qword [rsp + 0x78]
mov r9d, dword [rbp + 0x70]
mov edx, 0x4b
mov rcx, rbx
lea r8d, [rdx - 0x4a]
call fcn.18006b4a0
mov edx, edi
mov rcx, rbx
call fcn.180076730
mov r8d, dword [rbp + 0x70]
xor r9d, r9d
lea edx, [r9 + 0x5a]
call fcn.18006b4a0
mov edx, esi
mov rcx, rbx
call fcn.180076730
jmp 0x18004bb2b
mov rcx, qword [rdi + 0x10]
mov rax, qword [rdi + 0x20]
lea r8, [rbp + 0x78]
mov rdi, qword [rax + 8]
mov qword [rsp + 0x78], rcx
mov rdx, rcx
mov rax, qword [rdi]
mov rcx, rbx
mov qword [rsp + 0x60], rax
call fcn.18004bc30
mov rdx, qword [rsp + 0x60]
lea r8, [rsp + 0x40]
mov rcx, rbx
mov dword [rsp + 0x58], eax
call fcn.18004bc30
movzx ecx, byte [rbx + 0x1f]
mov edx, eax
test cl, cl
jne 0x18004b488
inc dword [rbx + 0x58]
mov ecx, dword [rbx + 0x58]
jmp 0x18004b494
dec cl
movzx eax, cl
mov byte [rbx + 0x1f], al
mov ecx, dword [rbx + rax*4 + 0x28]
movzx eax, byte [rbx + 0x1f]
mov dword [rsp + 0x48], ecx
test al, al
jne 0x18004b4a8
inc dword [rbx + 0x58]
mov eax, dword [rbx + 0x58]
jmp 0x18004b4b4
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov eax, dword [rbx + rax*4 + 0x28]
mov r8, qword [rsp + 0x60]
mov dword [rsp + 0x38], 0x20
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], edx
mov rdx, qword [rsp + 0x78]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x58]
mov r9d, 0x29
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.18001a3b0
mov edx, dword [rsp + 0x40]
mov rdi, qword [rdi + 0x28]
mov rcx, rbx
call fcn.18005fab0
lea r8, [rsp + 0x40]
mov rdx, rdi
call fcn.18004bc30
mov ecx, dword [rsp + 0x50]
mov rdx, qword [rsp + 0x78]
mov dword [rsp + 0x38], 0x20
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x58]
mov r9d, 0x27
mov r8, rdi
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.18001a3b0
mov eax, dword [rbp + 0x70]
mov r9d, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x48]
mov edx, 0x1c
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.18006b510
mov edx, dword [rsp + 0x48]
mov rcx, rbx
call fcn.18005fab0
mov edx, dword [rsp + 0x50]
call fcn.18005fab0
mov edi, dword [rbp + 0x60]
xor eax, eax
cmp dword [rbp + 0x78], eax
je 0x18004b5b9
movzx r9d, byte [rbx + 0x1f]
cmp r9b, 8
jae 0x18004b5b9
mov edx, eax
lea rcx, [rbx + 0x90]
nop dword [rax + rax]
mov r8d, dword [rbp + 0x78]
cmp dword [rcx + 0xc], r8d
je 0x18004b5b5
inc edx
add rcx, 0x14
cmp edx, 0xa
jl 0x18004b590
movzx eax, r9b
mov dword [rbx + rax*4 + 0x28], r8d
inc byte [rbx + 0x1f]
xor eax, eax
jmp 0x18004b5b9
mov byte [rcx + 6], 1
cmp dword [rsp + 0x40], 0
je 0x18004bb2e
movzx r8d, byte [rbx + 0x1f]
cmp r8b, 8
jae 0x18004bb2e
lea rcx, [rbx + 0x90]
nop word [rax + rax]
mov edx, dword [rsp + 0x40]
cmp dword [rcx + 0xc], edx
je 0x18004b60d
inc eax
add rcx, 0x14
cmp eax, 0xa
jl 0x18004b5e0
movzx eax, r8b
mov dword [rbx + rax*4 + 0x28], edx
inc byte [rbx + 0x1f]
mov eax, edi
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov byte [rcx + 6], 1
mov eax, edi
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rdx, qword [rdi + 0x10]
mov r8d, r9d
mov rcx, rbx
call fcn.18004a8d0
mov edi, eax
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rbx, qword [rdi + 0x40]
movsx eax, word [rdi + 0x30]
mov edx, 0x8e
movsx ecx, word [rbx + 0x3e]
lea r8d, [rax + 1]
inc ecx
imul ecx, dword [rdi + 0x2c]
add r8d, ecx
mov rcx, rsi
call fcn.18006b4a0
movzx eax, word [rdi + 0x30]
test ax, ax
js 0x18004bb2b
movsx rcx, ax
mov rax, qword [rbx + 8]
shl rcx, 5
cmp byte [rcx + rax + 0x19], 0x45
jne 0x18004bb2b
mov r8d, dword [rbp + 0x70]
mov edx, 0x5b
mov rcx, rsi
call fcn.18006b430
jmp 0x18004bb2b
cmp qword [rbx + 0x1d0], rdx
jne 0x18004b6c2
lea rdx, str.RAISE___may_only_be_used_within_a_trigger_program
mov rcx, rbx
call fcn.180048910
xor eax, eax
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret
cmp byte [rdi + 1], 2
jne 0x18004b6dd
mov rax, qword [rbx + 0x1c8]
mov rcx, rbx
test rax, rax
cmovne rcx, rax
mov byte [rcx + 0x21], 1
movzx eax, byte [rdi + 1]
cmp al, 4
jne 0x18004b78a
mov rax, qword [rsi + 0x30]
movsxd r8, dword [rsi + 0x3c]
mov rbx, qword [rdi + 8]
cmp dword [rax + 0x64], r8d
jg 0x18004b719
mov r9d, 4
mov dword [rsp + 0x20], edx
xor r8d, r8d
lea edx, [r9 + 0x46]
mov rcx, rsi
call fcn.1800296a0
mov r8d, eax
jmp 0x18004b744
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [rsi + 0x3c], eax
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], 0x4a
mov byte [rax + rcx*8 + 3], dl
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 4
mov qword [rax + rcx*8 + 0x10], rdx
mov rcx, qword [rsi]
cmp byte [rcx + 0x55], 0
je 0x18004b75c
mov r8, rbx
xor edx, edx
call fcn.1800264a0
jmp 0x18004bb2b
test r8d, r8d
jns 0x18004b768
mov r8d, dword [rsi + 0x3c]
dec r8d
movsxd rax, r8d
xor r9d, r9d
mov r8, rbx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
lea rdx, [rax + rcx*8]
mov rcx, rsi
call fcn.1800816e0
jmp 0x18004bb2b
mov r9, qword [rdi + 8]
mov byte [rsp + 0x28], dl
mov byte [rsp + 0x20], dl
movsx r8d, al
mov edx, 0x713
mov rcx, rbx
call fcn.180052f40
jmp 0x18004bb2b
mov rax, qword [rdi + 0x20]
mov qword [rbp + 0x78], rdx
mov rcx, rsi
mov rdx, qword [rax + 8]
mov qword [rbp - 0x80], rax
mov eax, dword [rax]
mov dword [rsp + 0x58], eax
mov qword [rsp + 0x68], rdx
call fcn.180074380
mov rdx, qword [rdi + 0x10]
mov dword [rsp + 0x50], eax
mov qword [rsp + 0x48], rdx
test rdx, rdx
je 0x18004b846
movups xmm0, xmmword [rdx]
lea r8, [rbp + 0x78]
mov rcx, rbx
movaps xmmword [rbp - 0x70], xmm0
movups xmm1, xmmword [rdx + 0x10]
movaps xmmword [rbp - 0x60], xmm1
movups xmm0, xmmword [rdx + 0x20]
movaps xmmword [rbp - 0x50], xmm0
movups xmm1, xmmword [rdx + 0x30]
movaps xmmword [rbp - 0x40], xmm1
movsd xmm0, qword [rdx + 0x40]
movsd qword [rbp - 0x30], xmm0
call fcn.18004bc30
movzx ecx, byte [rbp - 0x70]
and dword [rbp - 0x6c], 0xffffefff
mov rdx, qword [rsp + 0x48]
mov dword [rbp - 0x44], eax
lea r10, [rbp - 0x20]
lea rax, [rbp - 0x70]
mov byte [rbp - 0x3a], cl
mov byte [rbp - 0x70], 0x9d
mov byte [rbp - 0x20], 0x25
mov qword [rbp + 0x78], r10
mov qword [rbp - 0x10], rax
jmp 0x18004b84a
mov r10, qword [rbp + 0x78]
mov eax, dword [rsp + 0x58]
mov edi, dword [rbp + 0x70]
mov qword [rsp + 0x60], 0xa
dec eax
movsxd rcx, eax
test eax, eax
jle 0x18004ba29
mov rax, qword [rsp + 0x68]
dec rcx
shr rcx, 1
inc rcx
mov qword [rsp + 0x70], rcx
nop word [rax + rax]
inc dword [rbx + 0x78]
test rdx, rdx
je 0x18004b891
mov rax, qword [rax]
mov qword [rbp - 8], rax
jmp 0x18004b898
mov r10, qword [rax]
mov qword [rbp + 0x78], r10
mov rcx, qword [rsi + 0x30]
mov qword [rsp + 0x40], rcx
mov edx, dword [rcx + 0x80]
mov dword [rbp + 0x70], edx
lea eax, [rdx + 1]
mov dword [rcx + 0x80], eax
lea eax, [rdx - 1]
test edx, eax
jne 0x18004b8ea
lea eax, [rdx*2 + 1]
mov rdx, qword [rcx + 0x88]
mov rcx, qword [rcx]
movsxd r8, eax
shl r8, 2
call fcn.180046460
mov rcx, qword [rsp + 0x40]
mov edx, dword [rbp + 0x70]
mov r10, qword [rbp + 0x78]
mov qword [rcx + 0x88], rax
mov r8, qword [rcx + 0x88]
test r8, r8
je 0x18004b901
movsxd rax, edx
mov dword [r8 + rax*4], 0xffffffff
or eax, 0xffffffff
mov r9d, 0x10
mov rcx, rbx
sub eax, edx
mov rdx, r10
mov r8d, eax
mov dword [rbp + 0x70], eax
call fcn.18004c2d0
mov rdx, qword [rsp + 0x68]
mov r8d, edi
mov rdx, qword [rdx + 0x28]
mov rcx, rbx
call fcn.180049840
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x18004b95e
mov r9d, dword [rsp + 0x50]
xor r8d, r8d
mov rcx, rsi
lea edx, [r8 + 0xd]
mov dword [rsp + 0x20], 0
call fcn.1800296a0
xor edx, edx
jmp 0x18004b990
mov r8d, dword [rsp + 0x50]
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
mov dword [rsi + 0x3c], eax
mov rax, qword [rsi + 8]
xor edx, edx
mov word [rax + rcx*8], 0xd
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
dec dword [rbx + 0x78]
lea rcx, [rbx + 0x9c]
mov r9d, 0xa
mov r8d, dword [rcx]
test r8d, r8d
je 0x18004b9d2
mov eax, dword [rbx + 0x78]
cmp dword [rcx - 4], eax
jle 0x18004b9d2
cmp byte [rcx - 6], 0
je 0x18004b9cd
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x18004b9c9
movzx eax, al
mov dword [rbx + rax*4 + 0x28], r8d
inc byte [rbx + 0x1f]
mov byte [rcx - 6], 0
mov dword [rcx], edx
dec byte [rbx + 0x25]
add rcx, 0x14
dec r9
jne 0x18004b9a0
mov rdx, qword [rsi + 0x30]
mov rcx, qword [rdx + 0x88]
test rcx, rcx
je 0x18004b9ff
movsxd rax, dword [rbp + 0x70]
lea rax, [rax*4 + 4]
sub rcx, rax
mov eax, dword [rsi + 0x3c]
mov dword [rcx], eax
mov eax, dword [rsi + 0x3c]
mov r10, qword [rbp + 0x78]
dec eax
mov dword [rdx + 0x6c], eax
mov rax, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x48]
add rax, 0x50
dec qword [rsp + 0x70]
mov qword [rsp + 0x68], rax
jne 0x18004b880
movsxd rax, dword [rsp + 0x58]
test al, 1
je 0x18004baa9
inc dword [rbx + 0x78]
mov rdx, qword [rbp - 0x80]
lea rcx, [rax + rax*4]
mov rdx, qword [rdx + 8]
mov r8d, edi
mov rdx, qword [rdx + rcx*8 - 0x28]
mov rcx, rbx
call fcn.180049840
dec dword [rbx + 0x78]
xor esi, esi
lea eax, [rsi + 0xa]
lea rcx, [rbx + 0x9c]
mov edx, dword [rcx]
test edx, edx
je 0x18004ba94
mov eax, dword [rbx + 0x78]
cmp dword [rcx - 4], eax
jle 0x18004ba8f
cmp byte [rcx - 6], sil
je 0x18004ba8a
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x18004ba86
movzx eax, al
mov dword [rbx + rax*4 + 0x28], edx
inc byte [rbx + 0x1f]
mov byte [rcx - 6], sil
mov dword [rcx], esi
dec byte [rbx + 0x25]
mov rax, qword [rsp + 0x60]
add rcx, 0x14
dec rax
mov qword [rsp + 0x60], rax
jne 0x18004ba60
mov rsi, qword [rsp + 0x78]
jmp 0x18004bafe
mov rax, qword [rsi + 0x30]
movsxd rcx, dword [rsi + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x18004bad2
xor r8d, r8d
mov r9d, edi
mov rcx, rsi
lea edx, [r8 + 0x4e]
mov dword [rsp + 0x20], 0
call fcn.1800296a0
jmp 0x18004bafe
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
xor edx, edx
mov dword [rsi + 0x3c], eax
mov rax, qword [rsi + 8]
mov word [rax + rcx*8], 0x4e
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov rdx, qword [rsi + 0x30]
mov rcx, qword [rdx + 0x88]
test rcx, rcx
je 0x18004bb23
movsxd rax, dword [rsp + 0x50]
lea rax, [rax*4 + 4]
sub rcx, rax
mov eax, dword [rsi + 0x3c]
mov dword [rcx], eax
mov eax, dword [rsi + 0x3c]
dec eax
mov dword [rdx + 0x6c], eax
mov edi, dword [rbp + 0x60]
mov eax, edi
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret