Function at 0x1400db550
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x28]
sub rsp, 0x128
mov rsi, qword [rcx + 0x10]
xor r15d, r15d
mov r10, qword [rcx]
mov r12d, r8d
mov qword [rsp + 0x68], rsi
mov r14, rdx
mov dword [rbp + 0x60], r8d
mov rdi, rcx
mov dword [rbp + 0x78], r15d
mov dword [rsp + 0x40], r15d
mov qword [rsp + 0x50], r10
test rsi, rsi
jne 0x1400db5b1
xor eax, eax
add rsp, 0x128
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + 0x120], rbx
mov qword [rsp + 0x118], r13
test r14, r14
je case.0x1400db5f8.101
movzx r13d, byte [rdx]
lea eax, [r13 - 0x13]
cmp eax, 0x8c
ja case.0x1400db5f8.21
lea rdx, [0x140000000]
cdqe
movzx eax, byte [rdx + rax + 0xdc71c]
mov ecx, dword [rdx + rax*4 + 0xdc6b8]
add rcx, rdx
jmp rcx
mov rcx, qword [r14 + 0x38]
movsx rax, word [r14 + 0x32]
shl rax, 5
add rax, qword [rcx + 0x20]
cmp byte [rcx], r15b
jne 0x1400db616
mov r11d, dword [rax + 0x14]
jmp 0x1400db639
cmp byte [rcx + 1], r15b
je case.0x1400db5f8.154
mov r9d, dword [rax + 0x10]
mov edx, 0x2f
mov r8d, dword [rcx + 8]
mov dword [rsp + 0x20], r12d
mov rcx, rsi
call fcn.1401089e0
mov r11d, r12d
mov eax, r11d
mov rbx, qword [rsp + 0x120]
mov r13, qword [rsp + 0x118]
add rsp, 0x128
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r9d, dword [r14 + 0x2c]
test r9d, r9d
jns 0x1400db67b
mov eax, dword [rdi + 0x68]
test eax, eax
jle 0x1400db677
movsx r11d, word [r14 + 0x30]
add r11d, eax
jmp 0x1400db639
mov r9d, dword [rdi + 0x6c]
movzx eax, byte [r14 + 0x36]
mov rcx, rdi
movsx r8d, word [r14 + 0x30]
mov rdx, qword [r14 + 0x40]
mov byte [rsp + 0x28], al
mov dword [rsp + 0x20], r12d
call fcn.1400dac90
mov r11d, eax
jmp 0x1400db639
mov r9d, r12d
xor r8d, r8d
mov rdx, r14
mov rcx, rdi
call fcn.140077ed0
jmp 0x1400db636
mov rdx, qword [r14 + 8]
mov r9d, r12d
xor r8d, r8d
mov rcx, rsi
call fcn.140079fd0
jmp 0x1400db636
mov rdi, qword [r14 + 8]
xor r8d, r8d
mov r9d, r12d
mov dword [rsp + 0x20], r15d
mov rcx, rsi
lea edx, [r8 + 0x61]
call fcn.1401089e0
mov r8, qword [rsi + 8]
mov rcx, qword [rsi]
test r8, r8
je 0x1400db636
cmp byte [rcx + 0x51], r15b
jne 0x1400db636
test eax, eax
jns 0x1400db707
mov eax, dword [rsi + 0x3c]
dec eax
cdqe
lea rdx, [rax + rax*2]
lea rbx, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rbx + 0x10]
call fcn.140087680
mov qword [rbx + 0x10], r15
test rdi, rdi
jne 0x1400db732
mov byte [rbx + 1], r15b
jmp 0x1400db636
mov rax, rdi
cmp byte [rdi], r15b
je 0x1400db748
nop word [rax + rax]
inc rax
cmp byte [rax], r15b
jne 0x1400db740
mov rcx, qword [rsi]
sub eax, edi
and eax, 0x3fffffff
mov rdx, rdi
mov r8d, eax
call fcn.1400d6690
mov qword [rbx + 0x10], rax
mov byte [rbx + 1], 0xff
jmp 0x1400db636
mov rdx, qword [r14 + 8]
add rdx, 2
mov rax, rdx
jne 0x1400db77c
mov eax, r15d
jmp 0x1400db790
cmp byte [rdx], r15b
je 0x1400db789
inc rax
cmp byte [rax], r15b
jne 0x1400db781
sub eax, edx
and eax, 0x3fffffff
mov rcx, qword [rsi]
lea ebx, [rax - 1]
mov r8d, ebx
call fcn.1400ec710
mov rdi, rax
mov dword [rsp + 0x20], r15d
mov eax, ebx
mov r9d, r12d
cdq
mov rcx, rsi
sub eax, edx
mov edx, 0x1e
sar eax, 1
mov r8d, eax
call fcn.1401089e0
mov r8, qword [rsi + 8]
mov rcx, qword [rsi]
test r8, r8
je 0x1400db816
cmp byte [rcx + 0x51], r15b
jne 0x1400db816
test eax, eax
jns 0x1400db7db
mov eax, dword [rsi + 0x3c]
dec eax
cdqe
lea rdx, [rax + rax*2]
lea rbx, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rbx + 0x10]
call fcn.140087680
mov r11d, r12d
test rdi, rdi
jne 0x1400db809
mov qword [rbx + 0x10], r15
mov byte [rbx + 1], r15b
jmp 0x1400db639
mov qword [rbx + 0x10], rdi
mov byte [rbx + 1], 0xff
jmp 0x1400db639
test rdi, rdi
je 0x1400db636
mov rdx, rdi
call fcn.1400d6010
jmp 0x1400db636
movsx r8d, word [r14 + 0x30]
mov r9d, r12d
mov edx, 0x1f
mov dword [rsp + 0x20], r15d
mov rcx, rsi
call fcn.1401089e0
mov rax, qword [r14 + 8]
cmp byte [rax + 1], r15b
je 0x1400db636
movsx rcx, word [r14 + 0x30]
mov rax, qword [rdi + 0x208]
mov r8, qword [rsi + 8]
mov rdi, qword [rax + rcx*8 - 8]
mov rcx, qword [rsi]
test r8, r8
je 0x1400db636
cmp byte [rcx + 0x51], r15b
jne 0x1400db636
movsxd rax, dword [rsi + 0x3c]
lea rdx, [rax + rax*2]
lea rbx, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 - 0x17]
mov r8, qword [rbx - 8]
call fcn.140087680
mov r11d, r12d
test rdi, rdi
jne 0x1400db8af
mov qword [rbx - 8], r15
mov byte [rbx - 0x17], r15b
jmp 0x1400db639
mov qword [rbx - 8], rdi
mov byte [rbx - 0x17], 0xfe
jmp 0x1400db639
mov r11d, dword [r14 + 0x2c]
jmp 0x1400db639
mov rdx, qword [r14 + 0x10]
mov rcx, rdi
call fcn.1400db550
mov r11d, eax
jmp 0x1400db639
mov rdx, qword [r14 + 0x10]
mov rcx, rdi
call fcn.1400db550
mov dword [rbp + 0x60], eax
cmp eax, r12d
je 0x1400db909
mov r9d, r12d
mov dword [rsp + 0x20], r15d
mov r8d, eax
mov edx, 0x22
mov rcx, rsi
call fcn.1401089e0
mov dword [rbp + 0x60], r12d
mov rcx, qword [r14 + 8]
xor edx, edx
call fcn.1400ca5b0
movsx r9d, al
mov r8d, r12d
mov edx, 0x28
mov dword [rsp + 0x20], r15d
mov rcx, rsi
call fcn.1401089e0
mov r11d, dword [rbp + 0x60]
mov r8d, 1
mov edx, r11d
mov rcx, rdi
call fcn.1400da510
jmp 0x1400db639
mov rdx, qword [r14 + 0x10]
lea r8, [rbp + 0x78]
mov rcx, rdi
call fcn.1400dc7b0
mov rdx, qword [r14 + 0x18]
lea r8, [rsp + 0x40]
mov rcx, rdi
mov ebx, eax
call fcn.1400dc7b0
mov r9d, r13d
mov dword [rsp + 0x38], 0x20
mov r8, qword [r14 + 0x18]
mov rcx, rdi
mov rdx, qword [r14 + 0x10]
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ebx
call fcn.140077940
jmp 0x1400dc1f9
mov rdx, qword [r14 + 0x10]
lea r8, [rbp + 0x78]
mov rcx, rdi
call fcn.1400dc7b0
mov rdx, qword [r14 + 0x18]
lea r8, [rsp + 0x40]
mov rcx, rdi
mov ebx, eax
call fcn.1400dc7b0
cmp r13d, 0x49
mov dword [rsp + 0x38], 0xa0
mov r9d, r15d
sete r9b
add r9d, 0x4e
jmp 0x1400db975
mov rdx, qword [r14 + 0x10]
lea r8, [rbp + 0x78]
mov rcx, rdi
call fcn.1400dc7b0
mov rdx, qword [r14 + 0x18]
lea r8, [rsp + 0x40]
mov rcx, rdi
mov ebx, eax
call fcn.1400dc7b0
mov r9d, ebx
mov dword [rsp + 0x20], r12d
mov r8d, eax
mov edx, r13d
mov rcx, rsi
call fcn.1401089e0
jmp 0x1400dc1f9
mov rdx, qword [r14 + 0x10]
movzx eax, byte [rdx]
cmp al, 0x84
jne 0x1400dba32
mov r9d, r12d
mov r8d, 1
mov rcx, rdi
call fcn.140077ed0
jmp 0x1400dc1f9
cmp al, 0x85
jne 0x1400dba50
mov rdx, qword [rdx + 8]
mov r9d, r12d
mov r8d, 1
mov rcx, rsi
call fcn.140079fd0
jmp 0x1400dc1f9
lea r8, [rbp + 0x78]
mov byte [rsp + 0x70], 0x84
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x74], 0x4400
mov rcx, rdi
call fcn.1400dc7b0
mov rdx, qword [r14 + 0x10]
lea r8, [rsp + 0x40]
mov rcx, rdi
mov ebx, eax
call fcn.1400dc7b0
mov r9d, ebx
mov dword [rsp + 0x20], r12d
mov r8d, eax
mov edx, 0x5a
mov rcx, rsi
call fcn.1401089e0
jmp 0x1400dc1f9
mov rdx, qword [r14 + 0x10]
lea r8, [rbp + 0x78]
mov rcx, rdi
call fcn.1400dc7b0
mov r9d, r12d
mov dword [rsp + 0x20], r15d
mov r8d, eax
mov edx, r13d
mov rcx, rsi
call fcn.1401089e0
jmp 0x1400dc1f9
mov edx, 0x19
mov dword [rsp + 0x20], r15d
mov r9d, r12d
mov rcx, rsi
lea r8d, [rdx - 0x18]
call fcn.1401089e0
mov rdx, qword [r14 + 0x10]
lea r8, [rbp + 0x78]
mov rcx, rdi
call fcn.1400dc7b0
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, eax
mov edx, r13d
mov rcx, rsi
call fcn.1401089e0
xor r8d, r8d
mov ebx, eax
mov r9d, r12d
mov dword [rsp + 0x20], r15d
mov rcx, rsi
lea edx, [r8 + 0x19]
call fcn.1401089e0
mov edx, dword [rsi + 0x3c]
cmp edx, ebx
jbe 0x1400dbb38
mov rax, qword [rsi + 8]
lea rcx, [rbx + rbx*2]
mov dword [rax + rcx*8 + 8], edx
mov edx, dword [rsi + 0x3c]
mov rax, qword [rsi + 0x30]
lea ecx, [rdx - 1]
mov dword [rax + 0x64], ecx
jmp 0x1400dc1f9
mov rdx, qword [r14 + 0x38]
test rdx, rdx
jne 0x1400dbb68
mov r8, qword [r14 + 8]
lea rdx, str.misuse_of_aggregate:__s__
mov rcx, rdi
call fcn.1400d9350
jmp 0x1400db636
movsx rax, word [r14 + 0x32]
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x30]
mov r11d, dword [rax + rcx*8 + 0x10]
jmp 0x1400db639
test dword [r14 + 4], 0x4000
movzx ecx, byte [r10 + 0x4e]
mov dword [rbp + 0x78], r15d
mov qword [rsp + 0x58], r15
je 0x1400dbbb5
mov qword [rsp + 0x40], r15
mov r13d, r15d
mov rax, qword [r14 + 8]
mov qword [rsp + 0x60], rax
mov rbx, rax
test rax, rax
jne 0x1400dbbc8
mov ebx, r15d
jmp 0x1400dbbe0
mov rax, qword [r14 + 0x20]
mov qword [rsp + 0x40], rax
test rax, rax
je 0x1400dbb9c
mov r13d, dword [rax]
jmp 0x1400dbb9f
cmp byte [rax], r15b
je 0x1400dbbd8
nop dword [rax]
inc rbx
cmp byte [rbx], r15b
jne 0x1400dbbd0
sub ebx, eax
and ebx, 0x3fffffff
mov byte [rsp + 0x28], r15b
mov r9d, r13d
mov byte [rsp + 0x20], cl
mov r8d, ebx
mov rcx, r10
mov rdx, rax
call fcn.1400de930
mov qword [rsp + 0x48], rax
mov rdx, rax
test rax, rax
je 0x1400dbfaf
cmp qword [rax + 0x18], r15
je 0x1400dbfaf
movzx eax, word [rax + 2]
bt ax, 9
jae 0x1400dbce2
mov rcx, rsi
call fcn.140112390
mov rbx, qword [rsp + 0x40]
mov r8d, r12d
mov rcx, rdi
mov dword [rbp + 0x70], eax
mov rdx, qword [rbx + 8]
mov rdx, qword [rdx]
call fcn.1400daa50
cmp r13d, 1
jle 0x1400dbcaf
mov r14d, 0x28
dec r13d
nop word [rax + rax]
mov r9d, dword [rbp + 0x70]
mov r8d, r12d
mov edx, 0x4d
mov dword [rsp + 0x20], r15d
mov rcx, rsi
call fcn.1401089e0
mov r8d, 1
mov edx, r12d
mov rcx, rdi
call fcn.1400da510
inc dword [rdi + 0x70]
mov r8d, r12d
mov rdx, qword [rbx + 8]
mov rdx, qword [r14 + rdx]
call fcn.1400daa50
mov rcx, rdi
call fcn.1400da2b0
lea r14, [r14 + 0x28]
sub r13, 1
jne 0x1400dbc60
mov r14d, 0xffffffff
sub r14d, dword [rbp + 0x70]
mov rdx, qword [rsi + 0x30]
js 0x1400dbcd5
mov r8, qword [rdx + 0x80]
test r8, r8
je 0x1400dbcd5
mov eax, dword [rsi + 0x3c]
movsxd rcx, r14d
mov dword [r8 + rcx*4], eax
mov eax, dword [rsi + 0x3c]
dec eax
mov dword [rdx + 0x64], eax
jmp 0x1400db636
bt ax, 0xa
jae 0x1400dbd05
mov rdx, qword [rsp + 0x40]
mov r8d, r12d
mov rcx, rdi
mov rdx, qword [rdx + 8]
mov rdx, qword [rdx]
call fcn.1400daa50
jmp 0x1400db636
mov ebx, r15d
test r13d, r13d
jle 0x1400dbd8f
mov r12, qword [rsp + 0x40]
mov rsi, r15
mov r15d, ebx
mov r14d, ebx
nop
cmp ebx, 0x20
jae 0x1400dbd47
mov rax, qword [r12 + 8]
xor r8d, r8d
mov rcx, qword [rsi + rax]
lea edx, [r8 + 1]
call fcn.140082420
mov rdx, qword [rsp + 0x48]
test eax, eax
je 0x1400dbd47
bts r14d, ebx
test byte [rdx + 2], 0x20
je 0x1400dbd6b
test r15, r15
jne 0x1400dbd6b
mov rdx, qword [r12 + 8]
mov rcx, rdi
mov rdx, qword [rdx + rsi]
call fcn.1400dc920
mov rdx, qword [rsp + 0x48]
mov r15, rax
inc ebx
add rsi, 0x28
cmp ebx, r13d
jl 0x1400dbd20
mov rsi, qword [rsp + 0x68]
mov r12d, dword [rbp + 0x70]
mov qword [rsp + 0x58], r15
xor r15d, r15d
mov dword [rbp + 0x78], r14d
mov r14, qword [rbp + 0x68]
mov rcx, qword [rsp + 0x40]
mov ebx, dword [rbp + 0x78]
test rcx, rcx
je 0x1400dbe15
test ebx, ebx
jne 0x1400dbdc1
mov r9d, dword [rdi + 0x44]
mov r8d, dword [rdi + 0x48]
mov dword [rbp + 0x70], r8d
cmp r13d, r9d
jg 0x1400dbdc1
lea eax, [r8 + r13]
sub r9d, r13d
mov dword [rdi + 0x48], eax
mov dword [rdi + 0x44], r9d
jmp 0x1400dbdd2
mov eax, dword [rdi + 0x54]
lea r8d, [rax + 1]
add eax, r13d
mov dword [rdi + 0x54], eax
mov dword [rbp + 0x70], r8d
movzx r9d, word [rdx + 2]
test r9b, 0xc0
je 0x1400dbdf5
mov rax, qword [rcx + 8]
mov rdx, qword [rax]
movzx eax, byte [rdx]
add al, 0x66
test al, 0xfd
jne 0x1400dbdf5
and r9b, 0xc0
mov byte [rdx + 0x36], r9b
inc dword [rdi + 0x70]
mov rdx, rcx
mov rcx, rdi
mov r9b, 3
call fcn.1400dab40
mov rcx, rdi
call fcn.1400da2b0
mov rcx, qword [rsp + 0x40]
jmp 0x1400dbe19
mov dword [rbp + 0x70], r15d
cmp r13d, 2
jl 0x1400dbe45
test byte [r14 + 4], 0x80
je 0x1400dbe4a
mov r9, qword [rcx + 8]
mov r9, qword [r9 + 0x28]
mov rdx, qword [rsp + 0x48]
mov r8d, r13d
mov rcx, qword [rsp + 0x50]
call fcn.140115ee0
mov r14, rax
jmp 0x1400dbe58
test r13d, r13d
jle 0x1400dbe53
mov r9, qword [rcx + 8]
mov r9, qword [r9]
jmp 0x1400dbe2e
mov r14, qword [rsp + 0x48]
test byte [r14 + 2], 0x20
je 0x1400dbef0
cmp qword [rsp + 0x58], 0
jne 0x1400dbe79
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x58], rax
xor r9d, r9d
mov dword [rsp + 0x20], r15d
xor r8d, r8d
mov rcx, rsi
lea edx, [r9 + 0x24]
call fcn.1401089e0
mov r8, qword [rsi + 8]
mov rcx, qword [rsi]
test r8, r8
je 0x1400dbef0
cmp byte [rcx + 0x51], 0
jne 0x1400dbef0
test eax, eax
jns 0x1400dbeab
mov eax, dword [rsi + 0x3c]
dec eax
cdqe
lea rdx, [rax + rax*2]
lea rax, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rax + 0x10]
mov qword [rsp + 0x50], rax
call fcn.140087680
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
test rax, rax
jne 0x1400dbee1
mov qword [rcx + 0x10], r15
mov byte [rcx + 1], al
jmp 0x1400dbef0
mov qword [rcx + 0x10], rax
mov byte [rcx + 1], 0xfc
nop dword [rax]
mov r15d, dword [rbp + 0x70]
mov r8d, ebx
mov r9d, r15d
mov dword [rsp + 0x20], r12d
mov edx, 1
mov rcx, rsi
call fcn.1401089e0
mov r8, qword [rsi + 8]
mov rcx, qword [rsi]
test r8, r8
je 0x1400dbf50
cmp byte [rcx + 0x51], 0
jne 0x1400dbf50
test eax, eax
jns 0x1400dbf27
mov eax, dword [rsi + 0x3c]
dec eax
cdqe
lea rdx, [rax + rax*2]
lea rbx, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rbx + 0x10]
call fcn.140087680
mov qword [rbx + 0x10], r14
mov byte [rbx + 1], 0xfb
mov ebx, dword [rbp + 0x78]
jmp 0x1400dbf5f
test byte [r14 + 2], 0x10
je 0x1400dbf5f
mov rdx, r14
call fcn.1400d6010
mov rdx, qword [rsi + 8]
test rdx, rdx
je 0x1400dbf75
movsxd rax, dword [rsi + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], r13b
test r13d, r13d
je 0x1400dc6ad
test ebx, ebx
jne 0x1400dc6ad
mov r8d, r13d
mov edx, r15d
mov rcx, rdi
call fcn.1400da510
mov r11d, dword [rbp + 0x60]
cmp r13d, dword [rdi + 0x44]
jle 0x1400db639
mov dword [rdi + 0x44], r13d
mov dword [rdi + 0x48], r15d
jmp 0x1400db639
mov r9, qword [rsp + 0x60]
lea rdx, str.unknown_function:__.s__
mov r8d, ebx
mov rcx, rdi
call fcn.1400d9350
jmp 0x1400db636
xor r9d, r9d
xor r8d, r8d
mov rdx, r14
mov rcx, rdi
call fcn.1400d2c20
mov r11d, eax
jmp 0x1400db639
mov rcx, rsi
call fcn.140112390
mov rcx, rsi
mov ebx, eax
call fcn.140112390
xor r8d, r8d
mov dword [rsp + 0x20], r15d
mov r9d, r12d
mov rcx, rsi
mov r13d, eax
lea edx, [r8 + 0x1c]
call fcn.1401089e0
mov r9d, r13d
mov r8d, ebx
mov rdx, r14
mov rcx, rdi
call fcn.1400daef0
mov edx, 0x19
mov dword [rsp + 0x20], r15d
mov r9d, r12d
mov rcx, rsi
lea r8d, [rdx - 0x18]
call fcn.1401089e0
mov r8, qword [rsi + 0x30]
mov r14d, 0xffffffff
mov eax, r14d
sub eax, ebx
js 0x1400dc060
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x1400dc060
movsxd rcx, eax
mov eax, dword [rsi + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rsi + 0x3c]
xor r9d, r9d
dec eax
mov dword [rsp + 0x20], r15d
mov dword [r8 + 0x64], eax
mov rcx, rsi
mov r8d, r12d
lea edx, [r9 + 0x25]
call fcn.1401089e0
sub r14d, r13d
mov r8, qword [rsi + 0x30]
js 0x1400dc09e
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x1400dc09e
mov eax, dword [rsi + 0x3c]
movsxd rcx, r14d
mov dword [rdx + rcx*4], eax
mov eax, dword [rsi + 0x3c]
dec eax
mov dword [r8 + 0x64], eax
jmp 0x1400db636
mov rcx, qword [r14 + 0x10]
lea r8, [rbp + 0x78]
mov rax, qword [r14 + 0x20]
mov rdx, rcx
mov qword [rbp + 0x60], rcx
mov rcx, rdi
mov r13, qword [rax + 8]
mov rbx, qword [r13]
mov qword [rsp + 0x60], rbx
call fcn.1400dc7b0
lea r8, [rsp + 0x40]
mov dword [rbp + 0x70], eax
mov rdx, rbx
mov rcx, rdi
call fcn.1400dc7b0
movzx ecx, byte [rdi + 0x1f]
mov edx, eax
test cl, cl
jne 0x1400dc100
inc dword [rdi + 0x54]
mov ebx, dword [rdi + 0x54]
inc dword [rdi + 0x54]
mov r14d, dword [rdi + 0x54]
jmp 0x1400dc125
sub cl, 1
movzx eax, cl
mov byte [rdi + 0x1f], al
mov ebx, dword [rdi + rax*4 + 0x24]
jne 0x1400dc118
inc dword [rdi + 0x54]
mov r14d, dword [rdi + 0x54]
jmp 0x1400dc125
dec al
movzx eax, al
mov byte [rdi + 0x1f], al
mov r14d, dword [rdi + rax*4 + 0x24]
mov eax, dword [rbp + 0x70]
mov r9d, 0x53
mov r8, qword [rsp + 0x60]
mov rcx, rdi
mov dword [rsp + 0x38], 0x20
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x28], edx
mov rdx, qword [rbp + 0x60]
mov dword [rsp + 0x20], eax
call fcn.140077940
mov edx, dword [rsp + 0x40]
mov r13, qword [r13 + 0x28]
test edx, edx
je 0x1400dc192
movzx r8d, byte [rdi + 0x1f]
cmp r8b, 8
jae 0x1400dc192
mov ecx, r15d
lea rax, [rdi + 0x88]
cmp dword [rax + 0xc], edx
je 0x1400dc18e
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x1400dc174
mov dword [rdi + r8*4 + 0x24], edx
inc byte [rdi + 0x1f]
jmp 0x1400dc192
mov byte [rax + 6], 1
lea r8, [rsp + 0x40]
mov rdx, r13
mov rcx, rdi
call fcn.1400dc7b0
mov rdx, qword [rbp + 0x60]
mov r9d, 0x51
mov dword [rsp + 0x38], 0x20
mov r8, r13
mov dword [rsp + 0x30], r14d
mov rcx, rdi
mov dword [rsp + 0x28], eax
mov eax, dword [rbp + 0x70]
mov dword [rsp + 0x20], eax
call fcn.140077940
mov r9d, r14d
mov dword [rsp + 0x20], r12d
mov r8d, ebx
mov edx, 0x48
mov rcx, rsi
call fcn.1401089e0
mov edx, ebx
mov rcx, rdi
call fcn.1400fbb60
mov edx, r14d
call fcn.1400fbb60
cmp dword [rbp + 0x78], r15d
je 0x1400dc235
movzx r8d, byte [rdi + 0x1f]
cmp r8b, 8
jae 0x1400dc235
mov ecx, r15d
lea rax, [rdi + 0x88]
mov edx, dword [rbp + 0x78]
cmp dword [rax + 0xc], edx
je 0x1400dc231
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x1400dc214
mov dword [rdi + r8*4 + 0x24], edx
inc byte [rdi + 0x1f]
jmp 0x1400dc235
mov byte [rax + 6], 1
mov r11d, r12d
cmp dword [rsp + 0x40], r15d
je 0x1400db639
movzx edx, byte [rdi + 0x1f]
cmp dl, 8
jae 0x1400db639
lea rax, [rdi + 0x88]
mov ecx, dword [rsp + 0x40]
cmp dword [rax + 0xc], ecx
je 0x1400dc279
inc r15d
add rax, 0x14
cmp r15d, 0xa
jl 0x1400dc257
mov dword [rdi + rdx*4 + 0x24], ecx
inc byte [rdi + 0x1f]
jmp 0x1400db639
mov byte [rax + 6], 1
jmp 0x1400db639
mov rbx, qword [r14 + 0x40]
mov r9d, r12d
movsx r8d, word [r14 + 0x30]
mov edx, 0x84
inc r8d
mov dword [rsp + 0x20], r15d
movsx ecx, word [rbx + 0x3e]
inc ecx
imul ecx, dword [r14 + 0x2c]
add r8d, ecx
mov rcx, rsi
call fcn.1401089e0
movsx rax, word [r14 + 0x30]
test ax, ax
js 0x1400db636
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
add rcx, rcx
cmp byte [rax + rcx*8 + 0x29], 0x45
jne 0x1400db636
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, r12d
lea edx, [r9 + 0x27]
jmp 0x1400db62e
cmp qword [rdi + 0x1c8], r15
jne 0x1400dc308
lea rdx, str.RAISE___may_only_be_used_within_a_trigger_program
mov rcx, rdi
call fcn.1400d9350
xor eax, eax
jmp 0x1400db63c
movzx eax, byte [r14 + 1]
cmp al, 2
jne 0x1400dc32b
mov rax, qword [rdi + 0x1c0]
mov rcx, rdi
test rax, rax
cmovne rcx, rax
mov byte [rcx + 0x21], 1
movzx eax, byte [r14 + 1]
mov rbx, qword [r14 + 8]
cmp al, 4
jne 0x1400dc3d1
mov r9d, 4
mov dword [rsp + 0x20], r15d
xor r8d, r8d
mov rcx, rsi
lea edx, [r9 + 0x14]
call fcn.1401089e0
mov r8, qword [rsi + 8]
mov rcx, qword [rsi]
test r8, r8
je 0x1400db636
cmp byte [rcx + 0x51], r15b
jne 0x1400db636
test eax, eax
jns 0x1400dc374
mov eax, dword [rsi + 0x3c]
dec eax
cdqe
lea rdx, [rax + rax*2]
lea rdi, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rdi + 0x10]
call fcn.140087680
mov qword [rdi + 0x10], r15
test rbx, rbx
jne 0x1400dc39f
mov byte [rdi + 1], r15b
jmp 0x1400db636
mov rax, rbx
cmp byte [rbx], r15b
je 0x1400dc3af
inc rax
cmp byte [rax], r15b
jne 0x1400dc3a7
mov rcx, qword [rsi]
sub eax, ebx
and eax, 0x3fffffff
mov rdx, rbx
mov r8d, eax
call fcn.1400d6690
mov qword [rdi + 0x10], rax
mov byte [rdi + 1], 0xff
jmp 0x1400db636
mov rcx, rdi
movsx r14d, al
call fcn.1400ec180
mov rsi, rax
cmp r14d, 2
jne 0x1400dc3f8
mov rcx, qword [rdi + 0x1c0]
test rcx, rcx
cmovne rdi, rcx
mov byte [rdi + 0x21], 1
mov r9d, r14d
mov dword [rsp + 0x20], r15d
mov edx, 0x18
mov r8d, 0x713
mov rcx, rsi
call fcn.1401089e0
mov r8, qword [rsi + 8]
mov rcx, qword [rsi]
test r8, r8
je 0x1400db636
cmp byte [rcx + 0x51], r15b
jne 0x1400db636
test eax, eax
jns 0x1400dc436
mov eax, dword [rsi + 0x3c]
dec eax
cdqe
lea rdx, [rax + rax*2]
lea rdi, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rdi + 0x10]
call fcn.140087680
mov qword [rdi + 0x10], r15
test rbx, rbx
je 0x1400dc396
mov rax, rbx
cmp byte [rbx], r15b
je 0x1400dc3af
inc rax
cmp byte [rax], r15b
jne 0x1400dc468
jmp 0x1400dc3af
mov rbx, qword [r14 + 0x20]
mov rcx, rsi
mov qword [rsp + 0x68], rbx
mov r13, qword [rbx + 8]
mov eax, dword [rbx]
mov qword [rsp + 0x50], r13
mov dword [rbp + 0x70], eax
call fcn.140112390
mov r9, qword [r14 + 0x10]
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x58], r9
test r9, r9
je 0x1400dc514
movups xmm0, xmmword [r9]
lea r8, [rbp + 0x78]
mov rdx, r9
mov rcx, rdi
movaps xmmword [rsp + 0x70], xmm0
movups xmm1, xmmword [r9 + 0x10]
movaps xmmword [rbp - 0x80], xmm1
movups xmm0, xmmword [r9 + 0x20]
movaps xmmword [rbp - 0x70], xmm0
movups xmm1, xmmword [r9 + 0x30]
movaps xmmword [rbp - 0x60], xmm1
movsd xmm0, qword [r9 + 0x40]
movsd qword [rbp - 0x50], xmm0
call fcn.1400dc7b0
movzx ecx, byte [rsp + 0x70]
lea r10, [rbp - 0x40]
and dword [rsp + 0x74], 0xffffefff
mov r9, qword [rsp + 0x58]
mov dword [rbp - 0x64], eax
lea rax, [rsp + 0x70]
mov qword [rbp - 0x30], rax
mov byte [rbp - 0x5a], cl
mov byte [rsp + 0x70], 0x9f
mov byte [rbp - 0x40], 0x4f
jmp 0x1400dc517
mov r10, r15
movsxd rax, dword [rbp + 0x70]
mov r14d, 0xffffffff
dec rax
mov qword [rsp + 0x60], rax
test rax, rax
jle 0x1400dc646
lea rdx, [rax - 1]
shr rdx, 1
inc rdx
mov qword [rbp + 0x78], rdx
inc dword [rdi + 0x70]
mov rcx, qword [r13]
test r9, r9
mov rax, qword [rbp - 0x28]
mov r13, qword [rsi + 0x30]
cmovne rax, rcx
mov qword [rbp - 0x28], rax
cmove r10, rcx
mov qword [rsp + 0x48], r10
movsxd rbx, dword [r13 + 0x78]
lea eax, [rbx + 1]
mov dword [r13 + 0x78], eax
lea eax, [rbx - 1]
test ebx, eax
jne 0x1400dc59f
mov rdx, qword [r13 + 0x80]
lea eax, [rbx*2 + 1]
mov rcx, qword [r13]
movsxd r8, eax
shl r8, 2
call fcn.1400d6470
mov r10, qword [rsp + 0x48]
mov qword [r13 + 0x80], rax
mov rcx, qword [r13 + 0x80]
test rcx, rcx
je 0x1400dc5af
mov dword [rcx + rbx*4], r14d
mov r8d, ebx
mov r9d, reloc.WS2_32.dll_recv
not r8d
mov rdx, r10
mov rcx, rdi
call fcn.1400dcda0
mov r13, qword [rsp + 0x50]
mov r8d, r12d
mov rcx, rdi
mov rdx, qword [r13 + 0x28]
call fcn.1400daa50
mov r9d, dword [rsp + 0x40]
xor r8d, r8d
mov rcx, rsi
mov dword [rsp + 0x20], r15d
lea edx, [r8 + 0x10]
call fcn.1401089e0
mov rcx, rdi
call fcn.1400da2b0
mov r9, qword [rsi + 0x30]
test ebx, ebx
js 0x1400dc615
mov rdx, qword [r9 + 0x80]
test rdx, rdx
je 0x1400dc615
mov eax, dword [rsi + 0x3c]
mov dword [rdx + rbx*4], eax
mov eax, dword [rsi + 0x3c]
add r13, 0x50
mov r10, qword [rsp + 0x48]
dec eax
sub qword [rbp + 0x78], 1
mov dword [r9 + 0x64], eax
mov r9, qword [rsp + 0x58]
mov qword [rsp + 0x50], r13
jne 0x1400dc540
mov rax, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
test byte [rbp + 0x70], 1
je 0x1400dc678
inc dword [rdi + 0x70]
lea rax, [rax + rax*4]
mov rdx, qword [rbx + 8]
mov r8d, r12d
mov rcx, rdi
mov rdx, qword [rdx + rax*8]
call fcn.1400daa50
mov rcx, rdi
call fcn.1400da2b0
sub r14d, dword [rsp + 0x40]
jmp 0x1400dbcb9
xor r8d, r8d
mov dword [rsp + 0x20], r15d
mov r9d, r12d
mov rcx, rsi
lea edx, [r8 + 0x1c]
call fcn.1401089e0
sub r14d, dword [rsp + 0x40]
jmp 0x1400dbcb9
xor r8d, r8d
mov dword [rsp + 0x20], r15d
mov r9d, r12d
lea edx, [r8 + 0x1c]
jmp 0x1400db62e
mov r11d, dword [rbp + 0x60]
jmp 0x1400db639