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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xc8
mov edi, ecx
lea eax, [ecx + 0xc]
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov dword [ecx + 8], 4
xorps xmm0, xmm0
mov eax, dword [sym.imp.libLLVM_17.dll_vtable_for_llvm::raw_string_ostream]
add eax, 8
mov dword [esp + 0x9c], eax
mov ebx, dword [ebp + 0xc]
lea esi, [esp + 0xa0]
mov dword [esp + 4], ecx
jmp 0x45ae4a
mov eax, dword [esp + 0x78]
cmp dword [esp + 0x74], eax
mov eax, 0
sbb eax, dword [esp + 0x7c]
xorps xmm0, xmm0
jb 0x45bf0b
cmp ebx, 8
jb 0x45bf0b
lea eax, [ebp + 8]
mov edx, dword [eax]
mov ecx, esi
mov esi, dword [edx]
mov dword [esp + 0x70], esi
mov esi, dword [edx + 4]
add ebx, 0xfffffff8
add edx, 8
mov dword [eax + 4], ebx
mov dword [esp + 0x6c], edx
mov dword [eax], edx
xor eax, eax
mov dword [esp + 0x3c], esi
add esi, 3
setb al
mov dword [esp + 0x7c], eax
and esi, 0xfffffffc
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x88], 0
movups xmmword [esp + 0xa4], xmm0
mov byte [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 1
mov edi, dword [esp + 0x9c]
mov dword [esp + 0xa0], edi
lea eax, [esp + 0x80]
mov dword [esp + 0xc0], eax
push 0
push 0
push 0
call fcn.005507ce
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], esi
cmp ebx, esi
mov eax, 0
sbb eax, dword [esp + 0x7c]
jae 0x45afa0
mov dword [esp + 0x44], str._corrupt_type__0x_x__datasz:_0x_x_
mov dword [esp + 0x40], 0x55c9a8
mov eax, dword [esp + 0x70]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x4c], eax
lea esi, [esp + 0xa0]
mov ecx, esi
lea eax, [esp + 0x40]
push eax
call fcn.005507fe
mov edi, dword [esp + 4]
mov ecx, edi
push 1
push dword [esp + 0xc4]
call fcn.0045bfc0
mov ecx, dword [edi + 4]
lea ebx, [ecx + ecx*2]
shl ebx, 2
add ebx, dword [edi]
test byte [eax], 1
jne 0x45b080
mov ecx, dword [eax + 8]
mov dword [ebx + 8], ecx
movsd xmm0, qword [eax]
movsd qword [ebx], xmm0
inc dword [edi + 4]
mov ebx, dword [esp + 0x74]
mov ecx, esi
call fcn.005507e6
test byte [esp + 0x80], 1
je 0x45ae30
jmp 0x45bef7
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x98], 0
xorps xmm0, xmm0
movups xmmword [esp + 0x1c], xmm0
mov byte [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 1
mov dword [esp + 0x18], edi
lea eax, [esp + 0x90]
mov dword [esp + 0x38], eax
lea ecx, [esp + 0x18]
push 0
push 0
push 0
call fcn.005507ce
mov esi, dword [esp + 0x70]
cmp esi, 0xc0010000
jg 0x45b0a0
cmp esi, 0xc0008000
jg 0x45b0c1
cmp esi, 0xc0000000
je 0x45b02c
cmp esi, 0xc0000002
jne 0x45b300
xor ecx, ecx
cmp esi, 0xc0000000
sete cl
mov eax, str.x86_feature:
mov edx, str.aarch64_feature:
cmove eax, edx
lea ebx, [ecx*4 + 0xd]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
sub edx, ecx
cmp ebx, edx
jbe 0x45b1ce
lea ecx, [esp + 0x18]
push ebx
push eax
call fcn.005507d4
mov eax, dword [esp + 0x3c]
cmp eax, 4
je 0x45b1ea
jmp 0x45b3fa
mov ecx, dword [eax + 4]
mov esi, dword [eax + 8]
cmp ecx, 0xa
ja 0x45b109
mov eax, ecx
add al, cl
mov byte [ebx], al
inc ebx
jmp 0x45b13c
test esi, esi
jg 0x45b154
cmp esi, 0xc0010001
je 0x45b19e
cmp esi, 0xc0010002
je 0x45b0d9
jmp 0x45b300
cmp esi, 0xc0008001
je 0x45b19e
cmp esi, 0xc0008002
jne 0x45b300
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 7
ja 0x45b242
lea ecx, [esp + 0x18]
push 8
push str.x86_ISA
call fcn.005507d4
mov ecx, dword [eax + 0x10]
mov edi, eax
add edi, 0x10
jmp 0x45b262
cmp ecx, 0xfffffff0
jae 0x45bfa2
mov edi, ecx
or edi, 0xf
lea eax, [edi + 1]
push eax
mov dword [esp + 0x74], ecx
call sub.libc.dll_operator_new_unsigned_int_
mov ecx, dword [esp + 0x74]
add esp, 4
mov dword [ebx + 8], eax
add edi, 2
mov dword [ebx], edi
mov dword [ebx + 4], ecx
mov ebx, eax
mov edi, dword [esp + 4]
inc ecx
push ecx
push esi
push ebx
call sub.msvcrt.dll_memmove
add esp, 0xc
inc dword [edi + 4]
mov ebx, dword [esp + 0x74]
jmp 0x45bedb
cmp esi, 1
je 0x45b2a9
cmp esi, 2
jne 0x45b300
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 0x13
ja 0x45b4d5
lea ecx, [esp + 0x18]
push 0x14
push str.no_copy_on_protected
call fcn.005507d4
mov eax, dword [esp + 0x3c]
test eax, eax
mov edi, dword [esp + 4]
jne 0x45b4fb
jmp 0x45be02
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 0xb
ja 0x45b319
lea ecx, [esp + 0x18]
push 0xc
push str.x86_feature
call fcn.005507d4
mov ecx, dword [eax + 0x10]
mov edi, eax
add edi, 0x10
jmp 0x45b340
push ebx
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
add dword [esp + 0x28], ebx
mov eax, dword [esp + 0x3c]
cmp eax, 4
jne 0x45b3fa
mov eax, dword [esp + 0x6c]
mov ebx, dword [eax]
test ebx, ebx
je 0x45b49b
cmp esi, 0xc0000000
jne 0x45b593
test bl, 1
mov edi, dword [esp + 4]
je 0x45b9e1
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 2
ja 0x45b9a7
lea ecx, [esp + 0x18]
push 3
push 0x55ff0c
call fcn.005507d4
and ebx, 0xfffffffe
jne 0x45b9be
jmp 0x45be02
mov dword [eax + 4], 0x20415349
mov dword [eax], 0x20363878
mov ecx, dword [esp + 0x28]
add ecx, 8
mov dword [esp + 0x28], ecx
lea eax, [esp + 0x18]
lea edi, [esp + 0x28]
xor ebx, ebx
cmp esi, 0xc0008002
sete bl
mov edx, str.used:
mov esi, str.needed:
cmove edx, esi
lea esi, [ebx*2 + 6]
mov ebx, dword [eax + 0xc]
sub ebx, ecx
cmp esi, ebx
jbe 0x45b37c
mov ecx, eax
push esi
push edx
call fcn.005507d4
mov eax, dword [esp + 0x3c]
cmp eax, 4
je 0x45b392
jmp 0x45b3fa
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 0xb
ja 0x45b514
lea ecx, [esp + 0x18]
push 0xc
push str.stack_size:
call fcn.005507d4
mov eax, dword [esp + 0x3c]
cmp eax, 4
je 0x45b53a
mov dword [esp + 0x44], str._corrupt_length:_0x_x_
mov dword [esp + 0x40], 0x55ffc4
mov dword [esp + 0x48], eax
lea ecx, [esp + 0x18]
lea eax, [esp + 0x40]
push eax
call fcn.005507fe
jmp 0x45b58a
mov dword [esp + 0x44], str._application_specific_type_0x_x_
mov dword [esp + 0x40], 0x55ffc4
mov dword [esp + 0x48], esi
jmp 0x45b40e
mov dword [eax + 8], 0x20657275
mov dword [eax + 4], 0x74616566
mov dword [eax], 0x20363878
mov ecx, dword [esp + 0x28]
add ecx, 0xc
mov dword [esp + 0x28], ecx
lea eax, [esp + 0x18]
lea edi, [esp + 0x28]
xor ebx, ebx
cmp esi, 0xc0008001
sete bl
mov edx, str.used:
mov esi, str.needed:
cmove edx, esi
lea esi, [ebx*2 + 6]
mov ebx, dword [eax + 0xc]
sub ebx, ecx
cmp esi, ebx
jbe 0x45b3bb
mov ecx, eax
push esi
push edx
call fcn.005507d4
mov eax, dword [esp + 0x3c]
cmp eax, 4
je 0x45b3d1
jmp 0x45b3fa
push esi
push edx
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
add dword [edi], esi
mov eax, dword [esp + 0x3c]
cmp eax, 4
jne 0x45b3fa
mov eax, dword [esp + 0x6c]
mov ebx, dword [eax]
test ebx, ebx
je 0x45b49b
test bl, 1
jne 0x45b5d1
mov edi, dword [esp + 4]
test bl, 2
jne 0x45b6d4
jmp 0x45b73f
push esi
push edx
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
add dword [edi], esi
mov eax, dword [esp + 0x3c]
cmp eax, 4
jne 0x45b3fa
mov eax, dword [esp + 0x6c]
mov ebx, dword [eax]
test ebx, ebx
je 0x45b49b
test bl, 1
jne 0x45b5fe
mov edi, dword [esp + 4]
test bl, 2
jne 0x45b7d0
jmp 0x45b833
mov dword [esp + 0x44], str._corrupt_length:_0x_x_
mov dword [esp + 0x40], 0x55ffc4
mov dword [esp + 0x48], eax
lea ecx, [esp + 0x18]
lea eax, [esp + 0x40]
push eax
call fcn.005507fe
mov eax, dword [esp + 0x38]
test byte [eax], 1
jne 0x45b456
mov ecx, dword [eax + 8]
mov dword [esp + 0x10], ecx
movsd xmm0, qword [eax]
movsd qword [esp + 8], xmm0
mov edi, dword [esp + 4]
lea ecx, [esp + 0x18]
call fcn.005507e6
test byte [esp + 0x90], 1
jne 0x45be6b
jmp 0x45be7a
mov ebx, dword [eax + 4]
mov esi, dword [eax + 8]
cmp ebx, 0xa
mov edi, dword [esp + 4]
jbe 0x45be40
cmp ebx, 0xfffffff0
jae 0x45bfa9
mov edi, ebx
or edi, 0xf
lea eax, [edi + 1]
push eax
call sub.libc.dll_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x10], eax
add edi, 2
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebx
mov edi, dword [esp + 4]
jmp 0x45be4c
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 5
ja 0x45b4bf
lea ecx, [esp + 0x18]
push 6
push str._None_
call fcn.005507d4
jmp 0x45b58a
mov word [eax + 4], 0x3e65
mov dword [eax], 0x6e6f4e3c
add dword [esp + 0x28], 6
jmp 0x45b58a
movups xmm0, xmmword [str.no_copy_on_protected]
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0x64657463
add dword [esp + 0x28], 0x14
mov eax, dword [esp + 0x3c]
test eax, eax
mov edi, dword [esp + 4]
je 0x45be02
mov dword [esp + 0x44], str.__corrupt_length:_0x_x_
mov dword [esp + 0x40], 0x55ffc4
mov dword [esp + 0x48], eax
jmp 0x45bdf4
mov dword [eax + 8], 0x203a657a
mov dword [eax + 4], 0x6973206b
mov dword [eax], 0x63617473
add dword [esp + 0x28], 0xc
mov eax, dword [esp + 0x3c]
cmp eax, 4
jne 0x45b2d9
mov eax, dword [esp + 0x6c]
mov eax, dword [eax]
mov dword [esp + 0x40], str.0:x
mov dword [esp + 0x44], 5
lea ecx, [esp + 0x60]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], 1
mov dword [esp + 0x50], 0x55ffd4
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], 0
lea eax, [esp + 0x50]
mov dword [esp + 0x60], eax
lea ecx, [esp + 0x18]
lea eax, [esp + 0x40]
push eax
call fcn.00550804
mov edi, dword [esp + 4]
jmp 0x45be02
test bl, 1
mov edi, dword [esp + 4]
je 0x45ba55
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 2
ja 0x45ba1b
lea ecx, [esp + 0x18]
push 3
push 0x55ff14
call fcn.005507d4
and ebx, 0xfffffffe
jne 0x45ba32
jmp 0x45be02
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 0xe
mov edi, dword [esp + 4]
ja 0x45b62b
lea ecx, [esp + 0x18]
push 0xf
push str.x86_64_baseline
call fcn.005507d4
and ebx, 0xfffffffe
jne 0x45b654
jmp 0x45be02
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 2
mov edi, dword [esp + 4]
ja 0x45b67d
lea ecx, [esp + 0x18]
push 3
push 0x55ff51
call fcn.005507d4
and ebx, 0xfffffffe
jne 0x45b694
jmp 0x45be02
mov dword [eax + 0xb], 0x656e696c
mov dword [eax + 8], 0x6c657361
mov dword [eax + 4], 0x622d3436
mov dword [eax], 0x2d363878
add dword [esp + 0x28], 0xf
and ebx, 0xfffffffe
je 0x45be02
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 1
ja 0x45b6c5
lea ecx, [esp + 0x18]
push 2
push 0x55a0ac
call fcn.005507d4
test bl, 2
jne 0x45b6d4
jmp 0x45b73f
mov byte [eax + 2], 0x36
mov word [eax], 0x3878
add dword [esp + 0x28], 3
and ebx, 0xfffffffe
je 0x45be02
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 1
ja 0x45b7c1
lea ecx, [esp + 0x18]
push 2
push 0x55a0ac
call fcn.005507d4
test bl, 2
jne 0x45b7d0
jmp 0x45b833
mov word [eax], 0x202c
add dword [esp + 0x28], 2
test bl, 2
je 0x45b73f
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 8
ja 0x45b6fd
lea ecx, [esp + 0x18]
push 9
push str.x86_64_v2
call fcn.005507d4
and ebx, 0xfffffffd
jne 0x45b71c
jmp 0x45be02
mov byte [eax + 8], 0x32
mov dword [eax + 4], 0x762d3436
mov dword [eax], 0x2d363878
add dword [esp + 0x28], 9
and ebx, 0xfffffffd
je 0x45be02
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 1
ja 0x45b8ad
lea ecx, [esp + 0x18]
push 2
push 0x55a0ac
call fcn.005507d4
test bl, 4
je 0x45b8c0
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 8
ja 0x45b771
lea ecx, [esp + 0x18]
push 9
push str.x86_64_v3
call fcn.005507d4
and ebx, 0xfffffffb
jne 0x45b790
jmp 0x45be02
mov byte [eax + 8], 0x33
mov dword [eax + 4], 0x762d3436
mov dword [eax], 0x2d363878
add dword [esp + 0x28], 9
and ebx, 0xfffffffb
je 0x45be02
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 1
ja 0x45ba8f
lea ecx, [esp + 0x18]
push 2
push 0x55a0ac
call fcn.005507d4
test bl, 8
jne 0x45b8c9
jmp 0x45bde0
mov word [eax], 0x202c
add dword [esp + 0x28], 2
test bl, 2
je 0x45b833
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 2
ja 0x45b7f9
lea ecx, [esp + 0x18]
push 3
push 0x55ff55
call fcn.005507d4
and ebx, 0xfffffffd
jne 0x45b810
jmp 0x45be02
mov byte [eax + 2], 0x37
mov word [eax], 0x3878
add dword [esp + 0x28], 3
and ebx, 0xfffffffd
je 0x45be02
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 1
ja 0x45b91a
lea ecx, [esp + 0x18]
push 2
push 0x55a0ac
call fcn.005507d4
test bl, 4
je 0x45b92d
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 2
ja 0x45b865
lea ecx, [esp + 0x18]
push 3
push 0x55ff59
call fcn.005507d4
and ebx, 0xfffffffb
jne 0x45b87c
jmp 0x45be02
mov byte [eax + 2], 0x58
mov word [eax], 0x4d4d
add dword [esp + 0x28], 3
and ebx, 0xfffffffb
je 0x45be02
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 1
ja 0x45baa7
lea ecx, [esp + 0x18]
push 2
push 0x55a0ac
call fcn.005507d4
test bl, 8
jne 0x45b936
jmp 0x45baba
mov word [eax], 0x202c
add dword [esp + 0x28], 2
test bl, 4
jne 0x45b748
test bl, 8
je 0x45bde0
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 8
ja 0x45b8f6
lea ecx, [esp + 0x18]
push 9
push str.x86_64_v4
call fcn.005507d4
and ebx, 0xfffffff7
jne 0x45bdb5
jmp 0x45be02
mov byte [eax + 8], 0x34
mov dword [eax + 4], 0x762d3436
mov dword [eax], 0x2d363878
add dword [esp + 0x28], 9
and ebx, 0xfffffff7
jne 0x45bdb5
jmp 0x45be02
mov word [eax], 0x202c
add dword [esp + 0x28], 2
test bl, 4
jne 0x45b83c
test bl, 8
je 0x45baba
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 2
ja 0x45b95f
lea ecx, [esp + 0x18]
push 3
push 0x55ff5d
call fcn.005507d4
and ebx, 0xfffffff7
jne 0x45b976
jmp 0x45be02
mov byte [eax + 2], 0x4d
mov word [eax], 0x4d58
add dword [esp + 0x28], 3
and ebx, 0xfffffff7
je 0x45be02
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 1
ja 0x45bb69
lea ecx, [esp + 0x18]
push 2
push 0x55a0ac
call fcn.005507d4
test bl, 0x10
jne 0x45bac3
jmp 0x45bb7c
mov byte [eax + 2], 0x49
mov word [eax], 0x5442
add dword [esp + 0x28], 3
and ebx, 0xfffffffe
je 0x45be02
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 1
ja 0x45bbde
lea ecx, [esp + 0x18]
push 2
push 0x55a0ac
call fcn.005507d4
test bl, 2
je 0x45bde0
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 2
ja 0x45bb30
lea ecx, [esp + 0x18]
push 3
push 0x55ff10
call fcn.005507d4
and ebx, 0xfffffffd
jne 0x45bdb5
jmp 0x45be02
mov byte [eax + 2], 0x54
mov word [eax], 0x4249
add dword [esp + 0x28], 3
and ebx, 0xfffffffe
je 0x45be02
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 1
ja 0x45bbf6
lea ecx, [esp + 0x18]
push 2
push 0x55a0ac
call fcn.005507d4
test bl, 2
je 0x45bde0
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 4
ja 0x45bb4c
lea ecx, [esp + 0x18]
push 5
push str.SHSTK
call fcn.005507d4
and ebx, 0xfffffffd
jne 0x45bdb5
jmp 0x45be02
mov word [eax], 0x202c
add dword [esp + 0x28], 2
test bl, 8
jne 0x45b8c9
jmp 0x45bde0
mov word [eax], 0x202c
add dword [esp + 0x28], 2
test bl, 8
jne 0x45b936
test bl, 0x10
je 0x45bb7c
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 2
ja 0x45baec
lea ecx, [esp + 0x18]
push 3
push 0x55ff61
call fcn.005507d4
and ebx, 0xffffffef
jne 0x45bb03
jmp 0x45be02
mov byte [eax + 2], 0x4d
mov word [eax], 0x4d59
add dword [esp + 0x28], 3
and ebx, 0xffffffef
je 0x45be02
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 1
ja 0x45bc0e
lea ecx, [esp + 0x18]
push 2
push 0x55a0ac
call fcn.005507d4
test bl, 0x20
jne 0x45bb85
jmp 0x45bc2d
mov byte [eax + 2], 0x43
mov word [eax], 0x4150
add dword [esp + 0x28], 3
and ebx, 0xfffffffd
jne 0x45bdb5
jmp 0x45be02
mov byte [eax + 4], 0x4b
mov dword [eax], 0x54534853
add dword [esp + 0x28], 5
and ebx, 0xfffffffd
jne 0x45bdb5
jmp 0x45be02
mov word [eax], 0x202c
add dword [esp + 0x28], 2
test bl, 0x10
jne 0x45bac3
test bl, 0x20
je 0x45bc2d
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 2
ja 0x45bba6
lea ecx, [esp + 0x18]
push 3
push 0x55ff65
call fcn.005507d4
jmp 0x45bbb4
mov byte [eax + 2], 0x4d
mov word [eax], 0x4d5a
add dword [esp + 0x28], 3
and ebx, 0xffffffdf
je 0x45be02
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 1
ja 0x45bc23
lea ecx, [esp + 0x18]
push 2
push 0x55a0ac
call fcn.005507d4
jmp 0x45bc2d
mov word [eax], 0x202c
add dword [esp + 0x28], 2
test bl, 2
jne 0x45b9ea
jmp 0x45bde0
mov word [eax], 0x202c
add dword [esp + 0x28], 2
test bl, 2
jne 0x45ba5e
jmp 0x45bde0
mov word [eax], 0x202c
add dword [esp + 0x28], 2
test bl, 0x20
jne 0x45bb85
jmp 0x45bc2d
mov word [eax], 0x202c
add dword [esp + 0x28], 2
test bl, 0x40
je 0x45bc86
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 3
ja 0x45bc53
lea ecx, [esp + 0x18]
push 4
push str.FXSR
call fcn.005507d4
jmp 0x45bc5e
mov dword [eax], 0x52535846
add dword [esp + 0x28], 4
and ebx, 0xffffffbf
je 0x45be02
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 1
ja 0x45bce7
lea ecx, [esp + 0x18]
push 2
push 0x55a0ac
call fcn.005507d4
test bl, bl
jns 0x45bd01
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 4
ja 0x45bcab
lea ecx, [esp + 0x18]
push 5
push str.XSAVE
call fcn.005507d4
jmp 0x45bcba
mov byte [eax + 4], 0x45
mov dword [eax], 0x56415358
add dword [esp + 0x28], 5
and ebx, 0xffffff7f
je 0x45be02
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 1
ja 0x45bcf7
lea ecx, [esp + 0x18]
push 2
push 0x55a0ac
call fcn.005507d4
jmp 0x45bd01
mov word [eax], 0x202c
add dword [esp + 0x28], 2
test bl, bl
js 0x45bc8a
jmp 0x45bd01
mov word [eax], 0x202c
add dword [esp + 0x28], 2
test ebx, 0x100
je 0x45bd73
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 7
ja 0x45bd2a
lea ecx, [esp + 0x18]
push 8
push str.XSAVEOPT
call fcn.005507d4
jmp 0x45bd3c
mov dword [eax + 4], 0x54504f45
mov dword [eax], 0x56415358
add dword [esp + 0x28], 8
and ebx, 0xfffffeff
je 0x45be02
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 1
ja 0x45bd69
lea ecx, [esp + 0x18]
push 2
push 0x55a0ac
call fcn.005507d4
jmp 0x45bd73
mov word [eax], 0x202c
add dword [esp + 0x28], 2
test ebx, 0x200
je 0x45bde0
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 5
ja 0x45bd9c
lea ecx, [esp + 0x18]
push 6
push str.XSAVEC
call fcn.005507d4
jmp 0x45bdad
mov word [eax + 4], 0x4345
mov dword [eax], 0x56415358
add dword [esp + 0x28], 6
and ebx, 0xfffffdff
je 0x45be02
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 1
ja 0x45bdd6
lea ecx, [esp + 0x18]
push 2
push 0x55a0ac
call fcn.005507d4
jmp 0x45bde0
mov word [eax], 0x202c
add dword [esp + 0x28], 2
mov dword [esp + 0x44], str._unknown_flags:_0x_x_
mov dword [esp + 0x40], 0x55ffc4
mov dword [esp + 0x48], ebx
lea ecx, [esp + 0x18]
lea eax, [esp + 0x40]
push eax
call fcn.005507fe
mov eax, dword [esp + 0x38]
test byte [eax], 1
jne 0x45be31
mov ecx, dword [eax + 8]
mov dword [esp + 0x10], ecx
movsd xmm0, qword [eax]
movsd qword [esp + 8], xmm0
lea ecx, [esp + 0x18]
call fcn.005507e6
test byte [esp + 0x90], 1
jne 0x45be6b
jmp 0x45be7a
mov ebx, dword [eax + 4]
mov esi, dword [eax + 8]
cmp ebx, 0xa
ja 0x45b469
mov eax, ebx
add al, bl
mov byte [esp + 8], al
lea eax, [esp + 9]
inc ebx
push ebx
push esi
push eax
call sub.msvcrt.dll_memmove
add esp, 0xc
lea ecx, [esp + 0x18]
call fcn.005507e6
test byte [esp + 0x90], 1
je 0x45be7a
push dword [esp + 0x98]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov ecx, edi
push 1
lea eax, [esp + 0xc]
push eax
call fcn.0045c360
mov ecx, dword [edi]
mov edx, dword [edi + 4]
lea edx, [edx + edx*2]
mov esi, dword [eax + 8]
mov dword [ecx + edx*4 + 8], esi
movsd xmm0, qword [eax]
movsd qword [ecx + edx*4], xmm0
mov dword [eax + 8], 0
mov dword [eax], 0
mov dword [eax + 4], 0
inc dword [edi + 4]
test byte [esp + 8], 1
je 0x45beca
push dword [esp + 0x10]
call sub.libc.dll_operator_delete_void_
add esp, 4
lea eax, [ebp + 8]
mov ebx, dword [eax + 4]
mov ecx, dword [esp + 0x78]
sub ebx, ecx
add dword [eax], ecx
mov dword [eax + 4], ebx
lea esi, [esp + 0xa0]
mov ecx, esi
call fcn.005507e6
test byte [esp + 0x80], 1
je 0x45ae30
push dword [esp + 0x88]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x45ae30
test ebx, ebx
je 0x45bf9a
push 0x20
call sub.libc.dll_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x48], eax
mov dword [esp + 0x40], 0x21
mov dword [esp + 0x44], 0x1f
movups xmm0, xmmword [0x55fe5c]
movups xmmword [eax + 0xf], xmm0
movups xmm0, xmmword [str._corrupted_GNU_PROPERTY_TYPE_0_]
movups xmmword [eax], xmm0
mov byte [eax + 0x1f], 0
mov ecx, edi
push 1
lea eax, [esp + 0x44]
push eax
call fcn.0045c360
mov ecx, dword [edi]
mov edx, dword [edi + 4]
lea edx, [edx + edx*2]
mov esi, dword [eax + 8]
mov dword [ecx + edx*4 + 8], esi
movsd xmm0, qword [eax]
movsd qword [ecx + edx*4], xmm0
mov dword [eax + 8], 0
mov dword [eax], 0
mov dword [eax + 4], 0
inc dword [edi + 4]
test byte [esp + 0x40], 1
je 0x45bf9a
push dword [esp + 0x48]
call sub.libc.dll_operator_delete_void_
add esp, 4
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, ebx
call fcn.00407790
lea ecx, [esp + 8]
call fcn.00407790
int3