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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x40]
sub rsp, 0x140
mov rax, qword [0x1400e3040]
xor rax, rsp
mov qword [rbp + 0x30], rax
mov r14, qword [rcx + 0x10]
xor r15d, r15d
mov r10, qword [rcx]
mov ebx, r8d
mov dword [rsp + 0x44], r8d
mov r12d, r8d
mov qword [rbp - 0x78], rdx
mov rdi, rdx
mov qword [rbp - 0x80], r14
mov rsi, rcx
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0x48], r15d
mov dword [rsp + 0x50], r15d
mov qword [rsp + 0x58], r10
test r14, r14
jne 0x14004a277
xor eax, eax
jmp 0x14004b26d
mov qword [rsp + 0x198], r13
test rdi, rdi
je case.0x14004a2b6.101
movzx r13d, byte [rdx]
lea eax, [r13 - 0x13]
cmp eax, 0x8c
ja case.0x14004a2b6.21
lea rdx, [0x140000000]
cdqe
movzx eax, byte [rdx + rax + 0x4b2f0]
mov ecx, dword [rdx + rax*4 + 0x4b28c]
add rcx, rdx
jmp rcx
mov r8, qword [rdi + 0x38]
movsx r9, word [rdi + 0x32]
shl r9, 5
add r9, qword [r8 + 0x20]
cmp byte [r8], r15b
jne 0x14004a2d7
mov ebx, dword [r9 + 0x14]
jmp 0x14004b1e5
cmp byte [r8 + 1], r15b
je case.0x14004a2b6.154
mov r9d, dword [r9 + 0x10]
mov edx, 0x2f
mov r8d, dword [r8 + 8]
mov rcx, r14
mov dword [rsp + 0x20], r12d
call fcn.14002fbb0
jmp 0x14004b1e5
mov r9d, dword [rdi + 0x2c]
test r9d, r9d
jns 0x14004a31b
mov eax, dword [rsi + 0x68]
test eax, eax
jle 0x14004a317
movsx ebx, word [rdi + 0x30]
add ebx, eax
jmp 0x14004b1e5
mov r9d, dword [rsi + 0x6c]
movzx eax, byte [rdi + 0x36]
mov rcx, rsi
movsx r8d, word [rdi + 0x30]
mov rdx, qword [rdi + 0x40]
mov byte [rsp + 0x28], al
mov dword [rsp + 0x20], r12d
call fcn.140049e80
mov ebx, eax
jmp 0x14004b1e5
mov r9d, r12d
xor r8d, r8d
mov rdx, rdi
mov rcx, rsi
call fcn.1400494f0
jmp 0x14004b1e5
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14004b1e5
mov r8, rcx
cmp byte [rcx], r15b
je 0x14004a378
nop dword [rax + rax]
inc r8
cmp byte [r8], r15b
jne 0x14004a370
sub r8d, ecx
lea rdx, [rsp + 0x58]
and r8d, 0x3fffffff
mov r9b, 1
call fcn.140010460
lea rdx, [rsp + 0x58]
mov rcx, r14
call fcn.140049370
mov r9d, r12d
mov dword [rsp + 0x20], r15d
xor r8d, r8d
mov edx, 0x85
mov rcx, r14
mov rbx, rax
call fcn.14002fbb0
mov r9d, 0xfffffff4
mov r8, rbx
mov edx, eax
mov rcx, r14
call fcn.1400301e0
mov ebx, r12d
jmp 0x14004b1e5
mov rbx, qword [rdi + 8]
xor r8d, r8d
mov r9d, r12d
mov dword [rsp + 0x20], r15d
mov rcx, r14
lea edx, [r8 + 0x61]
call fcn.14002fbb0
xor r9d, r9d
jmp 0x14004a3bd
mov rdx, qword [rdi + 8]
add rdx, 2
mov rbx, rdx
jne 0x14004a404
mov ebx, r15d
jmp 0x14004a420
cmp byte [rdx], r15b
je 0x14004a418
nop dword [rax]
inc rbx
cmp byte [rbx], r15b
jne 0x14004a410
sub ebx, edx
and ebx, 0x3fffffff
mov rcx, qword [r14]
lea r8d, [rbx - 1]
call fcn.140011140
mov rdi, rax
mov dword [rsp + 0x20], r15d
lea eax, [rbx - 1]
mov r9d, r12d
cdq
mov rcx, r14
sub eax, edx
mov edx, 0x1e
sar eax, 1
mov r8d, eax
call fcn.14002fbb0
mov r9d, 0xffffffff
mov r8, rdi
mov edx, eax
mov rcx, r14
call fcn.1400301e0
mov ebx, r12d
jmp 0x14004b1e5
movsx r8d, word [rdi + 0x30]
mov r9d, r12d
mov edx, 0x1f
mov dword [rsp + 0x20], r15d
mov rcx, r14
call fcn.14002fbb0
mov rax, qword [rdi + 8]
cmp byte [rax + 1], r15b
je 0x14004b1e5
movsx rax, word [rdi + 0x30]
mov r9d, 0xfffffffe
mov r8, qword [rsi + 0x208]
mov rcx, r14
lea edx, [r9 + 1]
mov r8, qword [r8 + rax*8 - 8]
call fcn.1400301e0
jmp 0x14004b1e5
mov ebx, dword [rdi + 0x2c]
jmp 0x14004b1e5
mov rdx, qword [rdi + 0x10]
mov rcx, rsi
call fcn.14004a210
mov ebx, eax
jmp 0x14004b1e5
mov rdx, qword [rdi + 0x10]
mov rcx, rsi
call fcn.14004a210
mov ebx, eax
cmp eax, r12d
je 0x14004a503
mov r9d, r12d
mov dword [rsp + 0x20], r15d
mov r8d, eax
mov edx, 0x22
mov rcx, r14
call fcn.14002fbb0
mov ebx, r12d
mov rcx, qword [rdi + 8]
xor edx, edx
call fcn.140054710
movsx r9d, al
mov r8d, r12d
mov edx, 0x28
mov dword [rsp + 0x20], r15d
mov rcx, r14
call fcn.14002fbb0
mov r8d, 1
mov edx, ebx
mov rcx, rsi
call fcn.140049900
jmp 0x14004b1e5
mov rdx, qword [rdi + 0x10]
lea r8, [rsp + 0x48]
mov rcx, rsi
call fcn.14004b410
mov rdx, qword [rdi + 0x18]
lea r8, [rsp + 0x50]
mov rcx, rsi
mov ebx, eax
call fcn.14004b410
mov r9d, r13d
mov dword [rsp + 0x38], 0x20
mov r8, qword [rdi + 0x18]
mov rcx, rsi
mov rdx, qword [rdi + 0x10]
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ebx
call fcn.140044ca0
mov ebx, r12d
jmp 0x14004b1e5
mov rdx, qword [rdi + 0x10]
lea r8, [rsp + 0x48]
mov rcx, rsi
call fcn.14004b410
mov rdx, qword [rdi + 0x18]
lea r8, [rsp + 0x50]
mov rcx, rsi
mov ebx, eax
call fcn.14004b410
cmp r13d, 0x49
mov dword [rsp + 0x38], 0xa0
mov r9d, r15d
sete r9b
add r9d, 0x4e
jmp 0x14004a56b
mov rdx, qword [rdi + 0x10]
lea r8, [rsp + 0x48]
mov rcx, rsi
call fcn.14004b410
mov rdx, qword [rdi + 0x18]
lea r8, [rsp + 0x50]
mov rcx, rsi
mov ebx, eax
call fcn.14004b410
mov r9d, ebx
mov dword [rsp + 0x20], r12d
mov r8d, eax
mov edx, r13d
mov rcx, r14
call fcn.14002fbb0
mov ebx, r12d
jmp 0x14004b1e5
mov rcx, qword [rdi + 0x10]
movzx eax, byte [rcx]
cmp al, 0x84
jne 0x14004a636
mov rdx, rcx
mov r9d, r12d
mov rcx, rsi
mov r8d, 1
call fcn.1400494f0
mov ebx, r12d
jmp 0x14004b1e5
cmp al, 0x85
jne 0x14004a68c
mov rcx, qword [rcx + 8]
test rcx, rcx
je 0x14004a3ca
mov r8, rcx
cmp byte [rcx], r15b
je 0x14004a658
nop
inc r8
cmp byte [r8], r15b
jne 0x14004a650
sub r8d, ecx
lea rdx, [rsp + 0x60]
and r8d, 0x3fffffff
mov r9b, 1
call fcn.140010460
movsd xmm2, qword [rsp + 0x60]
lea rdx, [rsp + 0x60]
xorps xmm2, xmmword [0x1400d5a00]
movsd qword [rsp + 0x60], xmm2
jmp 0x14004a394
lea r8, [rsp + 0x48]
mov byte [rbp - 0x20], 0x84
lea rdx, [rbp - 0x20]
mov qword [rbp - 0x1c], 0x4400
mov rcx, rsi
call fcn.14004b410
mov rdx, qword [rdi + 0x10]
lea r8, [rsp + 0x50]
mov rcx, rsi
mov ebx, eax
call fcn.14004b410
mov r9d, ebx
mov dword [rsp + 0x20], r12d
mov r8d, eax
mov edx, 0x5a
mov rcx, r14
call fcn.14002fbb0
mov ebx, r12d
jmp 0x14004b1e5
mov rdx, qword [rdi + 0x10]
lea r8, [rsp + 0x48]
mov rcx, rsi
call fcn.14004b410
mov r9d, r12d
mov dword [rsp + 0x20], r15d
mov r8d, eax
mov edx, r13d
mov rcx, r14
call fcn.14002fbb0
jmp 0x14004b1e5
mov edx, 0x19
mov dword [rsp + 0x20], r15d
mov r9d, r12d
mov rcx, r14
lea r8d, [rdx - 0x18]
call fcn.14002fbb0
mov rdx, qword [rdi + 0x10]
lea r8, [rsp + 0x48]
mov rcx, rsi
call fcn.14004b410
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, eax
mov edx, r13d
mov rcx, r14
call fcn.14002fbb0
xor r8d, r8d
mov edi, eax
mov r9d, r12d
mov dword [rsp + 0x20], r15d
mov rcx, r14
lea edx, [r8 + 0x19]
call fcn.14002fbb0
mov edx, dword [r14 + 0x3c]
cmp edx, edi
jbe 0x14004a775
mov rax, qword [r14 + 8]
lea rcx, [rdi + rdi*2]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [r14 + 0x3c]
mov rax, qword [r14 + 0x30]
dec ecx
mov dword [rax + 0x64], ecx
jmp 0x14004b1e5
mov rdx, qword [rdi + 0x38]
test rdx, rdx
jne 0x14004a7a8
mov r8, qword [rdi + 8]
lea rdx, str.misuse_of_aggregate:__s__
mov rcx, rsi
call fcn.1400102a0
jmp 0x14004b1e5
movsx rax, word [rdi + 0x32]
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x30]
mov ebx, dword [rax + rcx*8 + 0x10]
jmp 0x14004b1e5
test dword [rdi + 4], 0x4000
mov rax, qword [r10 + 0x20]
mov dword [rsp + 0x4c], r15d
mov qword [rsp + 0x60], r15
mov rcx, qword [rax + 0x18]
movzx edx, byte [rcx + 0x71]
je 0x14004a7fb
mov qword [rsp + 0x68], r15
mov r13d, r15d
mov rax, qword [rdi + 8]
mov qword [rsp + 0x78], rax
mov rbx, rax
test rax, rax
jne 0x14004a80e
mov ebx, r15d
jmp 0x14004a823
mov rax, qword [rdi + 0x20]
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14004a7e2
mov r13d, dword [rax]
jmp 0x14004a7e5
cmp byte [rax], r15b
je 0x14004a81b
inc rbx
cmp byte [rbx], r15b
jne 0x14004a813
sub ebx, eax
and ebx, 0x3fffffff
mov byte [rsp + 0x28], r15b
mov r9d, r13d
mov byte [rsp + 0x20], dl
mov r8d, ebx
mov rdx, rax
mov rcx, r10
call fcn.14005cef0
mov qword [rsp + 0x70], rax
mov rdx, rax
test rax, rax
je 0x14004ab70
cmp qword [rax + 0x18], r15
je 0x14004ab70
movzx eax, word [rax + 2]
bt ax, 9
jae 0x14004a935
mov rcx, r14
call fcn.14002fcf0
mov rbx, qword [rsp + 0x68]
mov r8d, r12d
mov rcx, rsi
mov dword [rsp + 0x44], eax
mov edi, eax
mov rdx, qword [rbx + 8]
mov rdx, qword [rdx]
call fcn.14004b5a0
cmp r13d, 1
jle 0x14004a903
lea ecx, [r13 - 1]
mov edi, 0x28
mov r13d, dword [rsp + 0x44]
mov qword [rsp + 0x58], rcx
nop word [rax + rax]
mov r9d, r13d
mov dword [rsp + 0x20], r15d
mov r8d, r12d
mov edx, 0x4d
mov rcx, r14
call fcn.14002fbb0
mov r8d, 1
mov edx, r12d
mov rcx, rsi
call fcn.140049900
inc dword [rsi + 0x70]
mov r8d, r12d
mov rdx, qword [rbx + 8]
mov rdx, qword [rdx + rdi]
call fcn.14004b5a0
mov rcx, rsi
call fcn.140049b30
sub qword [rsp + 0x58], 1
lea rdi, [rdi + 0x28]
jne 0x14004a8b0
mov edi, r13d
mov rdx, qword [r14 + 0x30]
not edi
test edi, edi
js 0x14004a924
mov r8, qword [rdx + 0x80]
test r8, r8
je 0x14004a924
movsxd rcx, edi
mov eax, dword [r14 + 0x3c]
mov dword [r8 + rcx*4], eax
mov eax, dword [r14 + 0x3c]
mov ebx, r12d
dec eax
mov dword [rdx + 0x64], eax
jmp 0x14004b1e5
bt ax, 0xa
jae 0x14004a95b
mov rdx, qword [rsp + 0x68]
mov r8d, r12d
mov rcx, rsi
mov rdx, qword [rdx + 8]
mov rdx, qword [rdx]
call fcn.14004b5a0
mov ebx, r12d
jmp 0x14004b1e5
mov ebx, r15d
test r13d, r13d
jle 0x14004a9dc
mov r12, qword [rsp + 0x68]
mov r14, r15
mov r15d, ebx
mov edi, ebx
cmp ebx, 0x20
jae 0x14004a994
mov rax, qword [r12 + 8]
mov edx, 1
mov rcx, qword [r14 + rax]
call fcn.140047bc0
mov rdx, qword [rsp + 0x70]
test eax, eax
je 0x14004a994
bts edi, ebx
test byte [rdx + 2], 0x20
je 0x14004a9b8
test r15, r15
jne 0x14004a9b8
mov rdx, qword [r12 + 8]
mov rcx, rsi
mov rdx, qword [rdx + r14]
call fcn.140044940
mov rdx, qword [rsp + 0x70]
mov r15, rax
inc ebx
add r14, 0x28
cmp ebx, r13d
jl 0x14004a970
mov r14, qword [rbp - 0x80]
mov r12d, dword [rsp + 0x44]
mov qword [rsp + 0x60], r15
xor r15d, r15d
mov dword [rsp + 0x4c], edi
mov rdi, qword [rbp - 0x78]
mov rcx, qword [rsp + 0x68]
mov ebx, dword [rsp + 0x4c]
test rcx, rcx
je 0x14004aa65
test ebx, ebx
jne 0x14004aa10
mov r9d, dword [rsi + 0x44]
mov r8d, dword [rsi + 0x48]
mov dword [rsp + 0x44], r8d
cmp r13d, r9d
jg 0x14004aa10
lea eax, [r8 + r13]
sub r9d, r13d
mov dword [rsi + 0x48], eax
mov dword [rsi + 0x44], r9d
jmp 0x14004aa22
mov eax, dword [rsi + 0x54]
lea r8d, [rax + 1]
add eax, r13d
mov dword [rsi + 0x54], eax
mov dword [rsp + 0x44], r8d
movzx r9d, word [rdx + 2]
test r9b, 0xc0
je 0x14004aa45
mov rax, qword [rcx + 8]
mov rdx, qword [rax]
movzx eax, byte [rdx]
add al, 0x66
test al, 0xfd
jne 0x14004aa45
and r9b, 0xc0
mov byte [rdx + 0x36], r9b
inc dword [rsi + 0x70]
mov rdx, rcx
mov rcx, rsi
mov r9b, 3
call fcn.14004b600
mov rcx, rsi
call fcn.140049b30
mov rcx, qword [rsp + 0x68]
jmp 0x14004aa6a
mov dword [rsp + 0x44], r15d
cmp r13d, 2
jl 0x14004aa95
test byte [rdi + 4], 0x80
je 0x14004aa9a
mov r9, qword [rcx + 8]
mov r9, qword [r9 + 0x28]
mov rdx, qword [rsp + 0x70]
mov r8d, r13d
mov rcx, qword [rsp + 0x58]
call fcn.140089740
mov rdi, rax
jmp 0x14004aaa8
test r13d, r13d
jle 0x14004aaa3
mov r9, qword [rcx + 8]
mov r9, qword [r9]
jmp 0x14004aa7e
mov rdi, qword [rsp + 0x70]
test byte [rdi + 2], 0x20
je 0x14004aaf0
cmp qword [rsp + 0x60], 0
jne 0x14004aac4
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x60], rax
xor r9d, r9d
mov dword [rsp + 0x20], r15d
xor r8d, r8d
mov rcx, r14
lea edx, [r9 + 0x24]
call fcn.14002fbb0
mov r8, qword [rsp + 0x60]
mov r9d, 0xfffffffc
mov edx, eax
mov rcx, r14
call fcn.1400301e0
mov dword [rsp + 0x20], r12d
mov r8d, ebx
mov r12d, dword [rsp + 0x44]
mov edx, 1
mov r9d, r12d
mov rcx, r14
call fcn.14002fbb0
mov r9d, 0xfffffffb
mov r8, rdi
mov edx, eax
mov rcx, r14
call fcn.1400301e0
mov rdx, qword [r14 + 8]
test rdx, rdx
je 0x14004ab36
movsxd rax, dword [r14 + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], r13b
test r13d, r13d
je 0x14004b1e1
test ebx, ebx
jne 0x14004b1e1
mov r8d, r13d
mov edx, r12d
mov rcx, rsi
call fcn.140049900
mov ebx, dword [rsp + 0x40]
cmp r13d, dword [rsi + 0x44]
jle 0x14004b1e5
mov dword [rsi + 0x44], r13d
mov dword [rsi + 0x48], r12d
jmp 0x14004b1e5
mov r9, qword [rsp + 0x78]
lea rdx, str.unknown_function:__.s__
mov r8d, ebx
mov rcx, rsi
call fcn.1400102a0
mov ebx, r12d
jmp 0x14004b1e5
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
mov rcx, rsi
call fcn.1400485d0
mov ebx, eax
jmp 0x14004b1e5
mov rcx, r14
call fcn.14002fcf0
mov rcx, r14
mov r13d, eax
call fcn.14002fcf0
xor r8d, r8d
mov dword [rsp + 0x20], r15d
mov r9d, r12d
mov rcx, r14
mov ebx, eax
lea edx, [r8 + 0x1c]
call fcn.14002fbb0
mov r9d, ebx
mov r8d, r13d
mov rdx, rdi
mov rcx, rsi
call fcn.140048d70
mov edx, 0x19
mov dword [rsp + 0x20], r15d
mov r9d, r12d
mov rcx, r14
lea r8d, [rdx - 0x18]
call fcn.14002fbb0
mov r8, qword [r14 + 0x30]
not r13d
test r13d, r13d
js 0x14004ac1f
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x14004ac1f
mov eax, dword [r14 + 0x3c]
movsxd rcx, r13d
mov dword [rdx + rcx*4], eax
mov eax, dword [r14 + 0x3c]
xor r9d, r9d
dec eax
mov dword [rsp + 0x20], r15d
mov dword [r8 + 0x64], eax
mov rcx, r14
mov r8d, r12d
lea edx, [r9 + 0x25]
call fcn.14002fbb0
mov r8, qword [r14 + 0x30]
not ebx
test ebx, ebx
js 0x14004ac60
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x14004ac60
mov eax, dword [r14 + 0x3c]
movsxd rcx, ebx
mov dword [rdx + rcx*4], eax
mov eax, dword [r14 + 0x3c]
mov ebx, r12d
dec eax
mov dword [r8 + 0x64], eax
jmp 0x14004b1e5
mov rcx, qword [rdi + 0x10]
lea r8, [rsp + 0x48]
mov rax, qword [rdi + 0x20]
mov rdx, rcx
mov qword [rsp + 0x58], rcx
mov rcx, rsi
mov r13, qword [rax + 8]
mov rbx, qword [r13]
mov qword [rsp + 0x78], rbx
call fcn.14004b410
lea r8, [rsp + 0x50]
mov dword [rsp + 0x44], eax
mov rdx, rbx
mov rcx, rsi
call fcn.14004b410
movzx ecx, byte [rsi + 0x1f]
mov edx, eax
lea rax, [rsi + 0x54]
test cl, cl
jne 0x14004acca
mov ebx, dword [rax]
inc ebx
mov dword [rax], ebx
inc dword [rax]
mov edi, dword [rax]
jmp 0x14004acec
dec cl
movzx ecx, cl
mov byte [rsi + 0x1f], cl
mov ebx, dword [rsi + rcx*4 + 0x24]
test cl, cl
jne 0x14004ace0
inc dword [rax]
mov edi, dword [rax]
jmp 0x14004acec
dec cl
movzx eax, cl
mov byte [rsi + 0x1f], al
mov edi, dword [rsi + rax*4 + 0x24]
mov eax, dword [rsp + 0x44]
mov r9d, 0x53
mov r8, qword [rsp + 0x78]
mov rcx, rsi
mov dword [rsp + 0x38], 0x20
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x28], edx
mov rdx, qword [rsp + 0x58]
mov dword [rsp + 0x20], eax
call fcn.140044ca0
mov edx, dword [rsp + 0x50]
mov r13, qword [r13 + 0x28]
test edx, edx
je 0x14004ad5e
movzx r8d, byte [rsi + 0x1f]
cmp r8b, 8
jae 0x14004ad5e
mov ecx, r15d
lea rax, [rsi + 0x88]
nop dword [rax]
cmp dword [rax + 0xc], edx
je 0x14004ad5a
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x14004ad40
mov dword [rsi + r8*4 + 0x24], edx
inc byte [rsi + 0x1f]
jmp 0x14004ad5e
mov byte [rax + 6], 1
lea r8, [rsp + 0x50]
mov rdx, r13
mov rcx, rsi
call fcn.14004b410
mov rdx, qword [rsp + 0x58]
mov r9d, 0x51
mov dword [rsp + 0x38], 0x20
mov r8, r13
mov dword [rsp + 0x30], edi
mov rcx, rsi
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x20], eax
call fcn.140044ca0
mov r9d, edi
mov dword [rsp + 0x20], r12d
mov r8d, ebx
mov edx, 0x48
mov rcx, r14
call fcn.14002fbb0
test ebx, ebx
je 0x14004aded
movzx edx, byte [rsi + 0x1f]
cmp dl, 8
jae 0x14004aded
mov ecx, r15d
lea rax, [rsi + 0x88]
nop dword [rax + rax]
cmp dword [rax + 0xc], ebx
je 0x14004ade9
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x14004add0
mov dword [rsi + rdx*4 + 0x24], ebx
inc byte [rsi + 0x1f]
jmp 0x14004aded
mov byte [rax + 6], 1
test edi, edi
je 0x14004a3ca
movzx edx, byte [rsi + 0x1f]
cmp dl, 8
jae 0x14004a3ca
mov ecx, r15d
lea rax, [rsi + 0x88]
nop dword [rax]
cmp dword [rax + 0xc], edi
je 0x14004ae2f
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x14004ae10
mov dword [rsi + rdx*4 + 0x24], edi
mov ebx, r12d
inc byte [rsi + 0x1f]
jmp 0x14004b1e5
mov byte [rax + 6], 1
mov ebx, r12d
jmp 0x14004b1e5
mov r13, qword [rdi + 0x40]
mov r9d, r12d
movsx r8d, word [rdi + 0x30]
mov edx, 0x84
inc r8d
mov dword [rsp + 0x20], r15d
movsx ecx, word [r13 + 0x42]
inc ecx
imul ecx, dword [rdi + 0x2c]
add r8d, ecx
mov rcx, r14
call fcn.14002fbb0
movsx rax, word [rdi + 0x30]
test ax, ax
js 0x14004b1e5
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 8]
add rcx, rcx
cmp byte [rax + rcx*8 + 0x29], 0x45
jne 0x14004b1e5
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, r12d
mov rcx, r14
lea edx, [r9 + 0x27]
call fcn.14002fbb0
jmp 0x14004b1e5
cmp qword [rsi + 0x1c8], r15
jne 0x14004aec9
lea rdx, str.RAISE___may_only_be_used_within_a_trigger_program
mov rcx, rsi
call fcn.1400102a0
xor eax, eax
jmp 0x14004b265
cmp byte [rdi + 1], 2
jne 0x14004aee4
mov rax, qword [rsi + 0x1c0]
mov rcx, rsi
test rax, rax
cmovne rcx, rax
mov byte [rcx + 0x21], 1
movsx eax, byte [rdi + 1]
mov r12, qword [rdi + 8]
cmp al, 4
jne 0x14004aefb
mov r9d, 4
xor r8d, r8d
jmp 0x14004af2b
mov rcx, rsi
mov edi, eax
call fcn.140078860
mov r14, rax
cmp edi, 2
jne 0x14004af22
mov rcx, qword [rsi + 0x1c0]
mov rdx, rsi
test rcx, rcx
cmovne rdx, rcx
mov byte [rdx + 0x21], 1
mov r9d, edi
mov r8d, 0x713
mov edx, 0x18
mov dword [rsp + 0x20], r15d
mov rcx, r14
call fcn.14002fbb0
xor r9d, r9d
mov r8, r12
mov edx, eax
mov rcx, r14
call fcn.1400301e0
jmp 0x14004b1e5
mov rax, qword [rdi + 0x20]
mov rcx, r14
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x58], r15
mov r13, qword [rax + 8]
mov eax, dword [rax]
mov dword [rsp + 0x44], eax
call fcn.14002fcf0
mov rbx, qword [rdi + 0x10]
mov dword [rsp + 0x4c], eax
test rbx, rbx
je 0x14004afe7
movups xmm0, xmmword [rbx]
lea r8, [rsp + 0x48]
mov rdx, rbx
mov rcx, rsi
movaps xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [rbx + 0x10]
movaps xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [rbx + 0x20]
movaps xmmword [rbp], xmm0
movups xmm1, xmmword [rbx + 0x30]
movaps xmmword [rbp + 0x10], xmm1
movsd xmm0, qword [rbx + 0x40]
movsd qword [rbp + 0x20], xmm0
call fcn.14004b410
movzx ecx, byte [rbp - 0x20]
and dword [rbp - 0x1c], 0xffffefff
mov dword [rbp + 0xc], eax
lea rax, [rbp - 0x20]
mov qword [rbp - 0x60], rax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x58], rax
mov byte [rbp + 0x16], cl
mov byte [rbp - 0x20], 0x9f
mov byte [rbp - 0x70], 0x4f
mov dword [rsp + 0x48], r15d
mov eax, dword [rsp + 0x44]
dec eax
test eax, eax
jle 0x14004b0a3
test rbx, rbx
je 0x14004b0e1
lea ebx, [rax - 1]
shr ebx, 1
inc ebx
nop word [rax + rax]
inc dword [rsi + 0x70]
mov rcx, r14
mov rax, qword [r13]
mov qword [rbp - 0x58], rax
call fcn.14002fcf0
mov rdx, qword [rsp + 0x58]
mov r9d, 0x10
mov r8d, eax
mov rcx, rsi
mov edi, eax
call fcn.14004bd00
mov rdx, qword [r13 + 0x28]
mov r8d, r12d
mov rcx, rsi
call fcn.14004b5a0
mov r9d, dword [rsp + 0x4c]
xor r8d, r8d
mov rcx, r14
mov dword [rsp + 0x20], r15d
lea edx, [r8 + 0x10]
call fcn.14002fbb0
mov rcx, rsi
call fcn.140049b30
mov r9, qword [r14 + 0x30]
not edi
test edi, edi
js 0x14004b08b
mov rdx, qword [r9 + 0x80]
test rdx, rdx
je 0x14004b08b
mov eax, dword [r14 + 0x3c]
movsxd rcx, edi
mov dword [rdx + rcx*4], eax
mov eax, dword [r14 + 0x3c]
add r13, 0x50
dec eax
mov dword [r9 + 0x64], eax
sub rbx, 1
jne 0x14004b010
mov ebx, dword [rsp + 0x4c]
movsxd rax, dword [rsp + 0x44]
test al, 1
je 0x14004b18b
inc dword [rsi + 0x70]
lea rcx, [rax + rax*4]
mov rdx, qword [rsp + 0x78]
mov r8d, r12d
mov rdx, qword [rdx + 8]
mov rdx, qword [rdx + rcx*8 - 0x28]
mov rcx, rsi
call fcn.14004b5a0
mov rcx, rsi
call fcn.140049b30
jmp 0x14004b1a2
movsxd rdi, eax
test eax, eax
jle 0x14004b0a3
dec rdi
shr rdi, 1
inc rdi
inc dword [rsi + 0x70]
mov rcx, r14
mov rbx, qword [r13]
call fcn.14002fcf0
mov r9d, 0x10
mov dword [rsp + 0x68], eax
mov r8d, eax
mov rdx, rbx
mov rcx, rsi
call fcn.14004bd00
mov rdx, qword [r13 + 0x28]
mov r8d, r12d
mov rcx, rsi
call fcn.14004b5a0
mov ebx, dword [rsp + 0x4c]
xor r8d, r8d
mov r9d, ebx
mov dword [rsp + 0x20], r15d
mov rcx, r14
lea edx, [r8 + 0x10]
call fcn.14002fbb0
mov rcx, rsi
call fcn.140049b30
mov eax, dword [rsp + 0x68]
mov r9, qword [r14 + 0x30]
not eax
test eax, eax
js 0x14004b16e
mov rdx, qword [r9 + 0x80]
test rdx, rdx
je 0x14004b16e
movsxd rcx, eax
mov eax, dword [r14 + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [r14 + 0x3c]
add r13, 0x50
dec eax
mov dword [r9 + 0x64], eax
sub rdi, 1
jne 0x14004b0f1
jmp 0x14004b0a7
xor r8d, r8d
mov dword [rsp + 0x20], r15d
mov r9d, r12d
mov rcx, r14
lea edx, [r8 + 0x1c]
call fcn.14002fbb0
mov rdx, qword [r14 + 0x30]
not ebx
test ebx, ebx
js 0x14004a924
mov r8, qword [rdx + 0x80]
test r8, r8
je 0x14004a924
movsxd rcx, ebx
jmp 0x14004a91c
xor r8d, r8d
mov dword [rsp + 0x20], r15d
mov r9d, r12d
mov rcx, r14
lea edx, [r8 + 0x1c]
call fcn.14002fbb0
jmp 0x14004b1e5
mov ebx, dword [rsp + 0x40]
cmp dword [rsp + 0x48], 0
je 0x14004b223
movzx r8d, byte [rsi + 0x1f]
cmp r8b, 8
jae 0x14004b223
mov ecx, r15d
lea rax, [rsi + 0x88]
mov edx, dword [rsp + 0x48]
cmp dword [rax + 0xc], edx
je 0x14004b21f
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x14004b201
mov dword [rsi + r8*4 + 0x24], edx
inc byte [rsi + 0x1f]
jmp 0x14004b223
mov byte [rax + 6], 1
cmp dword [rsp + 0x50], 0
je 0x14004b263
movzx edx, byte [rsi + 0x1f]
cmp dl, 8
jae 0x14004b263
lea rax, [rsi + 0x88]
nop word [rax + rax]
mov ecx, dword [rsp + 0x50]
cmp dword [rax + 0xc], ecx
je 0x14004b25f
inc r15d
add rax, 0x14
cmp r15d, 0xa
jl 0x14004b240
mov dword [rsi + rdx*4 + 0x24], ecx
inc byte [rsi + 0x1f]
jmp 0x14004b263
mov byte [rax + 6], 1
mov eax, ebx
mov r13, qword [rsp + 0x198]
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.1400a1280
add rsp, 0x140
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret