Function at 0x1401ed130
Capabilities:
Check for software breakpoints

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x198
mov r15d, r9d
mov r14, r8
mov rdi, rdx
mov rsi, rcx
mov ebp, dword [rsp + 0x208]
mov rax, qword [0x1402f4538]
xor rax, rsp
mov qword [rsp + 0x190], rax
lea eax, [r15 - 9]
cmp eax, 0xfffffffe
jb 0x1401ed17e
test ebp, ebp
je 0x1401ed17e
lea rax, str.symbol_with_local_linkage_must_have_default_visibility
jmp 0x1401ed197
mov r12d, dword [rsp + 0x210]
cmp eax, 0xfffffffe
jb 0x1401ed1ed
test r12d, r12d
je 0x1401ed1ed
lea rax, str.symbol_with_local_linkage_cannot_have_a_DLL_storage_class
mov qword [rsp + 0xf8], rax
mov word [rsp + 0x118], 0x103
add rsi, 0xb0
lea r8, [rsp + 0xf8]
mov rcx, rsi
mov rdx, r14
call fcn.140226e60
mov r13d, eax
mov rcx, qword [rsp + 0x190]
xor rcx, rsp
call fcn.140241350
mov eax, r13d
add rsp, 0x198
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0xe8], 0
lea rdx, [rsp + 0xf4]
mov rcx, rsi
xor r8d, r8d
call fcn.1401f4550
mov r13b, 1
test al, al
jne 0x1401ed1c6
lea r13, [rsi + 0xb0]
mov ebx, dword [rsi + 0xe8]
mov eax, ebx
cmp ebx, 0x2b
jne 0x1401ed235
mov rcx, r13
call fcn.1402273e0
mov dword [rsi + 0xe8], eax
cmp eax, 0x18
mov qword [rsp + 0x58], r13
je 0x1401ed252
cmp eax, 0x17
jne 0x1401ed362
mov dword [rsp + 0x64], 0
jmp 0x1401ed258
mov al, 1
mov dword [rsp + 0x64], eax
mov rcx, r13
call fcn.1402273e0
mov dword [rsi + 0xe8], eax
mov rax, qword [rsi + 0xe0]
mov qword [rsp + 0x78], rax
lea rax, str.expected_type
mov qword [rsp + 0xf8], rax
mov word [rsp + 0x118], 0x103
lea rdx, [rsp + 0xe8]
lea r8, [rsp + 0xf8]
mov rcx, rsi
xor r9d, r9d
call fcn.1401f86f0
mov r13b, 1
test al, al
jne 0x1401ed1c6
movzx eax, byte [rsp + 0x200]
mov qword [rsp + 0xe0], 0
test al, al
je 0x1401ed2d4
test r15d, r15d
je 0x1401ed2f7
cmp r15d, 9
je 0x1401ed2f7
mov rdx, qword [rsp + 0xe8]
lea r8, [rsp + 0xe0]
mov rcx, rsi
call fcn.1401f4ab0
mov r13b, 1
test al, al
jne 0x1401ed1c6
mov r13, qword [rsp + 0xe8]
cmp byte [r13 + 8], 0xe
je 0x1401ed3aa
mov rcx, r13
call fcn.1401389f0
test al, al
je 0x1401ed3aa
cmp qword [rdi + 0x10], 0
mov qword [rsp + 0x70], r13
je 0x1401ed3da
lea r13, [rsi + 0x3e0]
mov rcx, r13
mov rdx, rdi
call fcn.14006fcd0
cmp rax, qword [rsi + 0x3e0]
je 0x1401ed445
mov rcx, qword [rax + 0x40]
mov qword [rsp + 0x68], rcx
mov rcx, r13
mov rdx, rax
call fcn.140222450
jmp 0x1401ed4fc
lea rax, str.expected_global_or_constant
mov qword [rsp + 0xf8], rax
mov word [rsp + 0x118], 0x103
mov rdx, qword [rsi + 0xe0]
lea r8, [rsp + 0xf8]
mov rcx, r13
call fcn.140226e60
mov r13b, 1
test al, al
jne 0x1401ed1c6
mov dword [rsp + 0x64], 0
jmp 0x1401ed266
lea rax, str.invalid_type_for_global_variable
mov qword [rsp + 0xf8], rax
mov word [rsp + 0x118], 0x103
lea r8, [rsp + 0xf8]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x78]
jmp 0x1401ed1be
lea r14, [rsi + 0x3f0]
mov rax, qword [rsi + 0x408]
sub rax, qword [rsi + 0x400]
shr rax, 3
mov dword [rsp + 0x170], eax
lea rdx, [rsp + 0xf8]
lea r8, [rsp + 0x170]
mov rcx, r14
call fcn.1401f42f0
mov r8, qword [rsp + 0xf8]
cmp r8, qword [rsi + 0x3f0]
je 0x1401ed4f5
mov rax, qword [r8 + 0x28]
mov qword [rsp + 0x68], rax
lea rdx, [rsp + 0x170]
mov rcx, r14
call fcn.1401f4340
jmp 0x1401ed4fc
mov rcx, qword [rsi + 0x158]
cmp qword [rdi + 0x18], 0x10
mov rax, rdi
mov r13, qword [rsp + 0x58]
jb 0x1401ed45e
mov rax, qword [rdi]
mov qword [rsp + 0xd0], rax
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0xd8], rax
lea rdx, [rsp + 0xd0]
call fcn.140037810
test rax, rax
je 0x1401ed4f5
lea rdx, str.redefinition_of_global__
lea rsi, [rsp + 0x150]
mov rcx, rsi
mov r8, rdi
call fcn.140055f00
lea r8, [0x1402eab48]
lea rdi, [rsp + 0x170]
mov rcx, rdi
mov rdx, rsi
call fcn.14001cff0
mov word [rsp + 0x118], 0x104
mov qword [rsp + 0xf8], rdi
lea r8, [rsp + 0xf8]
mov rcx, r13
mov rdx, r14
call fcn.140226e60
mov r13d, eax
mov rcx, rdi
call fcn.14001d270
mov rcx, rsi
call fcn.14001d270
jmp 0x1401ed1c6
xor eax, eax
mov qword [rsp + 0x68], rax
mov ecx, 0x58
mov edx, 1
call fcn.140134910
mov r14, rax
mov ecx, dword [rsp + 0xf4]
mov word [rsp + 0x118], 0x104
mov qword [rsp + 0xf8], rdi
mov rdx, qword [rsi + 0x158]
movabs rax, 0x100000000
mov qword [rsp + 0x80], rcx
or rax, rcx
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0xf8]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x50], 0
mov dword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, r14
mov r8, qword [rsp + 0x70]
xor r9d, r9d
call fcn.140135ab0
cmp qword [rdi + 0x10], 0
jne 0x1401ed5af
lea rcx, [rsi + 0x400]
mov qword [rsp + 0xf8], r14
lea rdx, [rsp + 0xf8]
call fcn.140105590
mov rdx, qword [rsp + 0xe0]
test rdx, rdx
je 0x1401ed5c4
mov rcx, r14
call fcn.140135c70
mov r13d, dword [rsp + 0x220]
movzx eax, byte [r14 + 0x50]
and al, 0xfe
add al, byte [rsp + 0x64]
mov byte [r14 + 0x50], al
mov rcx, r14
mov edx, r15d
call fcn.1401f4c60
mov r8, r14
mov eax, dword [r14 + 0x20]
mov ecx, eax
or ecx, 0x4000
cmp byte [rsp + 0x218], 0
cmove ecx, eax
shl ebp, 4
and ebp, 0x30
mov eax, ecx
and eax, 0xffffffcf
or eax, ebp
and ecx, 0xf
lea edx, [rcx - 7]
cmp edx, 2
mov r15, qword [rsp + 0x68]
jb 0x1401ed626
test ebp, ebp
je 0x1401ed62b
cmp ecx, 9
je 0x1401ed62b
or eax, 0x4000
cmp ebx, 0x2b
sete cl
and r12d, 3
shl r12d, 8
and eax, 0xffffe03f
or eax, r12d
mov r14, r8
movzx edx, byte [r8 + 0x50]
add cl, cl
and dl, 0xfd
or dl, cl
mov byte [r8 + 0x50], dl
and r13d, 7
shl r13d, 0xa
mov ecx, dword [rsp + 0x228]
shl ecx, 6
movzx ecx, cl
or ecx, r13d
or ecx, eax
mov dword [r8 + 0x20], ecx
test r15, r15
je 0x1401ed6b0
mov rbx, qword [r15]
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x80]
call fcn.140137370
cmp rbx, rax
je 0x1401ed69d
lea rax, str.forward_reference_and_definition_of_global_have_different_types
jmp 0x1401ed3b1
mov rcx, r15
mov rdx, r14
call fcn.140122190
mov rcx, r15
call fcn.140134ed0
cmp dword [rsi + 0xe8], 4
jne 0x1401ed8b7
lea rbx, [rsi + 0xf0]
lea r15, [rsp + 0xc0]
lea r12, str.expected_global_section_string
lea r13, [rsp + 0xb0]
lea rbp, str.expected_partition_string
jmp 0x1401ed70f
lea ecx, [rax - 0x1bd]
cmp ecx, 3
jae 0x1401ed740
mov rcx, rsi
mov rdx, r14
call fcn.1401f4470
test al, al
jne 0x1401ed9de
cmp dword [rsi + 0xe8], 4
jne 0x1401ed8b7
mov rcx, qword [rsp + 0x58]
call fcn.1402273e0
mov dword [rsi + 0xe8], eax
cmp eax, 0xe2
jg 0x1401ed6e4
cmp eax, 0x5a
je 0x1401ed76a
cmp eax, 0x5b
je 0x1401ed7bd
cmp eax, 0xcc
je 0x1401ed6ef
jmp 0x1401ed820
cmp eax, 0xe3
je 0x1401ed87f
cmp eax, 0x1c9
jne 0x1401ed820
mov rcx, rsi
mov rdx, r14
call fcn.1401f4e80
test al, al
je 0x1401ed702
jmp 0x1401ed9de
mov rcx, qword [rsp + 0x58]
call fcn.1402273e0
mov dword [rsi + 0xe8], eax
cmp qword [rsi + 0x108], 0x10
mov rax, rbx
jb 0x1401ed78e
mov rax, qword [rsi + 0xf0]
mov qword [rsp + 0xc0], rax
mov rax, qword [rsi + 0x100]
mov qword [rsp + 0xc8], rax
mov rcx, r14
mov rdx, r15
call fcn.1401351b0
mov rcx, rsi
mov edx, 0x1ca
mov r8, r12
jmp 0x1401ed80e
mov rcx, qword [rsp + 0x58]
call fcn.1402273e0
mov dword [rsi + 0xe8], eax
cmp qword [rsi + 0x108], 0x10
mov rax, rbx
jb 0x1401ed7e1
mov rax, qword [rsi + 0xf0]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsi + 0x100]
mov qword [rsp + 0xb8], rax
mov rcx, r14
mov rdx, r13
call fcn.140134ad0
mov rcx, rsi
mov edx, 0x1ca
mov r8, rbp
call fcn.1401eb320
test al, al
je 0x1401ed702
jmp 0x1401ed9de
cmp qword [rdi + 0x18], 0x10
mov rax, rdi
jb 0x1401ed82d
mov rax, qword [rdi]
mov qword [rsp + 0xa0], rax
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0xa8], rax
mov rcx, rsi
lea rdx, [rsp + 0xa0]
lea r8, [rsp + 0x170]
call fcn.1401f4ee0
test al, al
jne 0x1401ed9de
mov rdx, qword [rsp + 0x170]
test rdx, rdx
je 0x1401ed9e6
mov rcx, r14
call fcn.140135030
jmp 0x1401ed702
mov byte [rsp + 0xf9], 0
mov rcx, rsi
lea rdx, [rsp + 0xf8]
xor r8d, r8d
call fcn.1401f4cb0
test al, al
jne 0x1401ed9de
movzx edx, word [rsp + 0xf8]
mov rcx, r14
call fcn.140135180
jmp 0x1401ed702
mov rax, qword [rsi + 0x158]
mov rax, qword [rax]
mov qword [rsp + 0xf8], rax
lea rdi, [rsp + 0x110]
mov qword [rsp + 0x100], rdi
movabs rax, 0x800000000
mov qword [rsp + 0x108], rax
xorps xmm0, xmm0
movaps xmmword [rsp + 0x170], xmm0
mov qword [rsp + 0x180], 0
lea rax, [rsp + 0x98]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0xf8]
lea r8, [rsp + 0x170]
mov rcx, rsi
xor r9d, r9d
call fcn.1401f5150
mov r13d, eax
test al, al
jne 0x1401ed9b5
cmp dword [rsp + 0x108], 0
jne 0x1401ed951
mov rax, qword [rsp + 0x170]
cmp rax, qword [rsp + 0x178]
je 0x1401ed9b5
mov rdx, qword [rsi]
lea rcx, [rsp + 0x90]
lea r8, [rsp + 0xf8]
call fcn.14017dd90
mov rax, qword [rsp + 0x90]
mov qword [r14 + 0x48], rax
add rsi, 0x460
mov qword [rsp + 0x88], r14
lea rdx, [rsp + 0x150]
lea r8, [rsp + 0x88]
mov rcx, rsi
call fcn.140222510
mov rcx, qword [rsp + 0x150]
add rcx, 0x28
lea rdx, [rsp + 0x170]
call fcn.1401f5480
lea rcx, [rsp + 0x170]
call fcn.1401081e0
mov rcx, qword [rsp + 0x100]
cmp rcx, rdi
je 0x1401ed1c6
call qword [0x1402f0bf8]
jmp 0x1401ed1c6
mov r13b, 1
jmp 0x1401ed1c6
lea rax, str.unknown_global_variable_property_
mov qword [rsp + 0xf8], rax
mov word [rsp + 0x118], 0x103
mov rdx, qword [rsi + 0xe0]
lea r8, [rsp + 0xf8]
mov rcx, qword [rsp + 0x58]
jmp 0x1401ed1be