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

Disassembly:
sub esp, 0x70
mov eax, dword [0xa0b130]
xor eax, esp
mov dword [esp + 0x6c], eax
push ebx
push esi
push edi
mov edi, dword [esp + 0x80]
mov ebx, ecx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x48], edi
mov eax, dword [edi + 0x18]
mov dword [esp + 0x44], eax
test eax, eax
jne 0x78117f
mov esi, dword [ebx]
mov word [esp + 0x24], 0x103
mov dword [esp + 0x1c], str.Instruction_not_embedded_in_basic_block_
test esi, esi
je 0x78211d
lea ecx, [esp + 0x1c]
jmp 0x7820fe
mov cl, byte [edi + 8]
cmp cl, 0x4f
je 0x7812a1
push 0
push dword [edi + 4]
lea eax, [esp + 0x24]
push eax
call fcn.00406122
mov esi, dword [esp + 0x28]
add esp, 0xc
mov eax, dword [esp + 0x20]
cmp esi, eax
je 0x78129e
nop dword [eax]
cmp dword [esi + 0xc], edi
jne 0x781293
mov eax, dword [ebx + 0x74]
mov ecx, dword [ebx + 0x68]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x30], eax
test eax, eax
je 0x7812de
lea edx, [eax - 1]
mov dword [esp + 0x38], 1
mov eax, dword [esp + 0x44]
shr eax, 5
xor eax, dword [esp + 0x44]
shr eax, 4
and eax, edx
mov dword [esp + 0x28], edx
lea edx, [ecx + eax*8]
mov dword [esp + 0x18], edx
mov edx, dword [edx]
cmp dword [esp + 0x44], edx
je 0x78122a
nop dword [eax]
cmp edx, 0xfffff000
je 0x7812de
mov edx, dword [esp + 0x38]
add eax, edx
and eax, dword [esp + 0x28]
inc edx
mov dword [esp + 0x38], edx
lea edx, [ecx + eax*8]
mov dword [esp + 0x18], edx
mov edx, dword [edx]
cmp dword [esp + 0x44], edx
jne 0x781200
call fcn.0040e1b0
mov ebx, dword [esp + 0x30]
mov dl, al
mov byte [esp + 0x2e], dl
test dl, dl
je 0x781258
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x18]
add edx, 8
lea ecx, [eax + ebx*8]
cmp dword [esp + 0x18], ecx
cmovne eax, edx
mov dl, byte [esp + 0x2e]
jmp 0x78125c
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x34], eax
lea ebx, [ecx + ebx*8]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x40]
test dl, dl
jne 0x781277
mov ecx, dword [esp + 0x28]
cmp eax, ecx
je 0x78128f
add eax, 0xfffffff8
test dl, dl
cmove eax, dword [esp + 0x34]
cmp dword [eax + 4], 0
jne 0x781339
mov eax, dword [esp + 0x20]
mov esi, dword [esi + 4]
cmp esi, eax
jne 0x7811b0
mov cl, byte [edi + 8]
mov eax, dword [edi]
mov al, byte [eax + 4]
cmp al, 7
jne 0x78135b
mov eax, dword [edi + 0xc]
shr eax, 0x1d
test al, 1
je 0x7813a9
mov esi, dword [ebx]
mov word [esp + 0x24], 0x103
mov dword [esp + 0x1c], str.Instruction_has_a_name__but_provides_a_void_value_
test esi, esi
je 0x78211d
lea ecx, [esp + 0x1c]
jmp 0x7820fe
call fcn.0040e1b0
mov ecx, dword [ebx + 0x74]
mov edx, dword [esp + 0x3c]
shl ecx, 3
mov dword [esp + 0x38], ecx
add ecx, edx
mov byte [esp + 0x2e], al
mov dword [esp + 0x28], ecx
test al, al
je 0x781324
mov eax, dword [ebx + 0x74]
add ecx, 8
mov dword [esp + 0x34], edx
lea eax, [edx + eax*8]
cmp dword [esp + 0x28], eax
mov eax, edx
cmovne eax, ecx
mov ecx, edx
mov dl, byte [esp + 0x2e]
mov dword [esp + 0x34], eax
jmp 0x781277
mov eax, ecx
mov ecx, dword [esp + 0x38]
add ecx, edx
mov dword [esp + 0x34], eax
mov dl, byte [esp + 0x2e]
jmp 0x781277
mov esi, dword [ebx]
mov word [esp + 0x24], 0x103
mov dword [esp + 0x1c], str.Only_PHI_nodes_may_reference_their_own_value_
test esi, esi
je 0x78211d
lea ecx, [esp + 0x1c]
jmp 0x7820fe
cmp al, 0xd
je 0x7820e5
cmp al, 9
jne 0x7813a9
cmp cl, 0x50
je 0x7813a9
cmp cl, 0x1d
je 0x7813a9
lea eax, [esp + 0x28]
mov dword [esp + 0x28], edi
push eax
lea eax, [esp + 0x20]
mov word [esp + 0x28], 0x103
push eax
mov ecx, ebx
mov dword [esp + 0x24], str.Invalid_use_of_metadata_
call fcn.00406f19
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004087b5
add esp, 0x70
ret 4
push 0
push dword [edi + 4]
lea eax, [esp + 0x24]
push eax
call fcn.00404dd6
mov esi, dword [esp + 0x28]
add esp, 0xc
mov ecx, dword [esp + 0x20]
cmp esi, ecx
je 0x7813e5
mov eax, dword [esi + 0xc]
cmp byte [eax + 8], 0x18
jb 0x781444
mov dword [esp + 0x28], eax
test eax, eax
je 0x781444
cmp dword [eax + 0x18], 0
je 0x781407
mov esi, dword [esi + 4]
cmp esi, ecx
jne 0x7813c7
mov al, byte [edi + 8]
cmp al, 0x50
je 0x781499
cmp al, 0x1d
je 0x781499
cmp al, 0x23
je 0x781499
xor al, al
jmp 0x78149b
lea eax, [esp + 0x28]
mov dword [esp + 0x38], edi
push eax
lea eax, [esp + 0x3c]
mov word [esp + 0x28], 0x103
push eax
lea eax, [esp + 0x24]
mov dword [esp + 0x24], str.Instruction_referencing_instruction_not_embedded_in_a_basic_block_
push eax
mov ecx, ebx
call fcn.0040a137
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004087b5
add esp, 0x70
ret 4
mov edi, dword [ebx]
mov word [esp + 0x24], 0x103
mov dword [esp + 0x1c], str.Use_of_instruction_is_not_an_instruction_
test edi, edi
je 0x78147c
push edi
lea ecx, [esp + 0x20]
call fcn.00415046
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 8]
jb 0x781476
push 0xa
mov ecx, edi
call fcn.0040c4b4
jmp 0x78147c
mov byte [eax], 0xa
inc dword [edi + 0xc]
cmp dword [ebx], 0
mov byte [ebx + 0x54], 1
je 0x78212e
mov eax, dword [esi]
test eax, eax
je 0x78212e
push eax
jmp 0x782127
mov al, 1
xor edx, edx
mov ecx, edi
test al, al
cmove ecx, edx
xor eax, eax
mov dword [esp + 0x38], ecx
mov ecx, dword [edi + 0xc]
and ecx, 0xfffffff
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1c], ecx
je 0x7818b6
mov dword [esp + 0x34], eax
push eax
mov ecx, edi
call fcn.00403de1
test eax, eax
je 0x781a28
mov esi, dword [edi + 0xc]
mov edx, esi
mov ecx, esi
and edx, 0xfffffff
and ecx, 0x40000000
je 0x7814ef
mov eax, dword [edi - 4]
jmp 0x781500
mov eax, edx
mov dword [esp + 0x18], edi
shl eax, 4
sub dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x34]
mov eax, dword [ebx + eax]
mov ebx, dword [esp + 0x40]
mov eax, dword [eax]
mov al, byte [eax + 4]
cmp al, 0xd
je 0x781a1b
cmp al, 7
je 0x781a1b
test ecx, ecx
je 0x78152d
mov eax, dword [edi - 4]
mov dword [esp + 0x30], eax
jmp 0x78153a
mov eax, edx
mov ebx, edi
shl eax, 4
sub ebx, eax
mov dword [esp + 0x30], ebx
mov edi, dword [esp + 0x34]
mov eax, edx
mov ebx, dword [esp + 0x30]
shl eax, 4
mov ebx, dword [edi + ebx]
mov edi, dword [esp + 0x48]
mov dword [esp + 0x28], ebx
cmp byte [ebx + 8], 0
mov ebx, dword [esp + 0x40]
jne 0x781620
mov esi, dword [esp + 0x28]
mov eax, dword [esi + 0x14]
shr eax, 0xd
test al, 1
je 0x7815c5
cmp dword [esp + 0x38], 0
je 0x781971
push dword [esp + 0x3c]
mov ecx, edi
call fcn.0040137f
mov ecx, dword [esp + 0x38]
add ecx, 0xfffffff0
cmp ecx, eax
jne 0x781971
cmp byte [edi + 8], 0x50
je 0x7815c5
mov eax, dword [esi + 0x18]
cmp eax, 0x31
je 0x7815c5
cmp eax, 0x22
je 0x7815c5
cmp eax, 0x16
je 0x7815c5
cmp eax, 0x72
je 0x7815c5
cmp eax, 0x71
je 0x7815c5
cmp eax, 0x6f
je 0x7815c5
cmp eax, 0x1a8a
jne 0x781939
mov eax, dword [esi + 0x1c]
mov ecx, dword [ebx + 4]
mov dword [esp + 0x30], eax
mov dword [esp + 0x28], ecx
cmp eax, ecx
je 0x78189e
mov eax, dword [ebx]
mov word [esp + 0x14], 0x103
mov dword [esp + 0xc], str.Referencing_function_in_another_module_
mov dword [esp + 0x1c], eax
test eax, eax
je 0x781984
push eax
lea ecx, [esp + 0x10]
call fcn.00415046
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0xc]
cmp ecx, dword [eax + 8]
jb 0x78197e
push 0xa
mov ecx, eax
call fcn.0040c4b4
jmp 0x781984
mov dword [esp + 0x18], eax
test ecx, ecx
je 0x78162d
mov ebx, dword [edi - 4]
jmp 0x781631
mov ebx, edi
sub ebx, eax
mov edi, dword [esp + 0x34]
neg dword [esp + 0x18]
mov dword [esp + 0x30], ebx
mov ebx, dword [edi + ebx]
mov edi, dword [esp + 0x48]
mov dword [esp + 0x28], ebx
cmp byte [ebx + 8], 0x12
mov ebx, dword [esp + 0x40]
jne 0x78169e
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x44]
mov eax, dword [eax + 0x28]
cmp eax, dword [ecx + 0x28]
je 0x78189e
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], edi
push eax
lea eax, [esp + 0x10]
mov word [esp + 0x18], 0x103
push eax
mov ecx, ebx
mov dword [esp + 0x14], str.Referring_to_a_basic_block_in_another_function_
call fcn.00406f19
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004087b5
add esp, 0x70
ret 4
test ecx, ecx
je 0x7816b7
mov edx, dword [edi - 4]
and esi, 0xfffffff
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x18]
add edx, edi
jmp 0x7816c7
mov esi, dword [esp + 0x18]
add esi, edi
mov dword [esp + 0x30], esi
mov esi, edx
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x28], edx
mov ebx, dword [edi + ebx]
mov edi, dword [esp + 0x48]
mov dword [esp + 0x30], ebx
cmp byte [ebx + 8], 0x11
mov ebx, dword [esp + 0x40]
jne 0x781734
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x44]
mov eax, dword [eax + 0x10]
cmp eax, dword [ecx + 0x28]
je 0x78189e
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], edi
push eax
lea eax, [esp + 0x10]
mov word [esp + 0x18], 0x103
push eax
mov ecx, ebx
mov dword [esp + 0x14], str.Referring_to_an_argument_in_another_function_
call fcn.00406f19
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004087b5
add esp, 0x70
ret 4
test ecx, ecx
je 0x781740
mov eax, dword [edi - 4]
shl esi, 4
jmp 0x781744
mov esi, eax
mov eax, edx
mov ebx, dword [esp + 0x34]
mov eax, dword [ebx + eax]
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x30], eax
mov al, byte [eax + 8]
cmp al, 3
je 0x781766
test al, al
je 0x781766
cmp al, 1
je 0x781766
cmp al, 2
jne 0x7817c1
mov eax, dword [esp + 0x30]
test eax, eax
je 0x7817c1
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebx + 4]
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], ecx
cmp eax, ecx
je 0x78189e
mov esi, dword [ebx]
mov word [esp + 0x14], 0x103
mov dword [esp + 0xc], str.Referencing_global_in_another_module_
test esi, esi
je 0x7819d1
push esi
lea ecx, [esp + 0x10]
call fcn.00415046
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jb 0x7819cb
push 0xa
mov ecx, esi
call fcn.0040c4b4
jmp 0x7819d1
test ecx, ecx
je 0x7817cc
mov eax, dword [edi - 4]
neg esi
jmp 0x7817d2
mov esi, dword [esp + 0x18]
mov eax, edx
mov ebx, dword [esp + 0x34]
mov eax, dword [ebx + eax]
mov ebx, dword [esp + 0x40]
cmp byte [eax + 8], 0x18
jb 0x7817f4
push dword [esp + 0x3c]
mov ecx, ebx
push edi
call fcn.00770130
jmp 0x78189e
test ecx, ecx
je 0x781800
mov eax, dword [edi - 4]
lea edx, [esi + edi]
jmp 0x781804
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x34]
mov eax, dword [esi + eax]
cmp byte [eax + 8], 0x14
jne 0x781862
mov eax, dword [esp + 0x38]
test eax, eax
je 0x78182a
test ecx, ecx
je 0x781820
mov edx, dword [edi - 4]
lea ecx, [esi + edx]
add eax, 0xfffffff0
cmp eax, ecx
je 0x78189e
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], edi
push eax
lea eax, [esp + 0x10]
mov word [esp + 0x18], 0x103
push eax
mov ecx, ebx
mov dword [esp + 0x14], str.Cannot_take_the_address_of_an_inline_asm_
call fcn.00406f19
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004087b5
add esp, 0x70
ret 4
test ecx, ecx
je 0x781869
mov edx, dword [edi - 4]
mov edx, dword [esi + edx]
cmp byte [edx + 8], 5
jne 0x78189e
mov ecx, dword [edx]
mov al, byte [ecx + 4]
cmp al, 0x12
je 0x78187f
cmp al, 0x11
jne 0x781884
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax]
cmp byte [ecx + 4], 0xe
je 0x781896
mov eax, dword [ebx + 0x4c]
cmp dword [eax + 0x168], 0
je 0x78189e
push edx
mov ecx, ebx
call fcn.007783b0
mov eax, dword [esp + 0x3c]
add dword [esp + 0x34], 0x10
inc eax
mov dword [esp + 0x3c], eax
cmp eax, dword [esp + 0x1c]
jne 0x7814c5
cmp dword [edi + 0x1c], 0
jne 0x7818cc
mov ax, word [edi + 0xa]
shr ax, 0xf
test al, al
je 0x781bf4
push 3
mov ecx, edi
call fcn.0040e6ba
mov esi, eax
test esi, esi
je 0x781bf4
mov ecx, dword [edi]
mov al, byte [ecx + 4]
cmp al, 0x12
je 0x7818ec
cmp al, 0x11
jne 0x7818f1
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax]
mov al, byte [ecx + 4]
test al, al
je 0x781a35
cmp al, 1
je 0x781a35
cmp al, 2
je 0x781a35
cmp al, 3
je 0x781a35
cmp al, 4
je 0x781a35
cmp al, 5
je 0x781a35
cmp al, 6
je 0x781a35
mov dword [esp + 0xc], str.fpmath_requires_a_floating_point_result_
jmp 0x7820ed
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], edi
push eax
lea eax, [esp + 0x10]
mov word [esp + 0x18], 0x103
push eax
mov ecx, ebx
mov dword [esp + 0x14], str.Cannot_invoke_an_intrinsic_other_than_donothing__patchpoint__statepoint__coro_resume_or_coro_destroy
call fcn.00406f19
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004087b5
add esp, 0x70
ret 4
mov dword [esp + 0xc], str.Cannot_take_the_address_of_an_intrinsic_
jmp 0x7820ed
mov byte [ecx], 0xa
inc dword [eax + 0xc]
cmp dword [ebx], 0
mov byte [ebx + 0x54], 1
je 0x78212e
push edi
mov ecx, ebx
call fcn.0040a9b6
push dword [esp + 0x28]
mov ecx, ebx
call fcn.00404313
push esi
mov ecx, ebx
call fcn.0040a9b6
push dword [esp + 0x30]
mov ecx, ebx
call fcn.00404313
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004087b5
add esp, 0x70
ret 4
mov byte [eax], 0xa
inc dword [esi + 0xc]
cmp dword [ebx], 0
mov byte [ebx + 0x54], 1
je 0x78212e
push edi
mov ecx, ebx
call fcn.0040a9b6
push dword [esp + 0x28]
mov ecx, ebx
call fcn.00404313
push dword [esp + 0x30]
mov ecx, ebx
call fcn.0040a9b6
push dword [esp + 0x18]
mov ecx, ebx
call fcn.00404313
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004087b5
add esp, 0x70
ret 4
mov dword [esp + 0xc], str.Instruction_operands_must_be_first_class_values_
jmp 0x7820ed
mov dword [esp + 0xc], str.Instruction_has_null_operand_
jmp 0x7820ed
cmp dword [esi + 8], 1
je 0x781a73
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], edi
push eax
lea eax, [esp + 0x10]
mov word [esp + 0x18], 0x103
push eax
mov ecx, ebx
mov dword [esp + 0x14], str.fpmath_takes_one_operand_
call fcn.00406f19
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004087b5
add esp, 0x70
ret 4
mov esi, dword [esi - 4]
test esi, esi
je 0x781bbc
cmp byte [esi], 1
jne 0x781bbc
mov esi, dword [esi + 0x80]
xor eax, eax
cmp byte [esi + 8], 0xe
cmovne esi, eax
test esi, esi
je 0x781bbc
mov eax, dword [esi + 0x10]
add esi, 0x10
mov dword [esp + 0x18], esi
mov dword [esp + 0x28], eax
call fcn.004033dc
cmp dword [esp + 0x28], eax
je 0x781aef
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], edi
push eax
lea eax, [esp + 0x10]
mov word [esp + 0x18], 0x103
push eax
mov ecx, ebx
mov dword [esp + 0x14], str.fpmath_accuracy_must_have_float_type
call fcn.00406f19
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004087b5
add esp, 0x70
ret 4
call fcn.00402b5d
cmp dword [esp + 0x28], eax
je 0x781afe
mov eax, esi
jmp 0x781b06
call fcn.00402b5d
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x14]
and al, 7
cmp al, 1
je 0x781b84
mov esi, dword [esi]
call fcn.00402b5d
cmp esi, eax
je 0x781b22
mov eax, dword [esp + 0x18]
mov ecx, eax
jmp 0x781b2e
call fcn.00402b5d
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 4]
test byte [ecx + 0x14], 7
je 0x781b84
mov esi, dword [eax]
call fcn.00402b5d
cmp esi, eax
je 0x781b47
mov esi, dword [esp + 0x18]
mov eax, esi
jmp 0x781b53
call fcn.00402b5d
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x14]
and eax, 7
cmp al, 3
je 0x781b84
mov esi, dword [esi]
call fcn.00402b5d
cmp esi, eax
je 0x781b6e
mov eax, dword [esp + 0x18]
jmp 0x781b7a
call fcn.00402b5d
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x14]
shr eax, 3
test al, 1
je 0x781bf4
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], edi
push eax
lea eax, [esp + 0x10]
mov word [esp + 0x18], 0x103
push eax
mov ecx, ebx
mov dword [esp + 0x14], str.fpmath_accuracy_not_a_positive_number_
call fcn.00406f19
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004087b5
add esp, 0x70
ret 4
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], edi
push eax
lea eax, [esp + 0x10]
mov word [esp + 0x18], 0x103
push eax
mov ecx, ebx
mov dword [esp + 0x14], str.invalid_fpmath_accuracy_
call fcn.00406f19
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004087b5
add esp, 0x70
ret 4
cmp dword [edi + 0x1c], 0
jne 0x781c06
mov ax, word [edi + 0xa]
shr ax, 0xf
test al, al
je 0x781c68
push 4
mov ecx, edi
call fcn.0040e6ba
test eax, eax
je 0x781c68
mov cl, byte [edi + 8]
cmp cl, 0x38
je 0x781c5d
cmp cl, 0x50
je 0x781c5d
cmp cl, 0x1d
je 0x781c5d
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], edi
push eax
lea eax, [esp + 0x10]
mov word [esp + 0x18], 0x103
push eax
mov ecx, ebx
mov dword [esp + 0x14], str.Ranges_are_only_for_loads__calls_and_invokes_
call fcn.00406f19
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004087b5
add esp, 0x70
ret 4
push dword [edi]
mov ecx, ebx
push eax
push edi
call fcn.007876f0
cmp dword [edi + 0x1c], 0
jne 0x781c7e
mov ax, word [edi + 0xa]
shr ax, 0xf
test al, al
je 0x781d09
push 0xb
mov ecx, edi
call fcn.0040e6ba
test eax, eax
je 0x781d09
mov eax, dword [edi]
cmp byte [eax + 4], 0xe
je 0x781ccb
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], edi
push eax
lea eax, [esp + 0x10]
mov word [esp + 0x18], 0x103
push eax
mov ecx, ebx
mov dword [esp + 0x14], str.nonnull_applies_only_to_pointer_types
call fcn.00406f19
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004087b5
add esp, 0x70
ret 4
cmp byte [edi + 8], 0x38
je 0x781d09
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], edi
push eax
lea eax, [esp + 0x10]
mov word [esp + 0x18], 0x103
push eax
mov ecx, ebx
mov dword [esp + 0x14], str.nonnull_applies_only_to_load_instructions__use_attributes_for_calls_or_invokes
call fcn.00406f19
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004087b5
add esp, 0x70
ret 4
cmp dword [edi + 0x1c], 0
jne 0x781d1b
mov ax, word [edi + 0xa]
shr ax, 0xf
test al, al
je 0x781d31
push 0xc
mov ecx, edi
call fcn.0040e6ba
test eax, eax
je 0x781d31
push eax
push edi
mov ecx, ebx
call fcn.0077cf10
cmp dword [edi + 0x1c], 0
jne 0x781d43
mov ax, word [edi + 0xa]
shr ax, 0xf
test al, al
je 0x781d59
push 0xd
mov ecx, edi
call fcn.0040e6ba
test eax, eax
je 0x781d59
push eax
push edi
mov ecx, ebx
call fcn.0077cf10
cmp dword [edi + 0x1c], 0
jne 0x781d6b
mov ax, word [edi + 0xa]
shr ax, 0xf
test al, al
je 0x781d85
push 1
mov ecx, edi
call fcn.0040e6ba
test eax, eax
je 0x781d85
push eax
push edi
lea ecx, [ebx + 0x370]
call fcn.0040c149
cmp dword [edi + 0x1c], 0
jne 0x781d9b
mov ax, word [edi + 0xa]
shr ax, 0xf
test al, al
je 0x781f65
push 0x11
mov ecx, edi
call fcn.0040e6ba
test eax, eax
je 0x781f65
mov ecx, dword [edi]
cmp byte [ecx + 4], 0xe
je 0x781dec
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], edi
push eax
lea eax, [esp + 0x10]
mov word [esp + 0x18], 0x103
push eax
mov ecx, ebx
mov dword [esp + 0x14], str.align_applies_only_to_pointer_types
call fcn.00406f19
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004087b5
add esp, 0x70
ret 4
cmp byte [edi + 8], 0x38
je 0x781e2a
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], edi
push eax
lea eax, [esp + 0x10]
mov word [esp + 0x18], 0x103
push eax
mov ecx, ebx
mov dword [esp + 0x14], str.align_applies_only_to_load_instructions__use_attributes_for_calls_or_invokes
call fcn.00406f19
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004087b5
add esp, 0x70
ret 4
cmp dword [eax + 8], 1
je 0x781e68
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], edi
push eax
lea eax, [esp + 0x10]
mov word [esp + 0x18], 0x103
push eax
mov ecx, ebx
mov dword [esp + 0x14], str.align_takes_one_operand_
call fcn.00406f19
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004087b5
add esp, 0x70
ret 4
add eax, 0xfffffffc
push eax
call fcn.0040b6db
mov esi, eax
add esp, 4
test esi, esi
je 0x781f2d
mov ecx, dword [esi]
push 0x40
call fcn.0040ac86
test al, al
je 0x781f2d
mov ecx, esi
call fcn.00402b99
mov ecx, eax
or ecx, edx
je 0x781ef5
mov esi, eax
mov ecx, edx
add esi, 0xffffffff
adc ecx, 0xffffffff
and esi, eax
and ecx, edx
or esi, ecx
jne 0x781ef5
test edx, edx
jne 0x781ebd
cmp eax, 0x20000000
jbe 0x781f65
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], edi
push eax
lea eax, [esp + 0x10]
mov word [esp + 0x18], 0x103
push eax
mov ecx, ebx
mov dword [esp + 0x14], str.alignment_is_larger_that_implementation_defined_limit
call fcn.00406f19
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004087b5
add esp, 0x70
ret 4
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], edi
push eax
lea eax, [esp + 0x10]
mov word [esp + 0x18], 0x103
push eax
mov ecx, ebx
mov dword [esp + 0x14], str.align_metadata_value_must_be_a_power_of_2_
call fcn.00406f19
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004087b5
add esp, 0x70
ret 4
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], edi
push eax
lea eax, [esp + 0x10]
mov word [esp + 0x18], 0x103
push eax
mov ecx, ebx
mov dword [esp + 0x14], str.align_metadata_value_must_be_an_i64_
call fcn.00406f19
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004087b5
add esp, 0x70
ret 4
cmp dword [edi + 0x1c], 0
jne 0x781f77
mov ax, word [edi + 0xa]
shr ax, 0xf
test al, al
je 0x781f8d
push 2
mov ecx, edi
call fcn.0040e6ba
test eax, eax
je 0x781f8d
push eax
push edi
mov ecx, ebx
call fcn.007872a0
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x781ff1
cmp byte [eax], 5
mov ecx, ebx
je 0x781fe9
lea eax, [esp + 0xc]
mov word [esp + 0x14], 0x103
push eax
mov dword [esp + 0x10], str.invalid__dbg_metadata_attachment
call fcn.00407d9c
cmp dword [ebx], 0
je 0x78212e
push edi
mov ecx, ebx
call fcn.0040a9b6
lea eax, [esp + 0x1c]
mov ecx, ebx
push eax
call fcn.00409133
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004087b5
add esp, 0x70
ret 4
push 1
push eax
call fcn.00785ca0
mov al, byte [edi + 8]
cmp al, 0x18
jb 0x782035
cmp al, 0x50
jne 0x782035
mov ecx, dword [edi - 0x10]
test ecx, ecx
je 0x782035
cmp byte [ecx + 8], 0
jne 0x782035
mov eax, dword [ecx + 0x14]
shr eax, 0xd
and al, 1
je 0x782035
mov eax, dword [ecx + 0x18]
sub eax, 0x2c
je 0x782025
sub eax, 1
je 0x782025
sub eax, 2
jne 0x782035
push edi
mov ecx, ebx
call fcn.00770470
push edi
mov ecx, ebx
call fcn.00771e70
xor ecx, ecx
mov dword [esp + 0x54], 4
lea esi, [esp + 0x58]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x4c], esi
cmp dword [edi + 0x1c], ecx
jne 0x78205c
mov ax, word [edi + 0xa]
shr ax, 0xf
test al, al
je 0x782070
lea eax, [esp + 0x4c]
mov ecx, edi
push eax
call fcn.0040a07e
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x4c]
lea eax, [esi + ecx*8]
mov dword [esp + 0x1c], eax
cmp esi, eax
je 0x7820aa
mov edi, eax
nop dword [eax]
mov eax, dword [esi]
test eax, eax
je 0x78208f
cmp eax, 0x12
je 0x78208f
xor eax, eax
jmp 0x782094
mov eax, 1
push eax
push dword [esi + 4]
mov ecx, ebx
call fcn.00785ca0
add esi, 8
cmp esi, edi
jne 0x782080
mov edi, dword [esp + 0x48]
push edi
lea eax, [esp + 0x10]
push eax
lea ecx, [ebx + 0x88]
call fcn.004057ef
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0x58]
cmp eax, ecx
je 0x78212e
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004087b5
add esp, 0x70
ret 4
mov dword [esp + 0xc], str.Instruction_returns_a_non_scalar_type_
mov esi, dword [ebx]
mov word [esp + 0x14], 0x103
test esi, esi
je 0x78211d
lea ecx, [esp + 0xc]
push esi
call fcn.00415046
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jb 0x782117
push 0xa
mov ecx, esi
call fcn.0040c4b4
jmp 0x78211d
mov byte [eax], 0xa
inc dword [esi + 0xc]
cmp dword [ebx], 0
mov byte [ebx + 0x54], 1
je 0x78212e
push edi
mov ecx, ebx
call fcn.0040a9b6
mov ecx, dword [esp + 0x78]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004087b5
add esp, 0x70
ret 4