Function at 0x505d60
Capabilities:
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x830
mov dword [esp + 0x1b4], 4
mov dword [esp + 0x1b8], 0
mov dword [esp + 0xf4], edx
mov dword [esp + 0x1bc], 0
mov dword [esp + 0xdc], ecx
call 0x505da3
pop eax
mov esi, dword [edx + 0x1c]
mov ecx, dword [edx + 0x18]
mov dword [esp + 0xc0], eax
test esi, esi
mov dword [esp + 0x474], ecx
mov dword [esp + 0x478], esi
mov dword [esp + 0x47c], 0
je 0x506640
lea eax, [esp + 0x1c0]
mov ecx, 4
xor edi, edi
mov dword [esp + 0x80], 0
mov dword [esp + 0x18], eax
jmp 0x505e29
mov ecx, dword [esp + 0x20]
mov dword [ecx + edx*8], ebx
mov dword [ecx + edx*8 + 4], esi
inc edx
mov esi, dword [esp + 0x478]
mov dword [esp + 0x80], edx
mov dword [esp + 0x1bc], edx
test esi, esi
je 0x505eb8
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x1c0]
lea edx, [esp + 0x474]
push edi
call dbg.parse<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>, usize>
add esp, 4
cmp dword [esp + 0x1c0], 0
jne 0x505ef3
sub esi, dword [esp + 0x478]
movzx eax, byte [esp + 0x1c5]
mov ecx, dword [esp + 0x1d0]
mov ebx, dword [esp + 0x1d8]
mov edi, esi
add edi, dword [esp + 0x47c]
cmp al, 3
mov dword [esp + 0x47c], edi
je 0x505eb8
mov edx, dword [esp + 0x80]
mov esi, ecx
cmp edx, dword [esp + 0x1b8]
jne 0x505e00
lea ecx, [esp + 0x1b4]
call dbg.reserve_for_push<(gimli::common::DebugInfoOffset<usize>, gimli::common::DebugArangesOffset<usize>), alloc::alloc::Global>
mov ecx, dword [esp + 0x1b4]
mov edx, dword [esp + 0x1bc]
jmp 0x505e04
mov edi, dword [esp + 0x80]
mov eax, dword [esp + 0x1b4]
cmp edi, 0x15
mov dword [esp + 0xa4], eax
jae 0x505f27
cmp edi, 2
jb 0x506640
mov ecx, dword [esp + 0xa4]
mov edx, edi
push 1
call sym.core::slice::sort::insertion_sort_shift_left::h38434a858ae1fb64
add esp, 4
jmp 0x506640
mov eax, dword [esp + 0x1c8]
mov edx, dword [esp + 0xdc]
mov ecx, dword [esp + 0x1cc]
movsd xmm0, qword [esp + 0x1d0]
mov dword [edx + 0xc], ecx
mov dword [edx + 8], eax
movsd qword [edx + 0x10], xmm0
mov dword [edx], 0
jmp 0x50cb68
movzx eax, byte [0x5da16c]
mov eax, dword [0x5da100]
test eax, eax
jne 0x505f49
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x50ce39
mov dword [0x5da100], eax
mov ecx, edi
shr ecx, 1
mov dword [esp + 0x12c], ecx
lea ecx, [ecx*8]
push ecx
push 0
push eax
call sub.kernel32.dll_HeapAlloc
test eax, eax
mov dword [esp + 0x74], eax
je 0x50ce39
movzx eax, byte [0x5da16c]
mov eax, dword [0x5da100]
test eax, eax
jne 0x505f92
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x50ce55
mov dword [0x5da100], eax
push pe_nt_image_headers32
push 0
push eax
call sub.kernel32.dll_HeapAlloc
test eax, eax
je 0x50ce55
mov esi, eax
mov eax, dword [esp + 0xa4]
xor edx, edx
xor ebx, ebx
mov dword [esp + 0x10], 0x10
mov dword [esp + 0x80], edi
lea ecx, [eax - 4]
mov dword [esp + 0xa0], ecx
lea ecx, [eax - 8]
add eax, 0xfffffff0
mov dword [esp + 0xec], ecx
mov dword [esp + 0x108], eax
jmp 0x505ffc
mov ebx, 2
nop dword [eax + eax]
mov edx, dword [esp + 0x6c]
cmp edx, edi
jae 0x506621
mov ecx, dword [esp + 0xa4]
mov eax, edi
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], esi
sub eax, edx
cmp eax, 2
lea ecx, [ecx + edx*8]
mov dword [esp + 0x50], ecx
jae 0x506100
mov ecx, edi
mov esi, ecx
sub esi, edx
jb 0x50ccb3
cmp ecx, edi
ja 0x50ccb3
jae 0x506130
cmp eax, 0xa
jae 0x506130
mov ecx, dword [esp + 0x20]
lea esi, [ecx + 0xa]
cmp esi, edi
cmovae esi, edi
mov dword [esp + 0x6c], esi
sub esi, ecx
jb 0x50ccf3
cmp eax, 2
mov edx, 1
cmovb eax, edx
mov ecx, dword [esp + 0x50]
mov edx, esi
push eax
call sym.core::slice::sort::insertion_sort_shift_left::h38434a858ae1fb64
add esp, 4
cmp ebx, dword [esp + 0x10]
jne 0x50613e
lea eax, [ebx + ebx]
mov dword [esp + 0x10], eax
movzx eax, byte [0x5da16c]
mov eax, dword [0x5da100]
test eax, eax
jne 0x5060a7
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x50ccd3
mov dword [0x5da100], eax
mov ecx, ebx
shl ecx, 4
push ecx
push 0
push eax
call sub.kernel32.dll_HeapAlloc
test eax, eax
je 0x50ccd3
mov edi, eax
lea eax, [ebx*8]
push eax
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x20]
push ebx
push edi
call sym._memcpy
add esp, 0xc
push ebx
mov ebx, dword [esp + 0x10]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
mov eax, edi
mov edi, dword [esp + 0x80]
jmp 0x506142
mov dword [esp + 0x40], eax
mov eax, dword [ecx]
mov esi, dword [ecx + 8]
cmp esi, eax
mov dword [esp + 0x70], eax
jae 0x506460
mov eax, dword [esp + 0x40]
cmp eax, 2
jne 0x506476
lea ecx, [edx + 2]
mov eax, 2
jmp 0x5064de
mov dword [esp + 0x6c], ecx
cmp ebx, dword [esp + 0x10]
je 0x50607e
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [eax + ebx*8], esi
mov esi, eax
mov dword [eax + ebx*8 + 4], ecx
inc ebx
cmp ebx, 2
jb 0x505ff0
mov dword [esp + 0x1c], esi
jmp 0x5061d4
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
mov eax, dword [esp + 0x40]
sub eax, ecx
push eax
push ecx
push esi
call sym._memcpy
add esp, 0xc
mov ecx, dword [esp + 0xe8]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x38]
add ecx, edi
mov dword [esi + eax*8 + 8], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esi + eax*8 + 0xc], ecx
mov ecx, dword [esp + 0xa8]
not eax
add ecx, eax
lea eax, [edx + 8]
shl ecx, 3
push ecx
push eax
push edx
call sub.msvcrt.dll_memmove
add esp, 0xc
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x80]
cmp ebx, 1
jbe 0x506440
mov eax, dword [esi + ebx*8 - 8]
mov ecx, dword [esi + ebx*8 - 4]
add ecx, eax
cmp ecx, edi
je 0x506230
mov edx, dword [esi + ebx*8 - 0x10]
cmp edx, eax
jbe 0x506230
cmp ebx, 3
jb 0x505fe3
lea ecx, [ebx - 3]
mov dword [esp + 0x94], ecx
mov ecx, dword [esi + ebx*8 - 0x18]
lea esi, [edx + eax]
cmp ecx, esi
jbe 0x50641d
cmp ebx, 4
jb 0x50659b
mov esi, dword [esp + 0x1c]
add edx, ecx
mov edi, dword [esp + 0x94]
cmp dword [esi + ebx*8 - 0x20], edx
jbe 0x50623c
jmp 0x5065a4
cmp ebx, 3
jb 0x506240
mov ecx, dword [esi + ebx*8 - 0x18]
lea edi, [ebx - 3]
cmp ecx, eax
jb 0x506243
lea edi, [ebx - 2]
cmp ebx, edi
jbe 0x50cba6
lea eax, [edi + 1]
mov dword [esp + 0xa8], ebx
cmp ebx, eax
jbe 0x50cbb8
mov eax, dword [esi + edi*8 + 8]
mov edx, dword [esi + edi*8 + 0xc]
mov ecx, dword [esi + edi*8 + 4]
add edx, eax
mov ebx, edx
sub ebx, ecx
jb 0x50cbf2
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x80]
cmp edx, eax
ja 0x50cc04
mov dword [esp + 0x50], edx
lea edx, [esi + edi*8]
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x94], edi
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x38], edx
mov edx, dword [esi + edi*8]
mov esi, dword [esp + 0xa4]
mov edi, ebx
dec eax
lea ecx, [esi + ecx*8]
sub edi, edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x70], edx
cmp edi, edx
lea esi, [ecx + edx*8]
mov dword [esp + 0x20], ecx
jae 0x506380
lea eax, [edi*8]
push eax
push esi
mov dword [esp + 0x98], edi
mov edi, dword [esp + 0x7c]
mov ebx, edx
push edi
call sym._memcpy
add esp, 0xc
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x90]
test ebx, ebx
lea eax, [edi + eax*8]
mov dword [esp + 0x40], eax
jle 0x506164
test ecx, ecx
jle 0x506164
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0x50]
lea eax, [eax + ecx*8]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x50], eax
nop
mov edx, dword [ecx - 8]
mov edi, dword [esi - 8]
mov ebx, 0
mov eax, 0
cmp edx, edi
sbb ebx, ebx
cmp edx, edi
adc eax, 0xffffffff
cmp edx, edi
lea esi, [esi + ebx*8]
mov edx, dword [esp + 0x50]
lea ecx, [ecx + eax*8]
mov eax, ecx
cmovb eax, esi
cmp esi, dword [esp + 0x20]
movq xmm0, qword [eax]
movq qword [edx], xmm0
jbe 0x506160
add dword [esp + 0x50], 0xfffffff8
cmp ecx, dword [esp + 0x74]
ja 0x506330
jmp 0x506160
lea eax, [edx*8]
push eax
push ecx
mov edi, dword [esp + 0x7c]
push edi
call sym._memcpy
add esp, 0xc
mov eax, dword [esp + 0x70]
cmp dword [esp + 0x70], 0
lea eax, [edi + eax*8]
mov edi, dword [esp + 0x70]
mov dword [esp + 0x40], eax
jle 0x506410
cmp ebx, edi
jle 0x506410
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x50]
lea eax, [eax + ecx*8]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x50], eax
nop word cs:[eax + eax]
mov edi, dword [esi]
xor ebx, ebx
xor edx, edx
mov eax, dword [esp + 0x20]
cmp edi, dword [ecx]
mov edi, ecx
cmovb edi, esi
setae bl
movq xmm0, qword [edi]
lea ecx, [ecx + ebx*8]
setb bl
movq qword [eax], xmm0
add eax, 8
cmp ecx, dword [esp + 0x40]
mov dword [esp + 0x20], eax
jae 0x50640a
mov dl, bl
lea esi, [esi + edx*8]
cmp esi, dword [esp + 0x50]
jb 0x5063d0
mov edi, dword [esp + 0x70]
jmp 0x506414
mov ecx, dword [esp + 0x74]
mov esi, dword [esp + 0x20]
jmp 0x50616c
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x94]
cmp ecx, eax
jae 0x506240
jmp 0x506243
mov ebx, 1
mov edx, dword [esp + 0x6c]
cmp edx, edi
jb 0x505ffc
jmp 0x506621
mov eax, dword [esp + 0x40]
cmp eax, 2
jne 0x5064a0
lea ecx, [edx + 2]
mov eax, 2
jmp 0x506021
mov dword [esp + 0xc], ebx
mov edi, 2
mov ebx, esi
nop word cs:[eax + eax]
nop dword [eax + eax]
mov edx, ebx
mov ebx, dword [ecx + edi*8]
cmp ebx, edx
jae 0x5064c0
inc edi
cmp eax, edi
jne 0x506490
jmp 0x5064be
mov dword [esp + 0xc], ebx
mov edi, 2
mov ebx, esi
nop dword [eax + eax]
mov edx, ebx
mov ebx, dword [ecx + edi*8]
cmp ebx, edx
jb 0x5064c0
inc edi
cmp eax, edi
jne 0x5064b0
mov edi, eax
mov edx, dword [esp + 0x20]
cmp esi, dword [esp + 0x70]
mov eax, edi
mov ebx, dword [esp + 0xc]
lea ecx, [edi + edx]
mov edi, dword [esp + 0x80]
jae 0x506021
cmp ecx, edx
jb 0x50cd32
cmp ecx, edi
ja 0x50cd1a
cmp eax, 2
jae 0x5064fc
mov edx, dword [esp + 0x20]
jmp 0x506021
mov edx, eax
mov dword [esp + 0x6c], ecx
xor ecx, ecx
mov dword [esp + 0xc], ebx
shr edx, 1
cmp eax, 0x18
jb 0x5065bb
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0xa0]
lea edi, [ecx + eax]
lea ecx, [edx*8 - 8]
lea esi, [esi + edi*8]
mov ebx, esi
sub ebx, ecx
cmp ebx, esi
ja 0x5065b9
mov esi, dword [esp + 0xec]
lea esi, [esi + edi*8]
mov ebx, esi
sub ebx, ecx
cmp ebx, esi
ja 0x5065b9
lea esi, [edx - 1]
mov ecx, 0
cmp esi, 0x1fffffff
ja 0x5065bb
shl edi, 3
mov ebx, dword [esp + 0x50]
mov ecx, edx
add edi, dword [esp + 0x108]
and ecx, 0xfffffffe
mov esi, ecx
nop
movdqu xmm0, xmmword [ebx]
movdqu xmm1, xmmword [edi]
pshufd xmm1, xmm1, 0x4e
pshufd xmm0, xmm0, 0x4e
movdqu xmmword [ebx], xmm1
movdqu xmmword [edi], xmm0
add ebx, 0x10
add edi, 0xfffffff0
add esi, 0xfffffffe
jne 0x506570
cmp edx, ecx
jne 0x5065bb
jmp 0x506609
mov esi, dword [esp + 0x1c]
mov ebx, 3
mov edx, dword [esp + 0x6c]
mov edi, dword [esp + 0x80]
cmp edx, edi
jb 0x505ffc
jmp 0x506621
xor ecx, ecx
mov ebx, dword [esp + 0x20]
sub edx, ecx
lea esi, [ebx*8]
add ebx, eax
lea edi, [esi + ecx*8]
shl ecx, 3
shl ebx, 3
sub ebx, ecx
add edi, dword [esp + 0xa4]
add ebx, dword [esp + 0xec]
nop word cs:[eax + eax]
nop dword [eax]
movq xmm0, qword [edi]
movq xmm1, qword [ebx]
movq qword [edi], xmm1
movq qword [ebx], xmm0
add edi, 8
add ebx, 0xfffffff8
dec edx
jne 0x5065f0
mov edi, dword [esp + 0x80]
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x20]
jmp 0x506021
push esi
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
push dword [esp + 0x74]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0xf4]
mov dword [esp + 0xc8], 8
mov dword [esp + 0xcc], 0
mov dword [esp + 0x324], 8
mov dword [esp + 0x328], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0x32c], 0
mov dword [esp + 0x80], 0
mov ebx, dword [eax + 0x20]
mov ecx, dword [eax + 0x24]
lea eax, [esp + 0x330]
mov dword [esp + 0x108], eax
nop dword [eax + eax]
test ecx, ecx
je 0x506710
cmp ecx, 4
jb 0x50c07c
mov edi, dword [ebx]
lea edx, [ecx - 4]
lea eax, [ebx + 4]
mov byte [esp + 0x10c], 4
cmp edi, 0xffffffef
jbe 0x506730
cmp edi, 0xffffffff
jne 0x50c960
cmp edx, 8
jb 0x50c96d
cmp dword [eax + 4], 0
jne 0x50c9df
mov esi, dword [eax]
add ebx, 0xc
lea edx, [ecx - 0xc]
mov byte [esp + 0x10c], 8
mov eax, ebx
sub edx, esi
jae 0x50673a
jmp 0x50c08d
xor esi, esi
mov dword [esp + 0x38], 2
test ecx, ecx
jne 0x5069bf
jmp 0x50c04d
mov esi, edi
sub edx, esi
jb 0x50c08d
cmp esi, 2
jb 0x50ca1b
movzx ebx, word [eax]
mov dword [esp + 0xa8], edx
mov dword [esp + 0x70], esi
add esi, 0xfffffffe
mov edx, ebx
mov dword [esp + 0x74], ebx
add edx, 0xfffffffe
cmp dx, 3
lea edx, [eax + 2]
jae 0x5067a0
cmp edi, 0xfffffff0
jb 0x506807
cmp esi, 8
jb 0x50ca7f
cmp dword [edx + 4], 0
jne 0x50c9d3
mov edi, dword [esp + 0x70]
mov edx, dword [edx]
lea esi, [eax + 0xa]
add edi, 0xfffffff6
mov dword [esp + 0xe8], edx
jmp 0x506824
cmp bx, 5
jne 0x50c9fb
test esi, esi
je 0x50ca07
mov edx, dword [esp + 0x70]
cmp edx, 3
je 0x50ca18
lea esi, [edx - 4]
mov edx, eax
movzx ebx, byte [eax + 2]
add eax, 4
cmp edi, 0xfffffff0
mov dword [esp + 0x50], edx
movzx edx, byte [edx + 3]
mov byte [esp + 0xa4], dl
jb 0x506853
cmp esi, 8
jb 0x50cabd
cmp dword [eax + 4], 0
jne 0x50c9d3
mov dword [esp + 0x20], esi
mov edx, dword [eax]
mov esi, eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xe8], edx
jmp 0x506873
cmp esi, 4
jb 0x50ca88
mov edx, dword [esp + 0x70]
mov ebx, dword [eax + 2]
lea esi, [eax + 6]
lea edi, [edx - 6]
mov dword [esp + 0xe8], ebx
test edi, edi
je 0x50ca12
movzx edx, byte [esi]
dec edi
inc esi
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], edi
mov dword [esp + 0x1c], esi
mov byte [esp + 0xa4], dl
jmp 0x506988
cmp esi, 4
jb 0x50ca9e
mov edx, dword [eax]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xe8], edx
mov esi, eax
dec ebx
cmp ebx, 5
ja 0x50ca91
mov ebx, dword [ebx*4 + 0x50d688]
lea edx, [esi + 8]
mov dword [esp + 0x94], 0
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x20]
add ebx, dword [esp + 0xc0]
add edx, 0xfffffff8
mov dword [esp + 0x90], edx
jmp ebx
mov edx, dword [esp + 0x80]
add eax, dword [esp + 0x70]
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0x74]
mov dword [esp + 0x38], 0
mov dword [esp + 0x6c], edx
add edx, ecx
mov ebx, eax
sub edx, esi
mov dword [esp + 0x80], edx
test ecx, ecx
je 0x50c04d
mov eax, dword [esp + 0x94]
mov ecx, esi
or eax, 4
cmp eax, 5
je 0x5066b0
mov ecx, dword [esp + 0xf4]
mov dword [esp + 0x74], edi
mov dword [esp + 0xec], ebx
mov dword [esp + 0xa8], esi
mov edi, dword [ecx + 0xc]
cmp edi, dword [esp + 0xe8]
jae 0x506a10
mov edi, dword [esp + 0x74]
mov ebx, dword [esp + 0xec]
mov ecx, dword [esp + 0xa8]
jmp 0x5066b0
mov eax, dword [esp + 0x32c]
mov ebx, dword [ecx + 8]
sub edi, dword [esp + 0xe8]
mov dword [esp + 0x140], 8
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x154], 0
mov dword [esp + 0x1a8], eax
je 0x508bbd
movzx ecx, byte [esp + 0x10c]
movzx eax, byte [esp + 0xa4]
add ebx, dword [esp + 0xe8]
mov dword [esp + 0x8c], 0
mov dword [esp + 0xb0], 8
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x74]
shl eax, 0x10
or eax, ecx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xa0]
add eax, 8
mov dword [esp + 0xe4], eax
mov dword [esp + 0x20], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x50], 0
xor ecx, ecx
mov dword [esp + 0xc], ebx
nop dword [eax]
mov eax, dword [esp + 0x20]
cmp ecx, 0x3f
movzx edx, byte [ebx + eax]
jne 0x506af6
cmp dl, 1
ja 0x508bbd
mov dh, dl
mov eax, edi
xor edi, edi
mov ebx, 0
and dh, 0x7f
movzx esi, dh
shld edi, esi, cl
shl esi, cl
test cl, 0x20
cmovne edi, esi
cmovne esi, ebx
mov ebx, dword [esp + 0x50]
or ebx, edi
mov edi, dword [esp + 0x40]
mov dword [esp + 0x50], ebx
or edi, esi
test dl, dl
mov dword [esp + 0x40], edi
jns 0x506b4a
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0xc]
mov edi, eax
add ecx, 7
inc edx
cmp edi, edx
mov eax, edx
mov dword [esp + 0x20], edx
jne 0x506ae0
jmp 0x508bbd
mov esi, edi
mov esi, eax
mov eax, dword [esp + 0x20]
mov ecx, edi
or ecx, ebx
je 0x508d3b
lea ecx, [esi - 1]
cmp ecx, eax
mov eax, dword [esp + 0xc]
je 0x508bbd
mov edx, dword [esp + 0x20]
lea ebx, [esi - 2]
movzx ecx, byte [eax + edx + 1]
mov edi, ecx
and edi, 0x7f
test cl, cl
js 0x506b88
sub ebx, edx
lea edx, [eax + edx + 2]
jmp 0x506be9
cmp ebx, edx
je 0x508bbd
mov ecx, dword [esp + 0x20]
movzx edi, di
lea ebx, [esi - 3]
movzx edx, byte [eax + ecx + 2]
mov dword [esp + 0x10], edx
and edx, 0x7f
shl edx, 7
or edi, edx
cmp byte [esp + 0x10], 0
lea edx, [eax + ecx + 3]
js 0x506bba
sub ebx, ecx
jmp 0x506be9
cmp ebx, ecx
je 0x508bbd
movzx ecx, byte [edx]
cmp cx, 3
ja 0x508bbd
mov ebx, dword [esp + 0x20]
movzx edi, di
sub esi, ebx
lea edx, [eax + ebx + 4]
movzx ebx, cx
shl ebx, 0xe
add esi, 0xfffffffc
or edi, ebx
mov ebx, esi
test di, di
mov dword [esp + 0x78], edi
je 0x508bbd
test ebx, ebx
je 0x508bbd
movzx eax, byte [edx]
cmp al, 1
mov byte [esp + 0x88], al
ja 0x508bbd
dec ebx
pxor xmm0, xmm0
mov dword [esp + 0x1dc], 0
mov dword [esp + 0x1d8], 0
mov dword [esp + 0x1e0], 0
mov dword [esp + 0x1ec], 0
mov dword [esp + 0x1e8], 0
mov dword [esp + 0x1f0], 0
mov dword [esp + 0x1fc], 0
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x200], 0
mov dword [esp + 0x20c], 0
mov dword [esp + 0x208], 0
mov dword [esp + 0x210], 0
mov dword [esp + 0x1d0], 0
movdqa xmmword [esp + 0x1c0], xmm0
je 0x508bbd
mov edi, edx
mov dword [esp + 0x20], ebx
inc edi
mov eax, dword [esp + 0x20]
lea ecx, [eax - 1]
movzx eax, byte [edi]
mov esi, eax
and esi, 0x7f
test al, al
js 0x506cd2
inc edi
mov edx, edi
jmp 0x506cfd
test ecx, ecx
je 0x508b95
movzx eax, byte [edi + 1]
movzx esi, si
lea edx, [edi + 2]
mov ecx, eax
and ecx, 0x7f
shl ecx, 7
or esi, ecx
mov ecx, dword [esp + 0x20]
test al, al
lea ecx, [ecx - 2]
js 0x50700c
test si, si
je 0x5070b8
test ecx, ecx
mov dword [esp + 0x14], esi
je 0x508b95
movzx eax, byte [edx]
lea esi, [ecx - 1]
mov ebx, eax
and ebx, 0x7f
test al, al
js 0x506db1
inc edx
mov edi, edx
cmp bx, 0x21
mov dword [esp + 0x20], esi
jne 0x506de6
test esi, esi
je 0x508b95
xor ebx, ebx
mov dword [esp + 0x18], 0
mov dword [esp + 0xc], 0
xor ecx, ecx
mov dword [esp + 0x10], edi
nop word cs:[eax + eax]
movzx esi, byte [edi + ebx]
cmp ecx, 0x3f
jne 0x506d76
cmp esi, 0x7f
je 0x506d76
test esi, esi
jne 0x508b95
mov eax, esi
xor edi, edi
mov edx, 0
and eax, 0x7f
shld edi, eax, cl
shl eax, cl
test cl, 0x20
cmovne edi, eax
cmovne eax, edx
mov edx, esi
or dword [esp + 0xc], edi
or dword [esp + 0x18], eax
test dl, dl
jns 0x506e16
inc ebx
add ecx, 7
mov edi, dword [esp + 0x10]
cmp dword [esp + 0x20], ebx
jne 0x506d60
jmp 0x508b95
test esi, esi
je 0x508b95
movzx eax, byte [edx + 1]
movzx ebx, bx
lea edi, [edx + 2]
mov esi, eax
and esi, 0x7f
shl esi, 7
or ebx, esi
lea esi, [ecx - 2]
test al, al
js 0x50703b
cmp bx, 0x21
mov dword [esp + 0x20], esi
je 0x506d36
movzx eax, bx
test eax, eax
je 0x508b95
movzx eax, word [esp + 0x14]
mov edx, ebx
mov ebx, dword [esp + 0x3c]
mov ecx, 0xffffffff
xor esi, esi
shl edx, 0x10
or edx, eax
and ebx, ecx
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x18], edx
xor edx, edx
jmp 0x506e8e
add ecx, 7
mov eax, 0xffffffff
mov edi, 0
mov esi, dword [esp + 0xc]
cmp ecx, 0x40
setl byte [esp + 0x7c]
and dl, 0x40
shl eax, cl
shr dl, 6
test cl, 0x20
mov ecx, 0xffffffff
cmovne ecx, eax
cmovne eax, edi
test byte [esp + 0x7c], dl
movzx edx, word [esp + 0x14]
cmove eax, edi
cmove ecx, edi
mov edi, dword [esp + 0x18]
or edx, 0x210000
mov dword [esp + 0x18], edx
or esi, ecx
mov ecx, 0xffffffff
and dword [esp + 0x3c], ecx
or edi, eax
mov eax, edi
mov edx, edi
mov edi, dword [esp + 0x10]
shrd eax, esi, 0x10
shr esi, 0x10
mov cl, dh
lea edi, [edi + ebx + 1]
not ebx
add dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x3c]
movzx ecx, cl
shld esi, eax, 0x10
shl eax, 0x10
mov dword [esp + 0x3c], ebx
shl ecx, 8
or ecx, eax
movzx eax, dl
or eax, ecx
cmp dword [esp + 0x1c0], 0
je 0x506f12
mov edx, dword [esp + 0x1cc]
mov dword [esp + 0x14], eax
cmp edx, dword [esp + 0x1c8]
jne 0x506ed7
lea ecx, [esp + 0x1c4]
call dbg.reserve_for_push<gimli::read::unit::AttributeValue<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>, usize>, alloc::alloc::Global>
mov edx, dword [esp + 0x1cc]
mov ecx, dword [esp + 0x1c4]
mov eax, edx
inc edx
shl eax, 4
mov dword [ecx + eax + 4], esi
mov esi, dword [esp + 0x14]
mov dword [ecx + eax], esi
mov esi, dword [esp + 0x18]
mov dword [ecx + eax + 0xc], ebx
mov dword [ecx + eax + 8], esi
mov dword [esp + 0x1cc], edx
cmp dword [esp + 0x20], 0
jne 0x506cba
jmp 0x508b95
mov ecx, dword [esp + 0x1c4]
cmp ecx, 5
jne 0x507078
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
movzx eax, byte [0x5da16c]
mov eax, dword [0x5da100]
test eax, eax
jne 0x506f50
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x50ceae
mov dword [0x5da100], eax
push 0x50
push 0
push eax
call sub.kernel32.dll_HeapAlloc
test eax, eax
je 0x50ceae
mov ecx, 0x14
mov edi, eax
lea esi, [esp + 0x1c8]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x480], eax
mov dword [esp + 0x484], 5
mov dword [esp + 0x488], 5
lea ecx, [esp + 0x480]
mov edx, 5
call dbg.reserve_for_push<gimli::read::unit::AttributeValue<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>, usize>, alloc::alloc::Global>
mov eax, dword [esp + 0x488]
mov edx, dword [esp + 0x480]
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x18]
mov ecx, eax
inc eax
shl ecx, 4
mov dword [edx + ecx + 4], esi
mov esi, dword [esp + 0x14]
mov dword [edx + ecx], esi
mov dword [edx + ecx + 8], edi
mov dword [edx + ecx + 0xc], ebx
mov dword [esp + 0x488], eax
mov edi, dword [esp + 0x10]
lea ecx, [esp + 0x1c4]
movq xmm0, qword [esp + 0x480]
mov dword [ecx + 8], eax
movq qword [ecx], xmm0
mov dword [esp + 0x1c0], 1
cmp dword [esp + 0x20], 0
jne 0x506cba
jmp 0x508b95
test ecx, ecx
je 0x508b95
movzx eax, byte [edx]
cmp ax, 3
ja 0x508b95
mov ecx, dword [esp + 0x20]
movzx eax, ax
movzx esi, si
add edi, 3
shl eax, 0xe
or esi, eax
add ecx, 0xfffffffd
jmp 0x506cce
test esi, esi
je 0x508b95
movzx eax, byte [edi]
cmp ax, 3
ja 0x508b95
movzx eax, ax
add edx, 3
add ecx, 0xfffffffd
movzx ebx, bx
shl eax, 0xe
mov edi, edx
mov esi, ecx
or ebx, eax
cmp bx, 0x21
mov dword [esp + 0x20], esi
jne 0x506de6
jmp 0x506d36
jae 0x50cc9c
mov edx, dword [esp + 0x18]
shl ecx, 4
mov dword [esp + ecx + 0x1cc], esi
mov dword [esp + ecx + 0x1c8], eax
mov dword [esp + ecx + 0x1d4], ebx
mov dword [esp + ecx + 0x1d0], edx
inc dword [esp + 0x1c4]
cmp dword [esp + 0x20], 0
jne 0x506cba
jmp 0x508b95
test ecx, ecx
je 0x508b95
movzx ebx, byte [edx]
lea edi, [ecx - 1]
mov eax, ebx
and eax, 0x7f
test bl, bl
js 0x5070d4
inc edx
mov ebx, edx
jmp 0x507121
test edi, edi
je 0x508b95
movzx ebx, byte [edx + 1]
movzx eax, ax
lea edi, [ecx - 2]
mov esi, ebx
and esi, 0x7f
shl esi, 7
or eax, esi
test bl, bl
lea ebx, [edx + 2]
jns 0x507121
test edi, edi
je 0x508b95
movzx esi, byte [ebx]
cmp si, 3
ja 0x508b95
movzx esi, si
add edx, 3
add ecx, 0xfffffffd
movzx eax, ax
shl esi, 0xe
mov ebx, edx
mov edi, ecx
or eax, esi
test ax, ax
jne 0x508b95
lea eax, [esp + 0x1d8]
movq xmm1, qword [esp + 0x1c0]
movdqu xmm0, xmmword [esp + 0x1c8]
lea esi, [esp + 0x1c0]
movsd xmm3, qword [eax + 8]
movsd xmm4, qword [eax + 0x10]
movq xmm2, qword [eax]
movd edx, xmm1
movsd qword [esp + 0x338], xmm3
movsd xmm3, qword [eax + 0x18]
movsd qword [esp + 0x340], xmm4
movsd xmm4, qword [eax + 0x20]
cmp edx, 2
movq qword [esp + 0x330], xmm2
movsd qword [esp + 0x348], xmm3
movsd xmm3, qword [eax + 0x28]
movsd qword [esp + 0x350], xmm4
movsd xmm4, qword [eax + 0x30]
movsd qword [esp + 0x358], xmm3
movsd xmm3, qword [eax + 0x38]
movsd qword [esp + 0x360], xmm4
movsd qword [esp + 0x368], xmm3
je 0x508bbd
movsd xmm3, qword [esp + 0x360]
movsd xmm4, qword [esp + 0x358]
movq xmm2, qword [esp + 0x368]
cmp edx, 3
movsd qword [esp + 0x3c8], xmm3
movsd xmm3, qword [esp + 0x350]
movsd qword [esp + 0x3c0], xmm4
movsd xmm4, qword [esp + 0x348]
movq qword [esp + 0x3d0], xmm2
movsd qword [esp + 0x3b8], xmm3
movsd xmm3, qword [esp + 0x340]
movsd qword [esp + 0x3b0], xmm4
movsd xmm4, qword [esp + 0x330]
movsd qword [esp + 0x3a8], xmm3
movsd xmm3, qword [esp + 0x338]
movsd qword [esp + 0x398], xmm4
movsd qword [esp + 0x3a0], xmm3
je 0x508bbd
movsd xmm3, qword [esp + 0x3c8]
movsd xmm4, qword [esp + 0x3c0]
mov eax, dword [esp + 0x500]
movq xmm2, qword [esp + 0x3d0]
cmp edx, 2
movsd qword [esp + 0x188], xmm3
movsd xmm3, qword [esp + 0x3b8]
movsd qword [esp + 0x180], xmm4
movsd xmm4, qword [esp + 0x3b0]
mov dword [esp + 0x64], eax
movzx eax, byte [esp + 0x504]
movq qword [esp + 0x190], xmm2
movsd qword [esp + 0x178], xmm3
movsd xmm3, qword [esp + 0x3a8]
movsd qword [esp + 0x170], xmm4
movsd xmm4, qword [esp + 0x398]
mov byte [esp + 0x68], al
movsd qword [esp + 0x168], xmm3
movsd xmm3, qword [esp + 0x3a0]
movsd qword [esp + 0x158], xmm4
movsd qword [esp + 0x160], xmm3
je 0x508d3b
pshufd xmm1, xmm1, 0x55
movsd xmm2, qword [esp + 0x190]
mov eax, dword [esp + 0x64]
cmp dword [esp + 0x50], 0
movd dword [esp + 0x7c], xmm0
mov dword [esp + 0x60], edi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x3c], edx
movd dword [esp + 0xb4], xmm1
pshufd xmm1, xmm0, 0x55
movd dword [esp + 0x84], xmm1
pshufd xmm1, xmm0, 0xff
pshufd xmm0, xmm0, 0xee
movd dword [esp + 0xf0], xmm1
movsd xmm1, qword [esp + 0x188]
movd dword [esp + 0xac], xmm0
movsd qword [esp + 0x468], xmm2
movsd xmm2, qword [esp + 0x180]
mov dword [esp + 0x410], eax
movzx eax, byte [esp + 0x68]
movsd qword [esp + 0x460], xmm1
movsd xmm1, qword [esp + 0x178]
movsd qword [esp + 0x458], xmm2
movsd xmm2, qword [esp + 0x170]
mov byte [esp + 0x414], al
movsd qword [esp + 0x450], xmm1
movsd xmm1, qword [esp + 0x168]
movsd qword [esp + 0x448], xmm2
movq xmm2, qword [esp + 0x158]
movsd qword [esp + 0x440], xmm1
movq xmm1, qword [esp + 0x160]
movq qword [esp + 0x430], xmm2
movq qword [esp + 0x438], xmm1
jne 0x5074ff
mov eax, dword [esp + 0x40]
dec eax
cmp eax, dword [esp + 0x8c]
jb 0x509056
mov edx, dword [esp + 0x3c]
jne 0x5074ff
cmp dword [esp + 0x154], 0
je 0x50786a
mov eax, dword [esp + 0x14c]
test eax, eax
je 0x50786a
mov ecx, dword [esp + 0x150]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x18], eax
movzx eax, word [eax + 0x4d6]
mov edx, 0xffffffff
lea edi, [eax*8]
mov dword [esp + 0x14], eax
test edi, edi
je 0x5074ce
mov eax, dword [esp + 0x18]
xor ebx, ebx
mov ecx, dword [eax + edx*8 + 0xc]
mov esi, dword [eax + edx*8 + 8]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x20], ecx
xor ecx, dword [esp + 0x50]
mov dword [esp + 0x10], esi
xor esi, eax
or esi, ecx
setne bl
cmp eax, dword [esp + 0x10]
mov eax, dword [esp + 0x50]
sbb eax, dword [esp + 0x20]
mov eax, 0xff
cmovb ebx, eax
inc edx
add edi, 0xfffffff8
cmp bl, 1
je 0x50746d
movzx eax, bl
mov edi, dword [esp + 0x60]
mov ebx, dword [esp + 0xc]
lea esi, [esp + 0x1c0]
test eax, eax
jne 0x5074e1
jmp 0x509056
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x60]
mov ebx, dword [esp + 0xc]
lea esi, [esp + 0x1c0]
mov eax, dword [esp + 0x18]
sub dword [esp + 0xb8], 1
jb 0x50786a
mov eax, dword [eax + edx*4 + 0x4d8]
jmp 0x507452
mov ecx, dword [esp + 0x14c]
test ecx, ecx
je 0x5075fb
mov eax, dword [esp + 0x150]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x9c], eax
mov dword [esp + 0xb8], eax
mov eax, ecx
mov dword [esp + 0x14], eax
movzx eax, word [eax + 0x4d6]
mov dword [esp + 0x20], 0xffffffff
lea esi, [eax*8]
mov dword [esp + 0xd8], eax
test esi, esi
je 0x5075bd
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
xor edx, edx
mov ebx, dword [eax + ecx*8 + 0xc]
mov edi, dword [eax + ecx*8 + 8]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x10], ebx
xor ebx, dword [esp + 0x50]
mov dword [esp + 0x18], edi
xor edi, eax
or edi, ebx
mov ebx, dword [esp + 0x50]
setne dl
cmp eax, dword [esp + 0x18]
mov eax, ebx
sbb eax, dword [esp + 0x10]
mov eax, 0xff
cmovb edx, eax
inc ecx
add esi, 0xfffffff8
cmp dl, 1
mov dword [esp + 0x20], ecx
je 0x507551
movzx eax, dl
test eax, eax
je 0x509034
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xb8]
mov esi, dword [esp + 0x40]
jmp 0x5075d7
mov eax, dword [esp + 0xd8]
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xb8]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x14]
sub edx, 1
jb 0x507abd
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xb8], edx
mov eax, dword [eax + ecx*4 + 0x4d8]
jmp 0x507530
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x480], edx
movsd xmm1, qword [esp + 0x188]
lea ecx, [esp + 0x490]
movsd xmm2, qword [esp + 0x180]
movq xmm0, qword [esp + 0x190]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x484], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x488], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x48c], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x490], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x494], eax
movsd qword [ecx + 0x38], xmm1
movsd xmm1, qword [esp + 0x178]
movsd qword [ecx + 0x30], xmm2
movsd xmm2, qword [esp + 0x170]
mov eax, dword [esp + 0x50]
movq qword [ecx + 0x40], xmm0
movsd qword [ecx + 0x28], xmm1
movsd xmm1, qword [esp + 0x168]
movsd qword [ecx + 0x20], xmm2
movq xmm2, qword [esp + 0x158]
movsd qword [ecx + 0x18], xmm1
movq xmm1, qword [esp + 0x160]
movq qword [ecx + 8], xmm2
movq qword [ecx + 0x10], xmm1
mov dword [esp + 0x4dc], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x4d8], esi
mov word [esp + 0x4e0], ax
movzx eax, byte [esp + 0x88]
mov byte [esp + 0x4e2], al
movzx eax, byte [esp + 0x68]
mov byte [ecx + 0x57], al
mov eax, dword [esp + 0x64]
mov dword [ecx + 0x53], eax
movzx eax, byte [0x5da16c]
mov eax, dword [0x5da100]
test eax, eax
jne 0x50771e
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x50cecc
mov dword [0x5da100], eax
push 0x4d8
push 0
push eax
call sub.kernel32.dll_HeapAlloc
test eax, eax
je 0x50cecc
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0x4d0], 0
mov edx, dword [esp + 0x50]
mov dword [eax + 0x58], ecx
mov ecx, dword [esp + 0xb4]
mov dword [eax + 0x5c], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 0x60], ecx
mov ecx, dword [esp + 0x84]
mov dword [eax + 0x64], ecx
mov ecx, dword [esp + 0xac]
mov dword [eax + 0x68], ecx
mov ecx, dword [esp + 0xf0]
mov dword [eax + 0x6c], ecx
mov ecx, dword [esp + 0x78]
movsd xmm0, qword [esp + 0x430]
movq xmm1, qword [esp + 0x438]
movsd qword [eax + 0x70], xmm0
movq qword [eax + 0x78], xmm1
movsd xmm0, qword [esp + 0x440]
movsd qword [eax + 0x80], xmm0
movsd xmm0, qword [esp + 0x448]
movsd qword [eax + 0x88], xmm0
movsd xmm0, qword [esp + 0x450]
movsd qword [eax + 0x90], xmm0
movsd xmm0, qword [esp + 0x458]
movsd qword [eax + 0x98], xmm0
movsd xmm0, qword [esp + 0x460]
movsd qword [eax + 0xa0], xmm0
movq xmm0, qword [esp + 0x468]
movq qword [eax + 0xa8], xmm0
mov dword [eax + 0xb4], edx
mov dword [eax + 0xb0], esi
mov word [eax + 0xb8], cx
movzx ecx, byte [esp + 0x88]
mov byte [eax + 0xba], cl
mov ecx, dword [esp + 0x410]
mov dword [eax + 0xbb], ecx
movzx ecx, byte [esp + 0x414]
mov byte [eax + 0xbf], cl
mov word [eax + 0x4d6], 1
mov dword [eax + 4], edx
mov dword [eax], esi
mov dword [esp + 0x14c], eax
mov eax, 1
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], eax
jmp 0x507ab0
mov eax, dword [esp + 0x3c]
movsd xmm1, qword [esp + 0x188]
movsd xmm2, qword [esp + 0x180]
movq xmm0, qword [esp + 0x190]
movzx edx, byte [esp + 0x68]
lea ecx, [esp + 0x1c4]
mov dword [esp + 0x1c0], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x1c4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x1c8], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x1cc], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x1d0], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x1d4], eax
lea eax, [esp + 0x1d8]
movsd qword [eax + 0x30], xmm1
movsd xmm1, qword [esp + 0x178]
movsd qword [eax + 0x28], xmm2
movsd xmm2, qword [esp + 0x170]
movq qword [eax + 0x38], xmm0
movsd qword [eax + 0x20], xmm1
movsd xmm1, qword [esp + 0x168]
movsd qword [eax + 0x18], xmm2
movq xmm2, qword [esp + 0x158]
movsd qword [eax + 0x10], xmm1
movq xmm1, qword [esp + 0x160]
movq qword [eax], xmm2
movq qword [eax + 8], xmm1
mov eax, dword [esp + 0x50]
mov dword [esp + 0x21c], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0x78]
mov word [esp + 0x220], ax
movzx eax, byte [esp + 0x88]
mov byte [esp + 0x222], al
mov byte [ecx + 0x63], dl
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x64]
cmp edx, dword [esp + 0x144]
mov dword [ecx + 0x5f], eax
jne 0x5079a1
lea ecx, [esp + 0x140]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::reserve_for_push::h14fa682419c2e91b
mov esi, dword [esp + 0x140]
mov edx, dword [esp + 0x148]
jmp 0x5079a8
mov esi, dword [esp + 0xb0]
mov ecx, dword [esp + 0x3c]
imul eax, edx, 0x68
inc edx
mov dword [esp + 0xb0], esi
mov dword [esp + 0x8c], edx
mov dword [esi + eax], ecx
mov ecx, dword [esp + 0xb4]
mov dword [esi + eax + 4], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esi + eax + 8], ecx
mov ecx, dword [esp + 0x84]
mov dword [esi + eax + 0xc], ecx
mov ecx, dword [esp + 0xf0]
mov dword [esi + eax + 0x14], ecx
mov ecx, dword [esp + 0xac]
mov dword [esi + eax + 0x10], ecx
mov ecx, dword [esp + 0x50]
movsd xmm0, qword [esp + 0x430]
movq xmm1, qword [esp + 0x438]
movsd qword [esi + eax + 0x18], xmm0
movq qword [esi + eax + 0x20], xmm1
movsd xmm0, qword [esp + 0x440]
movsd qword [esi + eax + 0x28], xmm0
movsd xmm0, qword [esp + 0x448]
movsd qword [esi + eax + 0x30], xmm0
movsd xmm0, qword [esp + 0x450]
movsd qword [esi + eax + 0x38], xmm0
movsd xmm0, qword [esp + 0x458]
movsd qword [esi + eax + 0x40], xmm0
movsd xmm0, qword [esp + 0x460]
movsd qword [esi + eax + 0x48], xmm0
movq xmm0, qword [esp + 0x468]
movq qword [esi + eax + 0x50], xmm0
mov dword [esi + eax + 0x5c], ecx
mov ecx, dword [esp + 0x40]
mov dword [esi + eax + 0x58], ecx
mov ecx, dword [esp + 0x78]
mov word [esi + eax + 0x60], cx
movzx ecx, byte [esp + 0x88]
mov byte [esi + eax + 0x62], cl
mov ecx, dword [esp + 0x410]
mov dword [esi + eax + 0x63], ecx
movzx ecx, byte [esp + 0x414]
mov byte [esi + eax + 0x67], cl
mov dword [esp + 0x148], edx
test edi, edi
jne 0x506abf
jmp 0x508bbd
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x480], ecx
mov edi, dword [esp + 0xf0]
movsd xmm0, qword [esp + 0x190]
lea edx, [esp + 0x490]
movsd xmm1, qword [esp + 0x160]
mov dword [esp + 0x330], ecx
lea ecx, [esp + 0x340]
movsd xmm2, qword [esp + 0x180]
mov dword [esp + 0x484], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x488], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x48c], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x494], edi
mov dword [esp + 0x490], eax
movsd qword [edx + 0x40], xmm0
movsd xmm0, qword [esp + 0x188]
mov eax, dword [esp + 0x78]
movsd qword [edx + 0x10], xmm1
movsd xmm1, qword [esp + 0x188]
movsd qword [edx + 0x38], xmm0
movsd xmm0, qword [esp + 0x180]
movsd qword [edx + 0x30], xmm0
movsd xmm0, qword [esp + 0x178]
movsd qword [edx + 0x28], xmm0
movsd xmm0, qword [esp + 0x170]
movsd qword [edx + 0x20], xmm0
movsd xmm0, qword [esp + 0x168]
movsd qword [edx + 0x18], xmm0
movsd xmm0, qword [esp + 0x158]
movsd qword [edx + 8], xmm0
mov dword [esp + 0x4dc], ebx
mov dword [esp + 0x4d8], esi
mov word [esp + 0x4e0], ax
movzx eax, byte [esp + 0x88]
movq xmm0, qword [esp + 0x190]
mov byte [esp + 0x4e2], al
mov eax, dword [esp + 0x64]
mov dword [edx + 0x53], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x334], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x344], edi
mov dword [esp + 0x340], eax
movsd qword [ecx + 0x38], xmm1
movsd xmm1, qword [esp + 0x178]
movsd qword [ecx + 0x30], xmm2
movsd xmm2, qword [esp + 0x170]
mov eax, dword [esp + 0x78]
movq qword [ecx + 0x40], xmm0
movsd qword [ecx + 0x28], xmm1
movsd xmm1, qword [esp + 0x168]
movsd qword [ecx + 0x20], xmm2
movq xmm2, qword [esp + 0x158]
movsd qword [ecx + 0x18], xmm1
movq xmm1, qword [esp + 0x160]
movq qword [ecx + 8], xmm2
movq qword [ecx + 0x10], xmm1
mov dword [esp + 0x38c], ebx
mov dword [esp + 0x388], esi
mov word [esp + 0x390], ax
movzx eax, byte [esp + 0x88]
mov byte [esp + 0x392], al
mov eax, dword [esp + 0x64]
mov dword [ecx + 0x53], eax
movzx eax, byte [esp + 0x68]
mov ah, byte [esp + 0x68]
mov byte [edx + 0x57], al
mov edx, dword [esp + 0xd8]
mov byte [ecx + 0x57], ah
cmp dx, 0xb
jb 0x507cfb
cmp dword [esp + 0x20], 5
mov al, 1
mov esi, 4
mov dword [esp + 0x128], eax
jb 0x50800d
je 0x507ff2
cmp dword [esp + 0x20], 6
jne 0x507ff8
mov esi, 5
mov dword [esp + 0x128], 0
mov dword [esp + 0x20], 0
jmp 0x50800d
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x14]
cmp eax, edx
lea eax, [edi + eax*8]
mov dword [esp + 0x50], eax
jae 0x507e11
mov ecx, dword [esp + 0x20]
lea eax, [edi + ecx*8 + 8]
sub edx, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x40], edx
lea ecx, [edx*8]
push ecx
push dword [esp + 0x54]
push dword [esp + 0x18]
call sub.msvcrt.dll_memmove
add esp, 0xc
mov ecx, dword [esp + 0x20]
imul edx, dword [esp + 0x40], 0x68
mov dword [edi + ecx*8 + 4], ebx
mov dword [edi + ecx*8], esi
movsd xmm1, qword [esp + 0x160]
movsd xmm2, qword [esp + 0x168]
mov eax, dword [esp + 0x64]
movsd xmm0, qword [esp + 0x158]
movsd qword [esp + 0x1c8], xmm1
movsd xmm1, qword [esp + 0x170]
movsd qword [esp + 0x1d0], xmm2
movsd xmm2, qword [esp + 0x178]
mov dword [esp + 0x398], eax
movzx eax, byte [esp + 0x68]
movsd qword [esp + 0x1c0], xmm0
movsd qword [esp + 0x1d8], xmm1
movsd xmm1, qword [esp + 0x180]
movsd qword [esp + 0x1e0], xmm2
movq xmm2, qword [esp + 0x188]
mov byte [esp + 0x39c], al
imul eax, ecx, 0x68
lea ecx, [edi + eax + 0x58]
lea eax, [edi + eax + 0xc0]
movsd qword [esp + 0x1e8], xmm1
movsd xmm1, qword [esp + 0x190]
movq qword [esp + 0x1f0], xmm2
movsd qword [esp + 0x1f8], xmm1
push edx
push ecx
push eax
call sub.msvcrt.dll_memmove
add esp, 0xc
jmp 0x507ec1
mov eax, dword [esp + 0x50]
mov dword [eax], esi
mov dword [eax + 4], ebx
movsd xmm1, qword [esp + 0x160]
movsd xmm2, qword [esp + 0x168]
mov eax, dword [esp + 0x64]
movsd xmm0, qword [esp + 0x158]
movsd qword [esp + 0x1c8], xmm1
movsd xmm1, qword [esp + 0x170]
movsd qword [esp + 0x1d0], xmm2
movsd xmm2, qword [esp + 0x178]
mov dword [esp + 0x398], eax
movzx eax, byte [esp + 0x68]
movsd qword [esp + 0x1c0], xmm0
movsd qword [esp + 0x1d8], xmm1
movsd xmm1, qword [esp + 0x180]
movsd qword [esp + 0x1e0], xmm2
movq xmm2, qword [esp + 0x188]
mov byte [esp + 0x39c], al
movsd qword [esp + 0x1e8], xmm1
movsd xmm1, qword [esp + 0x190]
movq qword [esp + 0x1f0], xmm2
movsd qword [esp + 0x1f8], xmm1
imul eax, dword [esp + 0x20], 0x68
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x60]
mov dword [edx + eax + 0x58], ecx
mov ecx, dword [esp + 0xb4]
mov dword [edx + eax + 0x5c], ecx
mov ecx, dword [esp + 0x7c]
mov dword [edx + eax + 0x60], ecx
mov ecx, dword [esp + 0x84]
mov dword [edx + eax + 0x64], ecx
mov ecx, dword [esp + 0xf0]
mov dword [edx + eax + 0x6c], ecx
mov ecx, dword [esp + 0xac]
mov dword [edx + eax + 0x68], ecx
mov ecx, dword [esp + 0x78]
movsd xmm0, qword [esp + 0x1c0]
movq xmm1, qword [esp + 0x1c8]
movsd qword [edx + eax + 0x70], xmm0
movq qword [edx + eax + 0x78], xmm1
movsd xmm0, qword [esp + 0x1d0]
movsd qword [edx + eax + 0x80], xmm0
movsd xmm0, qword [esp + 0x1d8]
movsd qword [edx + eax + 0x88], xmm0
movsd xmm0, qword [esp + 0x1e0]
movsd qword [edx + eax + 0x90], xmm0
movsd xmm0, qword [esp + 0x1e8]
movsd qword [edx + eax + 0x98], xmm0
movsd xmm0, qword [esp + 0x1f0]
movsd qword [edx + eax + 0xa0], xmm0
movq xmm0, qword [esp + 0x1f8]
movq qword [edx + eax + 0xa8], xmm0
mov dword [edx + eax + 0xb4], ebx
mov dword [edx + eax + 0xb0], esi
mov word [edx + eax + 0xb8], cx
movzx ecx, byte [esp + 0x88]
mov ebx, dword [esp + 0xc]
mov byte [edx + eax + 0xba], cl
mov ecx, dword [esp + 0x398]
mov dword [edx + eax + 0xbb], ecx
movzx ecx, byte [esp + 0x39c]
mov byte [edx + eax + 0xbf], cl
mov eax, dword [esp + 0xd8]
inc eax
mov word [edx + 0x4d6], ax
jmp 0x5089f1
mov esi, dword [esp + 0x20]
jmp 0x50800d
add dword [esp + 0x20], 0xfffffff9
mov esi, 6
mov dword [esp + 0x128], 0
movzx eax, byte [0x5da16c]
mov ecx, 0x4d8
mov edx, 8
call sym.___rust_alloc
test eax, eax
je 0x50cfd2
mov edi, dword [esp + 0x14]
mov dword [eax + 0x4d0], 0
mov edx, esi
mov dword [esp + 0x10], eax
imul ecx, esi, 0x68
not edx
movzx ebx, word [edi + 0x4d6]
add edx, ebx
mov word [eax + 0x4d6], dx
cmp edx, 0xb
mov eax, dword [edi + esi*8]
mov dword [esp + 0xb8], eax
mov eax, dword [edi + esi*8 + 4]
mov dword [esp + 0xd8], eax
mov eax, esi
lea esi, [edi + ecx + 0x58]
mov ecx, 0x1a
lea edi, [esp + 0x1c0]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
ja 0x50cfe6
lea esi, [eax + 1]
mov dword [esp + 0x18], eax
sub ebx, esi
cmp ebx, ecx
jne 0x50cffd
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x1a4], ecx
lea ecx, [ecx*8]
lea eax, [ebx + 0x58]
mov dword [esp + 0x13c], eax
lea eax, [ebx + esi*8]
push ecx
push eax
mov edi, dword [esp + 0x18]
push edi
call sym._memcpy
add esp, 0xc
imul eax, esi, 0x68
imul edx, dword [esp + 0x1a4], 0x68
lea ecx, [edi + 0x58]
add eax, dword [esp + 0x13c]
push edx
push eax
push ecx
call sym._memcpy
add esp, 0xc
mov eax, dword [esp + 0x18]
mov ecx, 0x19
lea edi, [esp + 0x398]
lea esi, [esp + 0x1c4]
mov word [ebx + 0x4d6], ax
mov eax, dword [esp + 0x1c0]
mov dword [esp + 0x18], eax
rep movsd dword es:[edi], dword [esi]
cmp byte [esp + 0x128], 0
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
cmovne esi, ebx
lea ebx, [eax + 1]
movzx edx, word [esi + 0x4d6]
lea eax, [esi + eax*8]
cmp ebx, edx
mov dword [esp + 0x128], edx
jbe 0x5081fa
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x50]
mov dword [eax], ecx
mov dword [eax + 4], edx
movsd xmm1, qword [esp + 0x160]
movsd xmm2, qword [esp + 0x168]
mov eax, dword [esp + 0x64]
movsd xmm0, qword [esp + 0x158]
movsd qword [esp + 0x1c8], xmm1
movsd xmm1, qword [esp + 0x170]
movsd qword [esp + 0x1d0], xmm2
movsd xmm2, qword [esp + 0x178]
mov dword [esp + 0x7a0], eax
movzx eax, byte [esp + 0x68]
movsd qword [esp + 0x1c0], xmm0
movsd qword [esp + 0x1d8], xmm1
movsd xmm1, qword [esp + 0x180]
movsd qword [esp + 0x1e0], xmm2
movq xmm2, qword [esp + 0x188]
mov byte [esp + 0x7a4], al
movsd qword [esp + 0x1e8], xmm1
movsd xmm1, qword [esp + 0x190]
movq qword [esp + 0x1f0], xmm2
movsd qword [esp + 0x1f8], xmm1
jmp 0x508300
mov edi, dword [esp + 0x20]
lea ecx, [esi + ebx*8]
mov dword [esp + 0x1a4], ecx
sub edx, edi
mov dword [esp + 0x13c], edx
lea ecx, [edx*8]
push ecx
push eax
push dword [esp + 0x1ac]
call sub.msvcrt.dll_memmove
add esp, 0xc
mov eax, dword [esp + 0x50]
imul edx, dword [esp + 0x13c], 0x68
imul ecx, ebx, 0x68
lea ecx, [esi + ecx + 0x58]
mov dword [esi + edi*8 + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esi + edi*8], eax
movsd xmm1, qword [esp + 0x160]
movsd xmm2, qword [esp + 0x168]
mov eax, dword [esp + 0x64]
movsd xmm0, qword [esp + 0x158]
movsd qword [esp + 0x1c8], xmm1
movsd xmm1, qword [esp + 0x170]
movsd qword [esp + 0x1d0], xmm2
movsd xmm2, qword [esp + 0x178]
mov dword [esp + 0x7a0], eax
movzx eax, byte [esp + 0x68]
movsd qword [esp + 0x1c0], xmm0
movsd qword [esp + 0x1d8], xmm1
movsd xmm1, qword [esp + 0x180]
movsd qword [esp + 0x1e0], xmm2
movq xmm2, qword [esp + 0x188]
mov byte [esp + 0x7a4], al
imul eax, edi, 0x68
lea eax, [esi + eax + 0x58]
movsd qword [esp + 0x1e8], xmm1
movsd xmm1, qword [esp + 0x190]
movq qword [esp + 0x1f0], xmm2
movsd qword [esp + 0x1f8], xmm1
push edx
push eax
push ecx
call sub.msvcrt.dll_memmove
add esp, 0xc
imul eax, dword [esp + 0x20], 0x68
mov ecx, dword [esp + 0x3c]
lea edi, [esp + 0x500]
mov dword [esi + eax + 0x58], ecx
mov ecx, dword [esp + 0xb4]
mov dword [esi + eax + 0x5c], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esi + eax + 0x60], ecx
mov ecx, dword [esp + 0x84]
mov dword [esi + eax + 0x64], ecx
mov ecx, dword [esp + 0xf0]
mov dword [esi + eax + 0x6c], ecx
mov ecx, dword [esp + 0xac]
mov dword [esi + eax + 0x68], ecx
mov ecx, dword [esp + 0x50]
movsd xmm0, qword [esp + 0x1c0]
movq xmm1, qword [esp + 0x1c8]
movsd qword [esi + eax + 0x70], xmm0
movq qword [esi + eax + 0x78], xmm1
movsd xmm0, qword [esp + 0x1d0]
movsd qword [esi + eax + 0x80], xmm0
movsd xmm0, qword [esp + 0x1d8]
movsd qword [esi + eax + 0x88], xmm0
movsd xmm0, qword [esp + 0x1e0]
movsd qword [esi + eax + 0x90], xmm0
movsd xmm0, qword [esp + 0x1e8]
movsd qword [esi + eax + 0x98], xmm0
movsd xmm0, qword [esp + 0x1f0]
movsd qword [esi + eax + 0xa0], xmm0
movq xmm0, qword [esp + 0x1f8]
movq qword [esi + eax + 0xa8], xmm0
mov dword [esi + eax + 0xb4], ecx
mov ecx, dword [esp + 0x40]
mov dword [esi + eax + 0xb0], ecx
mov ecx, dword [esp + 0x78]
mov word [esi + eax + 0xb8], cx
movzx ecx, byte [esp + 0x88]
mov byte [esi + eax + 0xba], cl
mov ecx, dword [esp + 0x7a0]
mov dword [esi + eax + 0xbb], ecx
movzx ecx, byte [esp + 0x7a4]
mov byte [esi + eax + 0xbf], cl
mov eax, dword [esp + 0x128]
mov ecx, 0x19
inc eax
mov word [esi + 0x4d6], ax
lea esi, [esp + 0x398]
rep movsd dword es:[edi], dword [esi]
cmp dword [esp + 0x18], 2
mov ebx, dword [esp + 0xc]
jne 0x508451
mov edi, dword [esp + 0x60]
jmp 0x5089f1
mov ecx, 0x19
lea edi, [esp + 0x7a0]
lea esi, [esp + 0x500]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x4d0]
test eax, eax
je 0x5088c4
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x7a0]
mov dword [esp + 0x84], 0
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x14]
movzx ebx, word [ecx + 0x4d4]
mov ecx, dword [esp + 0x18]
lea edi, [esp + 0x39c]
mov esi, edx
mov dword [esp + 0x398], ecx
mov ecx, 0x19
rep movsd dword es:[edi], dword [esi]
mov esi, eax
movzx eax, word [eax + 0x4d6]
mov dword [esp + 0x14], esi
cmp eax, 0xb
mov dword [esp + 0x18], eax
jb 0x5089fe
mov cl, 1
mov edx, 4
cmp bx, 5
jb 0x508519
cmp bx, 5
je 0x50850b
cmp ebx, 6
jne 0x50850f
xor ecx, ecx
mov edx, 5
xor ebx, ebx
jmp 0x508519
mov edx, ebx
jmp 0x508519
add ebx, 0xfffffff9
mov edx, 6
xor ecx, ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0x7c], ecx
movzx eax, byte [0x5da16c]
mov eax, dword [0x5da100]
test eax, eax
jne 0x508543
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x50d019
mov dword [0x5da100], eax
push 0x508
push 0
push eax
call sub.kernel32.dll_HeapAlloc
test eax, eax
je 0x50d019
mov edx, dword [esp + 0x50]
mov dword [eax + 0x4d0], 0
mov ecx, eax
mov dword [esp + 0x20], eax
movzx edi, word [esi + 0x4d6]
mov dword [esp + 0x10], ecx
mov eax, edx
not eax
mov dword [esp + 0x88], edi
add eax, edi
mov word [ecx + 0x4d6], ax
mov ecx, dword [esi + edx*8]
mov dword [esp + 0xb8], ecx
imul ecx, edx, 0x68
cmp eax, 0xb
lea edi, [esi + ecx + 0x58]
mov ecx, dword [esi + edx*8 + 4]
mov esi, edi
lea edi, [esp + 0x330]
mov dword [esp + 0xd8], ecx
mov ecx, 0x1a
rep movsd dword es:[edi], dword [esi]
ja 0x50d02d
mov ecx, dword [esp + 0x88]
lea esi, [edx + 1]
sub ecx, esi
cmp ecx, eax
jne 0x50d046
mov edi, eax
mov eax, dword [esp + 0x14]
lea ecx, [edi*8]
lea edx, [eax + 0x58]
lea eax, [eax + esi*8]
mov dword [esp + 0x88], edx
push ecx
push eax
push dword [esp + 0x18]
call sym._memcpy
add esp, 0xc
mov ecx, dword [esp + 0x20]
imul eax, esi, 0x68
mov dword [esp + 0xb4], esi
imul edx, edi, 0x68
add eax, dword [esp + 0x88]
add ecx, 0x58
push edx
push eax
push ecx
call sym._memcpy
add esp, 0xc
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x14]
lea edi, [esp + 0x1c8]
lea esi, [esp + 0x330]
mov word [ecx + 0x4d6], ax
mov ecx, 0x1a
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xb8]
mov edi, dword [esp + 0x10]
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1c0], ecx
movzx esi, word [edi + 0x4d6]
lea ecx, [esi + 1]
cmp esi, 0xc
jae 0x50d062
mov edx, dword [esp + 0x18]
sub edx, dword [esp + 0x50]
cmp edx, ecx
jne 0x50d079
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
inc dword [esp + 0x84]
shl edx, 2
add eax, 0x4d8
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xb4]
lea ecx, [ecx + eax*4 + 0x4d8]
push edx
push ecx
push dword [esp + 0x58]
call sym._memcpy
add esp, 0xc
xor eax, eax
mov ecx, eax
cmp eax, esi
mov edx, dword [edi + ecx*4 + 0x4d8]
adc eax, 0
cmp ecx, esi
mov dword [edx + 0x4d0], edi
mov word [edx + 0x4d4], cx
jae 0x5086e5
cmp eax, esi
jbe 0x5086c2
mov eax, dword [esp + 0x1c8]
mov ecx, 0x19
lea edi, [esp + 0x330]
lea esi, [esp + 0x1cc]
mov dword [esp + 0x18], eax
rep movsd dword es:[edi], dword [esi]
lea esi, [ebx + 1]
cmp byte [esp + 0x7c], 0
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x88], esi
cmovne ecx, dword [esp + 0x14]
movzx edx, word [ecx + 0x4d6]
lea edi, [ecx + ebx*8]
mov dword [esp + 0x20], ecx
cmp esi, edx
mov dword [esp + 0x50], edx
jbe 0x508759
mov edx, ecx
mov ecx, dword [esp + 0x3c]
lea esi, [esp + 0x398]
mov dword [edi], ecx
mov ecx, dword [esp + 0x78]
mov dword [edi + 4], ecx
mov ecx, 0x1a
lea edi, [esp + 0x1c0]
rep movsd dword es:[edi], dword [esi]
jmp 0x5087c4
mov eax, edx
lea ecx, [ecx + esi*8]
sub eax, ebx
lea edx, [eax*8]
mov dword [esp + 0x7c], eax
push edx
push edi
push ecx
call sub.msvcrt.dll_memmove
add esp, 0xc
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x20]
mov edx, esi
lea edi, [esp + 0x1c0]
lea esi, [esp + 0x398]
mov dword [ecx + ebx*8 + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + ebx*8], eax
mov ecx, 0x1a
imul eax, ebx, 0x68
rep movsd dword es:[edi], dword [esi]
imul ecx, edx, 0x68
mov esi, dword [esp + 0x20]
imul edx, dword [esp + 0x7c], 0x68
lea eax, [esi + eax + 0x58]
lea ecx, [esi + ecx + 0x58]
push edx
push eax
push ecx
call sub.msvcrt.dll_memmove
mov edx, esi
add esp, 0xc
mov eax, dword [esp + 0x50]
mov ecx, 0x1a
lea esi, [esp + 0x1c0]
inc eax
mov dword [esp + 0x3c], eax
imul eax, ebx, 0x68
lea edi, [edx + eax + 0x58]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x50]
mov edi, dword [esp + 0x88]
lea esi, [eax + 2]
lea eax, [ebx + 2]
cmp eax, esi
jae 0x508825
lea ecx, [edx + 0x4d8]
lea eax, [ecx + eax*4]
lea ecx, [ecx + edi*4]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x50]
sub eax, ebx
shl eax, 2
push eax
push ecx
push dword [esp + 0x80]
call sub.msvcrt.dll_memmove
mov edx, dword [esp + 0x2c]
add esp, 0xc
mov eax, dword [esp + 0x40]
cmp edi, esi
mov ecx, edx
mov dword [edx + ebx*4 + 0x4dc], eax
mov eax, dword [esp + 0x3c]
mov word [edx + 0x4d6], ax
lea edx, [esp + 0x500]
jae 0x508863
mov esi, eax
mov eax, dword [ecx + ebx*4 + 0x4dc]
inc ebx
cmp esi, ebx
mov dword [eax + 0x4d0], ecx
mov word [eax + 0x4d4], bx
jne 0x50884a
mov ecx, 0x19
mov edi, edx
lea esi, [esp + 0x330]
rep movsd dword es:[edi], dword [esi]
cmp dword [esp + 0x18], 2
je 0x5089e9
mov eax, edx
lea edx, [esp + 0x7a0]
mov ecx, 0x19
mov edi, edx
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0xb8]
mov ebx, dword [esp + 0xd8]
mov eax, dword [ecx + 0x4d0]
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x78], ebx
test eax, eax
jne 0x5084ac
jmp 0x5088e1
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0xb8]
mov ebx, dword [esp + 0xd8]
mov dword [esp + 0x84], 0
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xb8], edi
mov dword [esp + 0x10], esi
movzx eax, byte [0x5da16c]
mov ecx, 0x508
mov edx, 8
call sym.___rust_alloc
test eax, eax
je 0x50d095
mov edx, dword [esp + 0x9c]
mov ecx, dword [esp + 0x31c]
mov dword [eax + 0x4d0], 0
mov word [eax + 0x4d6], 0
lea edi, [esp + 0x1c4]
lea esi, [esp + 0x7a0]
mov dword [eax + 0x4d8], ecx
mov dword [ecx + 0x4d0], eax
mov word [ecx + 0x4d4], 0
lea ecx, [edx + 1]
mov dword [esp + 0x14c], eax
cmp edx, dword [esp + 0x84]
mov dword [esp + 0x150], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c0], ecx
mov ecx, 0x19
rep movsd dword es:[edi], dword [esi]
jne 0x50d0a9
movzx edx, word [eax + 0x4d6]
cmp edx, 0xb
jae 0x50d0ba
mov ecx, dword [esp + 0xb8]
lea ebx, [edx + 1]
mov esi, dword [esp + 0x18]
mov word [eax + 0x4d6], bx
mov dword [eax + edx*8], ecx
mov ecx, dword [esp + 0xd8]
mov dword [eax + edx*8 + 4], ecx
imul ecx, edx, 0x68
mov dword [eax + ecx + 0x58], esi
lea edi, [eax + ecx + 0x5c]
mov ecx, 0x19
lea esi, [esp + 0x7a0]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x10]
mov dword [eax + edx*4 + 0x4dc], ecx
mov dword [ecx + 0x4d0], eax
mov word [ecx + 0x4d4], bx
mov edi, dword [esp + 0x60]
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x154]
inc eax
jmp 0x50785e
lea ecx, [eax + 1]
lea edx, [ebx + 1]
cmp ax, bx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x20], edx
jbe 0x508aa6
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
sub esi, ebx
lea eax, [edi + ebx*8]
lea ecx, [edi + ecx*8]
lea edx, [esi*8]
mov dword [esp + 0x10], esi
push edx
push eax
push ecx
call sub.msvcrt.dll_memmove
add esp, 0xc
mov eax, dword [esp + 0x78]
mov ecx, edi
mov dword [edi + ebx*8 + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [edi + ebx*8], eax
imul eax, ebx, 0x68
lea edi, [edi + eax + 0x58]
imul eax, dword [esp + 0x20], 0x68
lea eax, [ecx + eax + 0x58]
imul ecx, esi, 0x68
push ecx
push edi
push eax
call sub.msvcrt.dll_memmove
add esp, 0xc
mov ecx, 0x1a
lea esi, [esp + 0x398]
rep movsd dword es:[edi], dword [esi]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
lea eax, [ecx + eax*4 + 0x4d8]
lea ecx, [ecx + ebx*4 + 0x4e0]
shl edx, 2
push edx
push eax
push ecx
call sub.msvcrt.dll_memmove
add esp, 0xc
jmp 0x508ace
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x3c]
lea esi, [esp + 0x398]
mov dword [ecx + ebx*8], eax
mov eax, dword [esp + 0x78]
mov dword [ecx + ebx*8 + 4], eax
imul eax, ebx, 0x68
lea edi, [ecx + eax + 0x58]
mov ecx, 0x1a
rep movsd dword es:[edi], dword [esi]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x50]
add edx, 2
mov dword [ecx + ebx*4 + 0x4dc], eax
mov word [ecx + 0x4d6], si
cmp dword [esp + 0x20], edx
jae 0x5089e9
mov eax, dword [ecx + ebx*4 + 0x4dc]
inc ebx
cmp esi, ebx
mov dword [eax + 0x4d0], ecx
mov word [eax + 0x4d4], bx
jne 0x508af9
jmp 0x5089e9
cmp dword [esp + 0x1c0], 0
je 0x508bbd
cmp dword [esp + 0x1c8], 0
je 0x508bbd
push dword [esp + 0x1c4]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
mov edi, dword [esp + 0x148]
mov esi, dword [esp + 0x140]
test edi, edi
je 0x508c03
lea ebx, [esi + 8]
jmp 0x508be6
add ebx, 0x68
dec edi
je 0x508c03
cmp dword [ebx - 8], 0
je 0x508be0
cmp dword [ebx], 0
je 0x508be0
push dword [ebx - 4]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
jmp 0x508be0
cmp dword [esp + 0x144], 0
je 0x508c1b
push esi
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
mov ecx, dword [esp + 0x14c]
lea edi, [esp + 0x1c0]
test ecx, ecx
je 0x508c74
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x154]
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1c8], ecx
mov dword [esp + 0x1cc], edx
mov dword [esp + 0x1d4], 0
mov dword [esp + 0x1d8], ecx
mov ecx, 1
mov dword [esp + 0x1dc], edx
jmp 0x508c78
xor ecx, ecx
xor eax, eax
lea esi, [esp + 0x330]
mov dword [esp + 0x1c0], ecx
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x1e0], eax
mov ecx, esi
mov edx, edi
call dbg.dying_next<u64, gimli::read::abbrev::Abbreviation, alloc::alloc::Global>
jmp 0x508ca9
mov ecx, esi
mov edx, edi
call dbg.dying_next<u64, gimli::read::abbrev::Abbreviation, alloc::alloc::Global>
mov eax, dword [esp + 0x330]
test eax, eax
je 0x5069f9
imul ecx, dword [esp + 0x338], 0x68
cmp dword [eax + ecx + 0x58], 0
je 0x508ca0
lea eax, [eax + ecx + 0x58]
cmp dword [eax + 8], 0
je 0x508ca0
push dword [eax + 4]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
jmp 0x508ca0
mov ecx, dword [esp + 0x140]
mov eax, dword [esp + 0xa0]
test ecx, ecx
je 0x5069f9
cmp byte [eax + 0x74], 0
mov dword [esp + 0x10], ecx
mov edi, dword [esp + 0x6c]
mov ebx, dword [esp + 0x1c]
setne dl
cmp word [esp + 0x74], 5
mov dword [esp + 0x330], ebx
setae dh
xor ecx, ecx
cmp byte [esp + 0x10c], 8
sete cl
test dh, dl
mov edx, 0
lea eax, [ecx*8 + 8]
lea ecx, [ecx*8 + 0xc]
cmove eax, edx
cmove ecx, edx
mov edx, dword [esp + 0x94]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1ac]
lea esi, [edx - 3]
cmp esi, 2
mov esi, dword [esp + 0x38]
mov dword [esp + 0x268], esi
mov dword [esp + 0x26c], edi
mov dword [esp + 0x270], edx
mov edx, dword [esp + 0x320]
mov edi, dword [esp + 0xbc]
mov esi, dword [esp + 0x144]
mov dword [esp + 0x274], edx
mov dword [esp + 0x27c], eax
mov eax, dword [esp + 0x12c]
mov edx, dword [esp + 0x90]
mov dword [esp + 0x278], eax
mov dword [esp + 0x280], ebx
mov dword [esp + 0x284], edx
mov dword [esp + 0x288], edi
mov edi, dword [esp + 0x70]
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x334], edx
mov dword [esp + 0x28c], edi
mov edi, dword [esp + 0xe8]
mov dword [esp + 0x38], eax
mov dword [esp + 0x290], edi
mov edi, dword [esp + 0x10]
mov dword [esp + 0x298], edi
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x29c], esi
mov esi, dword [esp + 0x154]
mov dword [esp + 0x2a0], edi
mov dword [esp + 0x2a4], eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0x2ac], esi
mov esi, dword [esp + 0x12c]
mov dword [esp + 0x2a8], eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x2b0], 0
mov dword [esp + 0x2b8], 0
mov dword [esp + 0x2c4], 0
mov dword [esp + 0x2c0], 0
mov dword [esp + 0x2c8], eax
mov dword [esp + 0x2cc], 0
mov dword [esp + 0x2d0], ecx
mov dword [esp + 0x2d4], ecx
mov ecx, dword [esp + 0x1ac]
mov eax, 0
setb al
test edx, edx
mov dword [esp + 0x1d4], 0
mov dword [esp + 0x1d0], 0x2f
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1c8], esi
lea esi, [esp + 0x268]
mov dword [esp + 0x338], esi
mov dword [esp + 0x1cc], ecx
lea ecx, [esp + 0x298]
mov dword [esp + 0x33c], ecx
mov dword [esp + 0x340], 0
mov dword [esp + 0x35c], 0
je 0x509023
mov edi, dword [esp + 0x90]
mov esi, dword [esp + 0x1c]
xor eax, eax
xor edx, edx
mov dword [esp + 0x50], 0
xor ecx, ecx
mov dword [esp + 0x40], edi
mov dword [esp + 0xc], esi
movzx ebx, byte [esi + eax]
cmp ecx, 0x3f
jne 0x508f95
cmp bl, 1
ja 0x509023
mov bh, bl
xor esi, esi
mov dword [esp + 0x20], eax
mov eax, 0
and bh, 0x7f
movzx edi, bh
shld esi, edi, cl
shl edi, cl
test cl, 0x20
cmovne esi, edi
cmovne edi, eax
or dword [esp + 0x50], esi
or edx, edi
test bl, bl
jns 0x508fd6
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0xc]
add ecx, 7
inc eax
cmp edi, eax
jne 0x508f83
jmp 0x509023
mov eax, dword [esp + 0x40]
mov esi, edx
lea ecx, [eax - 1]
mov eax, dword [esp + 0x20]
mov edi, ecx
sub edi, eax
or esi, dword [esp + 0x50]
mov esi, dword [esp + 0xc]
lea ebx, [esi + eax + 1]
mov dword [esp + 0x330], ebx
mov dword [esp + 0x334], edi
jne 0x509078
cmp ecx, eax
mov esi, ebx
mov dword [esp + 0x35c], 0xffffffff
mov dword [esp + 0x340], 0
jne 0x508f6d
lea ecx, [esp + 0x1c0]
call dbg.drop_in_place<gimli::read::dwarf::Unit<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>, usize>>
jmp 0x5069f9
cmp dword [esp + 0x3c], 0
je 0x508bbd
cmp dword [esp + 0x7c], 0
je 0x508bbd
push dword [esp + 0xb4]
jmp 0x508bb0
cmp dword [esp + 0x3c], 0
je 0x508bbd
cmp dword [esp + 0x7c], 0
je 0x508bbd
push dword [esp + 0xb4]
jmp 0x508bb0
cmp byte [esp + 0x10c], 8
mov dword [esp + 0x3c], edx
sete byte [esp + 0xbc]
cmp dword [esp + 0x50], 0
jne 0x5090b1
mov eax, dword [esp + 0x3c]
lea ecx, [eax - 1]
cmp ecx, dword [esp + 0x8c]
jae 0x5090b1
mov edx, dword [esp + 0x10]
imul eax, ecx, 0x68
add edx, eax
jmp 0x509166
cmp dword [esp + 0x38], 0
je 0x509023
mov eax, dword [esp + 0x38]
mov ecx, 0xffffffff
xor edx, edx
movzx eax, word [eax + 0x4d6]
mov dword [esp + 0xb0], eax
imul eax, eax, 0x68
mov dword [esp + 0x8c], eax
mov esi, dword [esp + 0x8c]
add esi, edx
je 0x509135
mov eax, dword [esp + 0x38]
xor ebx, ebx
mov edi, dword [eax + ecx*8 + 0xc]
mov esi, dword [eax + ecx*8 + 8]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x10], edi
xor edi, dword [esp + 0x50]
mov dword [esp + 0x14], esi
xor esi, eax
or esi, edi
mov esi, dword [esp + 0x50]
setne bl
cmp eax, dword [esp + 0x14]
mov eax, 0xff
sbb esi, dword [esp + 0x10]
cmovb ebx, eax
inc ecx
add edx, 0xffffff98
cmp bl, 1
je 0x5090df
movzx esi, bl
test esi, esi
jne 0x50913c
jmp 0x50915b
mov ecx, dword [esp + 0xb0]
sub dword [esp + 0x18], 1
jb 0x509023
mov eax, dword [esp + 0x38]
mov eax, dword [eax + ecx*4 + 0x4d8]
mov dword [esp + 0x38], eax
jmp 0x5090bc
mov eax, edx
mov edx, dword [esp + 0x38]
sub edx, eax
add edx, 0xfffffff0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x90]
movzx ebx, byte [esp + 0xbc]
mov edi, dword [esp + 0x20]
add eax, ecx
mov ecx, dword [esp + 0x70]
sub ecx, eax
xor eax, eax
mov al, bl
lea eax, [ecx + eax*8]
mov ecx, dword [esp + 0xc]
lea ebx, [ecx + edi + 1]
not edi
lea eax, [ecx + eax + 4]
xor ecx, ecx
add edi, dword [esp + 0x40]
cmp byte [edx + 0x62], 1
sete cl
mov esi, edi
mov dword [esp + 0x35c], ecx
lea ecx, [esp + 0x268]
mov dword [esp + 0x340], ebx
mov dword [esp + 0x344], edi
mov dword [esp + 0x348], edx
mov dword [esp + 0x34c], ecx
mov dword [esp + 0x350], eax
mov dword [esp + 0x354], 0
mov ecx, edx
call sym.__LT_gimli..read..abbrev..Attributes_u20_as_u20_core..ops..deref..Deref_GT_::deref::hf8d6840502f860f2
mov edi, eax
test edx, edx
lea ecx, [esp + 0x340]
mov dword [esp + 0x480], ebx
mov dword [esp + 0x484], esi
mov dword [esp + 0x488], eax
mov dword [esp + 0x48c], edx
mov dword [esp + 0x490], ecx
je 0x5095dd
mov eax, dword [esp + 0x1c0]
movaps xmm0, xmmword [0x560550]
lea ebx, [edx - 1]
add edi, 0x10
mov dword [esp + 0x20], 0
mov dword [esp + 0x38], 0x2e
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c4]
movaps xmmword [esp + 0x50], xmm0
movaps xmmword [esp + 0x40], xmm0
mov dword [esp + 0x3c], eax
jmp 0x50929d
add edi, 0x10
add ebx, 0xffffffff
jae 0x50961a
movq xmm0, qword [edi - 0x10]
movq xmm1, qword [edi - 8]
mov eax, dword [esp + 0x490]
movq qword [esp + 0x7a8], xmm1
movq qword [esp + 0x7a0], xmm0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x20]
movq qword [esp + 0x508], xmm1
movq qword [esp + 0x500], xmm0
lea ecx, [esp + 0x398]
lea esi, [esp + 0x500]
lea edx, [esp + 0x480]
push esi
push eax
call sym.gimli::read::unit::parse_attribute::h0b0c2730e37b975b
add esp, 8
mov eax, dword [esp + 0x398]
mov ecx, dword [esp + 0x39c]
mov edx, eax
xor edx, 0x2e
or edx, ecx
je 0x509023
movdqu xmm0, xmmword [esp + 0x3a0]
mov dword [esp + 0x398], eax
mov dword [esp + 0x488], edi
mov dword [esp + 0x39c], ecx
mov dword [esp + 0x48c], ebx
pextrw eax, xmm0, 4
movdqu xmmword [esp + 0x3a0], xmm0
cmp eax, 0x71
jle 0x5093ae
cmp eax, 0x2130
jg 0x509413
add eax, 0xffffff8e
cmp eax, 0x1a
ja 0x509291
mov eax, dword [eax*4 + 0x50d704]
add eax, dword [esp + 0xc0]
jmp eax
add eax, 0xfffffffd
cmp eax, 0x18
ja 0x509291
mov eax, dword [eax*4 + 0x50d6a0]
add eax, dword [esp + 0xc0]
jmp eax
cmp eax, 0x2131
je 0x509555
cmp eax, 0x2132
je 0x50946d
cmp eax, 0x2133
jne 0x509291
lea ecx, [esp + 0x500]
lea edx, [esp + 0x398]
call dbg.value<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
mov eax, dword [esp + 0x500]
xor eax, 0xb
or eax, dword [esp + 0x504]
jne 0x509291
mov eax, dword [esp + 0x508]
mov dword [esp + 0x2cc], eax
jmp 0x509291
lea ecx, [esp + 0x500]
lea edx, [esp + 0x398]
call dbg.value<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
mov eax, dword [esp + 0x500]
xor eax, 0x17
or eax, dword [esp + 0x504]
jne 0x509291
mov eax, dword [esp + 0x508]
mov dword [esp + 0x2d4], eax
jmp 0x509291
mov eax, dword [esp + 0x14]
or eax, dword [esp + 0x3c]
jne 0x509291
lea ecx, [esp + 0x500]
lea edx, [esp + 0x398]
call dbg.value<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
mov eax, dword [esp + 0x500]
mov dword [esp + 0x3c], 0
xor eax, 0x2d
or eax, dword [esp + 0x504]
jne 0x5095d0
mov eax, dword [esp + 0x508]
mov ecx, dword [esp + 0x50c]
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1c0], 1
mov dword [esp + 0x14], 1
mov dword [esp + 0x1cc], ecx
mov dword [esp + 0x1c8], eax
jmp 0x509291
mov dword [esp + 0x14], 0
jmp 0x509291
movdqa xmm0, xmmword [0x560550]
mov dword [esp + 0x18], 0
mov dword [esp + 0x38], 0x2e
lea eax, [esp + 0x340]
mov dword [esp + 0x10], 0
mov dword [esp + 0x20], 0
movdqa xmmword [esp + 0x50], xmm0
movdqa xmmword [esp + 0x40], xmm0
jmp 0x509621
mov eax, dword [esp + 0x490]
cmp dword [eax + 0x14], 0
jne 0x50963a
mov ecx, dword [esp + 0x480]
sub ecx, dword [eax]
mov dword [eax + 0x14], 1
mov dword [eax + 0x18], ecx
movdqa xmm1, xmmword [esp + 0x40]
xor ebx, ebx
movd ecx, xmm1
pshufd xmm0, xmm1, 0x55
movd eax, xmm0
xor ecx, 0x2e
or ecx, eax
je 0x5096b1
movdqa xmm0, xmmword [esp + 0x40]
movzx eax, byte [esp + 0x289]
movdqu xmmword [esp + 0x808], xmm0
mov edx, dword [esp + 0xe4]
lea edi, [esp + 0x808]
lea ecx, [esp + 0x330]
push edi
push dword [esp + 0x2cc]
push eax
call sym.gimli::read::dwarf::Dwarf_LT_R_GT_::attr_string::h5cafbcaefb734659
add esp, 0xc
xor ebx, ebx
cmp byte [esp + 0x330], 0x4b
jne 0x5096a6
mov ebx, dword [esp + 0x334]
mov eax, dword [esp + 0x338]
mov dword [esp + 0x14], eax
movdqa xmm1, xmmword [esp + 0x50]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x2b0], ebx
movd ecx, xmm1
pshufd xmm0, xmm1, 0x55
mov dword [esp + 0x2b4], eax
movd eax, xmm0
xor ecx, 0x2e
or ecx, eax
jne 0x50970c
cmp dword [esp + 0x20], 0
mov dword [esp + 0x2b8], 0
je 0x509823
movzx eax, byte [esp + 0x288]
mov dword [esp + 0x50], 0
mov byte [esp + 0x20], al
jmp 0x5097a3
movdqa xmm0, xmmword [esp + 0x50]
movzx eax, byte [esp + 0x289]
movdqu xmmword [esp + 0x818], xmm0
mov edx, dword [esp + 0xe4]
lea edi, [esp + 0x818]
lea ecx, [esp + 0x330]
push edi
push dword [esp + 0x2cc]
push eax
call sym.gimli::read::dwarf::Dwarf_LT_R_GT_::attr_string::h5cafbcaefb734659
add esp, 0xc
xor edi, edi
mov edx, dword [esp + 0x334]
cmp byte [esp + 0x330], 0x4b
mov eax, 0
mov ecx, dword [esp + 0x338]
cmove eax, edx
cmp dword [esp + 0x20], 0
mov dword [esp + 0x50], edx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x2b8], eax
mov dword [esp + 0x2bc], ecx
je 0x50982e
mov edx, dword [esp + 0x50]
movzx ecx, byte [esp + 0x288]
test eax, eax
cmove edx, eax
mov byte [esp + 0x20], cl
mov dword [esp + 0x50], edx
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax + 0x2c]
sub ecx, dword [esp + 0xc]
jb 0x509023
cmp ecx, 4
jb 0x509023
mov eax, dword [esp + 0xa0]
lea esi, [ecx - 4]
mov byte [esp + 0xe4], 4
mov edx, dword [eax + 0x28]
add edx, dword [esp + 0xc]
mov eax, dword [edx]
lea edi, [edx + 4]
cmp eax, 0xfffffff0
jb 0x509c56
cmp eax, 0xffffffff
jne 0x509023
cmp esi, 8
jb 0x509023
cmp dword [edi + 4], 0
jne 0x509023
mov esi, dword [edi]
add edx, 0xc
add ecx, 0xfffffff4
mov byte [esp + 0xe4], 8
mov edi, edx
mov dword [esp + 0xb0], esi
mov esi, ecx
jmp 0x509c5d
mov dword [esp + 0xbc], eax
xor edi, edi
jmp 0x509835
mov dword [esp + 0xbc], eax
mov dword [esp + 0x40], 0x2f
mov eax, dword [esp + 0x1d0]
xor eax, 0x2f
or eax, dword [esp + 0x1d4]
je 0x5098c8
cmp dword [esp + 0x228], 0
je 0x50986e
push dword [esp + 0x224]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x234], 0
je 0x50988c
push dword [esp + 0x230]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x240], 0
je 0x5098aa
push dword [esp + 0x23c]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x24c], 0
je 0x5098c8
push dword [esp + 0x248]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x40]
movsd xmm0, qword [esp + 0x518]
lea ecx, [esp + 0x1c4]
mov dword [esp + 0x1d4], edi
movq xmm1, qword [esp + 0x508]
mov esi, dword [esp + 0x84]
mov edi, dword [esp + 0xac]
movzx edx, byte [esp + 0xb8]
mov dword [esp + 0x1d0], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1d8], ebx
mov dword [esp + 0x1dc], eax
mov dword [esp + 0x1e4], 0
mov dword [esp + 0x1e0], 0
movsd qword [ecx + 0x3c], xmm0
movsd xmm0, qword [esp + 0x510]
mov eax, dword [esp + 0x1a4]
movq qword [ecx + 0x2c], xmm1
movsd qword [ecx + 0x34], xmm0
movsd xmm0, qword [esp + 0x500]
movsd qword [ecx + 0x24], xmm0
mov dword [esp + 0x208], eax
mov eax, dword [esp + 0x13c]
movsd xmm0, qword [esp + 0x140]
mov dword [esp + 0x20c], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x210], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x214], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x21c], eax
movzx eax, byte [esp + 0x20]
mov byte [esp + 0x220], al
movzx eax, byte [esp + 0xe4]
mov byte [esp + 0x221], al
mov eax, dword [esp + 0xbc]
mov word [esp + 0x222], ax
mov dword [esp + 0x224], esi
mov esi, dword [esp + 0x318]
mov dword [esp + 0x228], edi
mov edi, dword [esp + 0x148]
mov dword [esp + 0x22c], esi
mov esi, dword [esp + 0x60]
mov dword [ecx + 0x74], edi
movsd qword [ecx + 0x6c], xmm0
mov edi, dword [esp + 0x9c]
movq xmm0, qword [esp + 0x410]
mov dword [esp + 0x23c], esi
mov esi, dword [esp + 0xc4]
mov dword [esp + 0x240], edi
mov edi, dword [esp + 0x418]
mov dword [esp + 0x244], esi
mov esi, dword [esp + 0xc]
mov dword [ecx + 0x8c], edi
movq qword [ecx + 0x84], xmm0
mov edi, dword [esp + 0xb0]
movzx ecx, byte [esp + 0x128]
mov dword [esp + 0x254], esi
mov esi, dword [esp + 0x88]
mov dword [esp + 0x258], edi
mov dword [esp + 0x25c], esi
mov byte [esp + 0x260], cl
movzx ecx, byte [esp + 0xb4]
mov byte [esp + 0x261], dl
movzx edx, byte [esp + 0xf0]
mov byte [esp + 0x262], cl
movzx ecx, byte [esp + 0xd8]
mov byte [esp + 0x263], dl
movzx edx, byte [esp + 0x31c]
mov byte [esp + 0x264], cl
mov ecx, dword [esp + 0x38]
mov byte [esp + 0x265], dl
xor ecx, 0x2e
or ecx, dword [esp + 0x10]
je 0x509af6
mov eax, dword [esp + 0x38]
and al, 0x3f
cmp al, 0xc
je 0x509cd5
and dword [esp + 0x38], 0x3f
jne 0x509af6
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x2c0], eax
mov dword [esp + 0x2c4], ecx
movq xmm0, qword [esp + 0x1c8]
mov edi, dword [esp + 0x1c0]
mov ebx, dword [esp + 0x1c4]
movdqa xmmword [esp + 0x20], xmm0
push 0x100
lea eax, [esp + 0x1dc]
push eax
lea eax, [esp + 0x6a8]
push eax
call sym._memcpy
add esp, 0xc
mov eax, edi
xor eax, 2
or eax, ebx
je 0x5069f9
push 0x100
lea eax, [esp + 0x6a4]
push eax
lea eax, [esp + 0x5a8]
push eax
call sym._memcpy
add esp, 0xc
movdqa xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x58c], ebx
mov dword [esp + 0x588], edi
lea esi, [esp + 0x630]
lea edx, [esp + 0x660]
movq qword [esp + 0x590], xmm0
mov dword [esp + 0x598], eax
mov dword [esp + 0x59c], 0
mov ecx, dword [esp + 0x64c]
mov eax, dword [esp + 0x648]
test ecx, ecx
mov dword [esp + 0x330], eax
mov dword [esp + 0x334], ecx
mov dword [esp + 0x338], esi
mov dword [esp + 0x33c], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x340], 0
mov dword [esp + 0x38], ecx
je 0x50cea9
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x40], 0
mov dword [esp + 0x50], 0
xor ecx, ecx
neg edi
lea esi, [eax + 1]
movzx eax, byte [esi - 1]
cmp ecx, 0x3f
mov byte [esp + 0x20], al
jne 0x509c17
cmp byte [esp + 0x20], 2
jae 0x50cd83
movzx ebx, byte [esp + 0x20]
xor eax, eax
mov edx, 0
and bl, 0x7f
movzx ebx, bl
shld eax, ebx, cl
shl ebx, cl
test cl, 0x20
cmovne eax, ebx
cmovne ebx, edx
or dword [esp + 0x50], eax
or dword [esp + 0x40], ebx
cmp byte [esp + 0x20], 0
jns 0x509d44
add ecx, 7
inc esi
inc edi
jne 0x509bff
jmp 0x50cd9a
mov dword [esp + 0xb0], eax
cmp esi, dword [esp + 0xb0]
jb 0x509023
cmp dword [esp + 0xb0], 1
jbe 0x509023
movzx ecx, word [edi]
mov dword [esp + 0xbc], ecx
add ecx, 0xfffffffa
cmp cx, 0xfffc
jb 0x509023
cmp word [esp + 0xbc], 4
jbe 0x509d7e
mov ecx, dword [esp + 0xb0]
and ecx, 0xfffffffe
cmp ecx, 2
je 0x509023
cmp byte [edi + 3], 0
jne 0x509023
movzx ecx, byte [edi + 2]
add edi, 4
mov byte [esp + 0x20], cl
mov ecx, dword [esp + 0xb0]
add ecx, 0xfffffffc
jmp 0x509d8b
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x2cc]
mov edi, dword [eax + 0x14]
sub edi, ecx
jb 0x509023
movzx ebx, byte [esp + 0x288]
mov eax, dword [esp + 0x8c]
mul ebx
jo 0x509023
mov edx, edi
sub edx, eax
jb 0x509023
dec ebx
cmp ebx, 7
ja 0x509023
mov ebx, dword [ebx*4 + 0x50d7cc]
mov esi, dword [esp + 0xa0]
add ebx, dword [esp + 0xc0]
add ecx, dword [esi + 0x10]
jmp ebx
mov eax, dword [esp + 0x40]
not edi
mov dword [esp + 0x330], esi
mov dword [esp + 0x334], edi
or eax, dword [esp + 0x50]
jne 0x509eb8
lea ecx, [esp + 0x588]
call dbg.drop_in_place<gimli::read::dwarf::Unit<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>, usize>>
mov edi, dword [esp + 0x74]
mov ebx, dword [esp + 0xec]
jmp 0x506a04
mov ecx, dword [esp + 0xb0]
add edi, 2
add ecx, 0xfffffffe
mov dword [esp + 0x78], ecx
cmp eax, 0xfffffff0
jb 0x509db5
cmp dword [esp + 0x78], 8
jb 0x509023
cmp dword [edi + 4], 0
jne 0x509023
mov eax, dword [edi]
add dword [esp + 0x78], 0xfffffff8
add edi, 8
jmp 0x509dca
cmp dword [esp + 0x78], 4
jb 0x509023
mov eax, dword [edi]
add dword [esp + 0x78], 0xfffffffc
add edi, 4
mov dword [esp + 0x7c], edi
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x88]
sub dword [esp + 0x78], eax
jb 0x509023
cmp dword [esp + 0x88], 0
je 0x509023
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x7c]
lea edx, [ecx + 1]
dec eax
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], eax
movzx ecx, byte [ecx]
test cl, cl
mov byte [esp + 0xb8], cl
je 0x509023
cmp word [esp + 0xbc], 4
mov byte [esp + 0xb4], 1
jb 0x50a9c1
test eax, eax
je 0x509023
mov eax, dword [esp + 0x7c]
movzx eax, byte [eax + 1]
test al, al
mov byte [esp + 0xb4], al
je 0x509023
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x7c]
add eax, 0xfffffffe
lea edi, [ecx + 2]
jmp 0x50a9c3
cmp dword [esp + 0x50], 0
jne 0x509ede
mov eax, dword [esp + 0x40]
lea ecx, [eax - 1]
cmp ecx, dword [esp + 0x668]
jae 0x509ede
imul ecx, ecx, 0x68
add ecx, dword [esp + 0x660]
jmp 0x509fa5
mov eax, dword [esp + 0x66c]
mov byte [esp + 0x38], 0x12
test eax, eax
mov dword [esp + 0x10], eax
je 0x50cd98
mov eax, dword [esp + 0x670]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
mov edi, 0xffffffff
xor esi, esi
movzx eax, word [eax + 0x4d6]
mov dword [esp + 0xa0], eax
imul eax, eax, 0x68
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
add eax, esi
je 0x509f76
mov eax, dword [esp + 0x10]
xor ebx, ebx
mov edx, dword [eax + edi*8 + 8]
mov ecx, dword [eax + edi*8 + 0xc]
mov dword [esp + 0xc], edx
mov eax, edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x20], ecx
xor ecx, dword [esp + 0x50]
xor eax, edx
or eax, ecx
mov eax, dword [esp + 0x50]
setne bl
cmp edx, dword [esp + 0xc]
sbb eax, dword [esp + 0x20]
mov eax, 0xff
cmovb ebx, eax
inc edi
add esi, 0xffffff98
cmp bl, 1
je 0x509f21
movzx eax, bl
test eax, eax
jne 0x509f7d
jmp 0x509f9c
mov edi, dword [esp + 0xa0]
sub dword [esp + 0x14], 1
jb 0x50cd98
mov eax, dword [esp + 0x10]
mov eax, dword [eax + edi*4 + 0x4d8]
mov dword [esp + 0x10], eax
jmp 0x509f01
mov ecx, dword [esp + 0x10]
sub ecx, esi
add ecx, 0xfffffff0
cmp byte [ecx + 0x62], 1
jne 0x509fb6
mov dword [esp + 0x340], 1
call sym.__LT_gimli..read..abbrev..Attributes_u20_as_u20_core..ops..deref..Deref_GT_::deref::hf8d6840502f860f2
test edx, edx
je 0x50a86c
mov ecx, dword [esp + 0xf4]
shl edx, 4
mov esi, eax
mov dword [esp + 0x18], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xb0], 0
add edx, eax
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x650]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x69c]
mov dword [esp + 0x38], edx
shr edx, 0x10
mov dword [esp + 0xe4], edx
mov dword [esp + 0x20], ecx
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
mov eax, dword [esp + 0x338]
movsd qword [esp + 0x488], xmm1
movsd qword [esp + 0x480], xmm0
mov eax, dword [eax + 0x20]
movsd qword [esp + 0x3a0], xmm1
movsd qword [esp + 0x398], xmm0
lea ecx, [esp + 0x1c0]
lea edi, [esp + 0x398]
lea edx, [esp + 0x330]
push edi
push eax
call sym.gimli::read::unit::parse_attribute::h0b0c2730e37b975b
add esp, 8
mov eax, dword [esp + 0x1c0]
mov ecx, dword [esp + 0x1c4]
mov edx, eax
xor edx, 0x2e
or edx, ecx
lea edx, [esp + 0x1c8]
movsd xmm0, qword [edx]
movsd xmm1, qword [edx + 8]
movsd qword [esp + 0x500], xmm0
movsd qword [esp + 0x508], xmm1
je 0x50cee0
movq xmm0, qword [esp + 0x500]
movq xmm1, qword [esp + 0x508]
lea edx, [esp + 0x6a8]
add esi, 0x10
movq qword [edx + 8], xmm1
movq qword [edx], xmm0
mov dword [esp + 0x6a4], ecx
mov dword [esp + 0x6a0], eax
movzx eax, word [esp + 0x6b0]
cmp eax, 0x55
jne 0x50a360
lea ecx, [esp + 0x1c0]
lea edx, [esp + 0x6a0]
call dbg.value<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
mov ecx, dword [esp + 0x1c0]
mov eax, dword [esp + 0x1c8]
mov edx, ecx
and dl, 0x3f
cmp dl, 0x18
jne 0x50a3d0
mov edx, dword [esp + 0x50]
mov edi, dword [edx + 0x6c]
mov ecx, dword [edx + 0x68]
sub edi, dword [esp + 0x20]
jb 0x50cec2
mov edx, dword [esp + 0x38]
mov byte [esp + 0x10], 0x35
movzx edx, dh
mov dword [esp + 0xc], edx
mul edx
jo 0x50cf0e
add ecx, dword [esp + 0x20]
sub edi, eax
jb 0x50cec2
mov ebx, dword [esp + 0x38]
add ecx, eax
and ebx, 0xff00
cmp ebx, 0x800
jne 0x50a1ab
cmp edi, 8
jb 0x50cf17
cmp dword [ecx + 4], 0
je 0x50a1b4
jmp 0x50cf6a
cmp edi, 4
jb 0x50cf10
mov eax, dword [ecx]
mov dword [esp + 0x104], eax
jmp 0x50a1d4
cmp edi, 4
jb 0x50cf10
mov eax, dword [ecx]
add esi, 0x10
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x20]
add dword [esp + 0x104], eax
cmp esi, dword [esp + 0x40]
je 0x50a6e3
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
mov eax, dword [esp + 0x338]
movsd qword [esp + 0x488], xmm1
movsd qword [esp + 0x480], xmm0
mov eax, dword [eax + 0x20]
movsd qword [esp + 0x3a0], xmm1
movsd qword [esp + 0x398], xmm0
lea ecx, [esp + 0x1c0]
lea edi, [esp + 0x398]
lea edx, [esp + 0x330]
push edi
push eax
call sym.gimli::read::unit::parse_attribute::h0b0c2730e37b975b
add esp, 8
mov eax, dword [esp + 0x1c0]
mov ecx, dword [esp + 0x1c4]
mov edx, eax
xor edx, 0x2e
or edx, ecx
lea edx, [esp + 0x1c8]
movsd xmm0, qword [edx]
movsd xmm1, qword [edx + 8]
movsd qword [esp + 0x500], xmm0
movsd qword [esp + 0x508], xmm1
je 0x50cee0
movq xmm0, qword [esp + 0x500]
movq xmm1, qword [esp + 0x508]
lea edx, [esp + 0x6a8]
movq qword [edx + 8], xmm1
movq qword [edx], xmm0
mov dword [esp + 0x6a4], ecx
mov dword [esp + 0x6a0], eax
movzx eax, word [esp + 0x6b0]
cmp eax, 0x55
jne 0x50a338
lea ecx, [esp + 0x1c0]
lea edx, [esp + 0x6a0]
call dbg.value<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
mov ecx, dword [esp + 0x1c0]
mov eax, dword [esp + 0x1c8]
mov edx, ecx
and dl, 0x3f
cmp dl, 0x18
jne 0x50a3cd
mov edx, dword [esp + 0x50]
mov edi, dword [edx + 0x6c]
mov ecx, dword [edx + 0x68]
sub edi, dword [esp + 0x20]
jb 0x50cec2
mul dword [esp + 0xc]
jo 0x50cf0e
add ecx, dword [esp + 0x20]
sub edi, eax
jb 0x50cec2
add ecx, eax
cmp ebx, 0x800
jne 0x50a1bf
cmp edi, 8
jb 0x50cf17
cmp dword [ecx + 4], 0
je 0x50a1c8
jmp 0x50cf6a
add esi, 0x10
cmp eax, 0x11
je 0x50a41b
cmp eax, 0x12
je 0x50a4b8
cmp eax, 0x13
jne 0x50a55e
mov dword [esp + 0xc], 1
jmp 0x50a37b
cmp eax, 0x11
je 0x50a423
cmp eax, 0x12
je 0x50a4c0
cmp eax, 0x13
jne 0x50a6ce
lea ecx, [esp + 0x1c0]
lea edx, [esp + 0x6a0]
call dbg.value<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
mov eax, dword [esp + 0x1c0]
mov ecx, dword [esp + 0x18]
mov edx, 1
xor eax, 0x26
or eax, dword [esp + 0x1c4]
movzx eax, word [esp + 0x1b2]
cmove ax, word [esp + 0x1c8]
cmove ecx, edx
mov dword [esp + 0x18], ecx
mov word [esp + 0x1b2], ax
jmp 0x50a6ce
add esi, 0x10
cmp ecx, 0x16
jne 0x50a40e
cmp word [esp + 0xe4], 5
mov ecx, dword [esp + 0x50]
mov edx, 0
mov dword [esp + 0xc], 1
cmovb edx, dword [esp + 0x20]
cmp byte [ecx + 0x74], 0
mov ecx, 0
cmove edx, ecx
add edx, eax
mov dword [esp + 0x104], edx
jmp 0x50a6ce
mov dword [esp + 0xc], 0
jmp 0x50a6ce
mov dword [esp + 0xc], 1
lea ecx, [esp + 0x1c0]
lea edx, [esp + 0x6a0]
call dbg.value<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
mov eax, dword [esp + 0x1c0]
test al, 0x3f
je 0x50a575
cmp eax, 0xc
jne 0x50a6ce
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x694]
mov edi, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
sub edi, ebx
jb 0x50d11e
mov eax, dword [esp + 0x1c8]
movzx edx, byte [esp + 0x38]
mul edx
jo 0x50cfcb
mov edx, edi
add ecx, ebx
sub edx, eax
jb 0x50d11e
movzx ebx, byte [esp + 0x38]
dec ebx
cmp ebx, 7
ja 0x50d10f
mov ebx, dword [ebx*4 + 0x50d80c]
add ecx, eax
add ebx, dword [esp + 0xc0]
jmp ebx
mov dword [esp + 0xc], 1
lea ecx, [esp + 0x1c0]
lea edx, [esp + 0x6a0]
call dbg.value<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
mov eax, dword [esp + 0x1c0]
test al, 0x3f
je 0x50a5a9
cmp eax, 7
je 0x50a5dd
cmp eax, 0xc
jne 0x50a6ce
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x694]
mov edi, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
sub edi, ebx
jb 0x50d11e
mov eax, dword [esp + 0x1c8]
movzx edx, byte [esp + 0x38]
mul edx
jo 0x50cfcb
mov edx, edi
add ecx, ebx
sub edx, eax
jb 0x50d11e
movzx ebx, byte [esp + 0x38]
dec ebx
cmp ebx, 7
ja 0x50d10f
mov ebx, dword [ebx*4 + 0x50d7ec]
add ecx, eax
add ebx, dword [esp + 0xc0]
jmp ebx
cmp esi, dword [esp + 0x40]
mov dword [esp + 0xc], 1
jne 0x50a045
jmp 0x50a6e3
mov eax, dword [esp + 0x1c8]
mov ecx, dword [esp + 0x1cc]
mov dword [esp + 0x14], 0
mov dword [esp + 0xa0], 1
mov dword [esp + 0x100], eax
mov dword [esp + 0xfc], ecx
jmp 0x50a6ce
mov eax, dword [esp + 0x1c8]
mov ecx, dword [esp + 0x1cc]
mov dword [esp + 0x8c], 0
mov dword [esp + 0x3c], 1
mov dword [esp + 0x138], eax
mov dword [esp + 0x134], ecx
jmp 0x50a6ce
mov eax, dword [esp + 0x1c8]
mov ecx, dword [esp + 0x1cc]
mov dword [esp + 0xb0], 0
mov dword [esp + 0xbc], 1
mov dword [esp + 0x584], eax
mov dword [esp + 0x580], ecx
jmp 0x50a6ce
cmp esi, dword [esp + 0x40]
jne 0x50a045
cmp dword [esp + 0xc], 0
je 0x50a8b0
mov esi, dword [esp + 0x50]
xor ebx, ebx
cmp word [esp + 0xe4], 5
lea ecx, [esi + 0x60]
lea eax, [esi + 0x68]
setae bl
cmovae ecx, eax
mov eax, dword [esp + 0x68c]
mov edx, dword [ecx + 4]
mov ecx, dword [esi + ebx*8 + 0x60]
sub edx, dword [esp + 0x104]
jb 0x50d1b2
mov edi, dword [esp + 0x50]
mov ebx, dword [esp + 0x688]
add ecx, dword [esp + 0x104]
mov esi, dword [edi + 0x10]
mov edi, dword [edi + 0x14]
mov dword [esp + 0x1c0], ebx
mov dword [esp + 0x1c4], eax
mov eax, dword [esp + 0x694]
mov dword [esp + 0x1c8], esi
mov dword [esp + 0x1cc], edi
mov dword [esp + 0x1d0], eax
mov eax, dword [esp + 0x38]
mov word [esp + 0x1d4], ax
mov eax, dword [esp + 0xe4]
cmp ax, 5
mov word [esp + 0x1d6], ax
mov dword [esp + 0x1d8], ecx
mov dword [esp + 0x1dc], edx
setae byte [esp + 0x1e0]
xor eax, eax
mov byte [esp + 0x1e3], 0
mov word [esp + 0x1e1], 0
mov bh, al
lea ecx, [esp + 0x6a0]
lea edx, [esp + 0x1c0]
call dbg.next<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
mov eax, dword [esp + 0x6a0]
movdqu xmm0, xmmword [esp + 0x6a8]
mov ecx, eax
movdqa xmmword [esp + 0x20], xmm0
and cl, 3
cmp cl, 1
jne 0x50ac72
movdqa xmm1, xmmword [esp + 0x20]
pshufd xmm0, xmm1, 0x55
pshufd xmm2, xmm1, 0xff
movd ecx, xmm1
pshufd xmm1, xmm1, 0xee
movd esi, xmm1
movd eax, xmm0
movd edx, xmm2
cmp ecx, esi
sbb eax, edx
jae 0x50a7a6
mov edx, dword [esp + 0xd0]
cmp edx, dword [esp + 0xcc]
jne 0x50a82b
lea ecx, [esp + 0xc8]
call dbg.reserve_for_push<addr2line::UnitRange, alloc::alloc::Global>
mov edx, dword [esp + 0xd0]
mov eax, dword [esp + 0xc8]
movdqa xmm0, xmmword [esp + 0x20]
mov esi, dword [esp + 0x1a8]
mov ecx, edx
inc edx
mov bh, 1
shl ecx, 5
movdqu xmmword [eax + ecx], xmm0
mov dword [eax + ecx + 0x14], 0
mov dword [eax + ecx + 0x10], 0
mov dword [eax + ecx + 0x18], esi
mov dword [esp + 0xd0], edx
jmp 0x50a7a6
mov dword [esp + 0x18], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xb0], 0
mov ecx, dword [esp + 0x1bc]
test ecx, ecx
mov eax, ecx
mov dword [esp + 0x40], ecx
je 0x50a922
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x1b4]
mov dword [esp + 0x50], eax
xor eax, eax
mov edi, edx
mov dword [esp + 0x20], edx
jmp 0x50a8e6
mov dword [esp + 0x20], ebx
mov edi, dword [esp + 0x20]
sub edi, eax
jbe 0x50a922
mov esi, dword [esp + 0x6c]
mov edx, dword [esp + 0x50]
shr edi, 1
xor ecx, ecx
lea ebx, [edi + eax]
cmp dword [edx + ebx*8], esi
mov esi, 0xff
setne cl
cmovb ecx, esi
cmp cl, 1
je 0x50a8da
movzx ecx, cl
cmp ecx, 0xff
jne 0x50ae98
inc ebx
mov eax, ebx
mov edi, dword [esp + 0x20]
sub edi, eax
ja 0x50a8e6
mov eax, dword [esp + 0x8c]
or dword [esp + 0x3c], eax
je 0x50aba8
mov eax, dword [esp + 0xa0]
or eax, dword [esp + 0x14]
je 0x50aba8
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0xfc]
cmp eax, dword [esp + 0x138]
sbb ecx, dword [esp + 0x134]
jae 0x50ac6c
mov edx, dword [esp + 0xd0]
cmp edx, dword [esp + 0xcc]
jne 0x50a989
lea ecx, [esp + 0xc8]
call dbg.reserve_for_push<addr2line::UnitRange, alloc::alloc::Global>
mov edx, dword [esp + 0xd0]
mov eax, dword [esp + 0xc8]
mov esi, dword [esp + 0xfc]
mov ecx, edx
shl ecx, 5
mov dword [eax + ecx + 4], esi
mov esi, dword [esp + 0x100]
mov dword [eax + ecx], esi
mov esi, dword [esp + 0x134]
mov dword [eax + ecx + 0xc], esi
mov esi, dword [esp + 0x138]
jmp 0x50ac41
mov edi, edx
test eax, eax
je 0x509023
mov edx, eax
lea ecx, [edi + 1]
dec edx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], edx
je 0x509023
cmp eax, 2
je 0x509023
movzx ecx, byte [ecx]
movzx edx, byte [edi]
mov esi, edi
lea esi, [edi + 3]
mov dword [esp + 0x64], esi
mov byte [esp + 0xf0], cl
lea ecx, [eax - 3]
mov byte [esp + 0x40], dl
mov edx, edi
mov dword [esp + 0x68], ecx
movzx edx, byte [edi + 2]
test dl, dl
mov byte [esp + 0xd8], dl
je 0x509023
cmp byte [esp + 0x40], 0
setne byte [esp + 0x128]
test ecx, ecx
je 0x509023
movzx ecx, byte [edi + 3]
test cl, cl
mov byte [esp + 0x31c], cl
je 0x509023
movzx ecx, byte [esp + 0x31c]
add eax, 0xfffffffc
dec cl
movzx edx, cl
sub eax, edx
mov ecx, edx
mov dword [esp + 0x13c], edx
jb 0x509023
mov ecx, dword [esp + 0xbc]
add edi, 4
mov dword [esp + 0x158], 8
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], 0
mov dword [esp + 0x1a4], edi
movzx edx, cx
cmp cx, 4
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0x13c]
lea esi, [edi + edx]
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], eax
ja 0x50b1ee
test eax, eax
je 0x509023
lea edx, [esi + eax]
mov dword [esp + 0x60], 0
mov dword [esp + 0x9c], 8
xor edi, edi
cmp byte [esi + edi], 0
lea ecx, [esi + edi + 1]
je 0x50aaf3
inc edi
cmp ecx, edx
jne 0x50aadf
jmp 0x50b2e9
mov edx, edi
mov dword [esp + 0x64], ecx
not edx
add edx, eax
test edi, edi
mov dword [esp + 0x68], edx
je 0x50b590
mov eax, dword [esp + 0x60]
cmp eax, dword [esp + 0x15c]
jne 0x50ab3f
mov edx, dword [esp + 0x60]
lea ecx, [esp + 0x158]
call dbg.reserve_for_push<gimli::read::unit::AttributeValue<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>, usize>, alloc::alloc::Global>
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x160]
mov dword [esp + 0x9c], eax
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x84], 2
mov dword [esp + 0xac], 0
mov dword [esp + 0x40], 0
mov eax, ecx
inc ecx
shl eax, 4
mov dword [esp + 0x60], ecx
mov dword [edx + eax + 4], 0
mov dword [edx + eax], 0x1f
mov dword [edx + eax + 8], esi
mov dword [edx + eax + 0xc], edi
mov dword [esp + 0x160], ecx
mov eax, dword [esp + 0x68]
mov esi, dword [esp + 0x64]
lea edx, [esi + eax]
test eax, eax
jne 0x50aadd
jmp 0x50b30f
mov ecx, dword [esp + 0xb0]
xor eax, eax
mov bh, al
or dword [esp + 0xbc], ecx
je 0x50ac8b
mov eax, dword [esp + 0x14]
or dword [esp + 0xa0], eax
je 0x50ac8b
mov esi, dword [esp + 0x584]
mov eax, dword [esp + 0x100]
mov edi, dword [esp + 0x580]
mov ecx, dword [esp + 0xfc]
add esi, eax
adc edi, ecx
cmp eax, esi
mov ecx, ecx
sbb ecx, edi
jae 0x50ac6c
mov edx, dword [esp + 0xd0]
cmp edx, dword [esp + 0xcc]
jne 0x50ac1c
lea ecx, [esp + 0xc8]
call dbg.reserve_for_push<addr2line::UnitRange, alloc::alloc::Global>
mov edx, dword [esp + 0xd0]
mov eax, dword [esp + 0xc8]
mov ebx, dword [esp + 0xfc]
mov ecx, edx
shl ecx, 5
mov dword [eax + ecx + 4], ebx
mov ebx, dword [esp + 0x100]
mov dword [eax + ecx], ebx
mov dword [eax + ecx + 0xc], edi
mov edi, dword [esp + 0x1a8]
inc edx
mov dword [eax + ecx + 8], esi
mov dword [eax + ecx + 0x14], 0
mov dword [eax + ecx + 0x10], 0
mov bh, 1
mov dword [eax + ecx + 0x18], edi
mov dword [esp + 0xd0], edx
jmp 0x50ac8b
xor eax, eax
mov bh, al
jmp 0x50ac8b
cmp eax, 2
jne 0x50ac8b
movdqa xmm0, xmmword [esp + 0x20]
movd eax, xmm0
mov ebx, eax
cmp al, 0x4b
jne 0x50d1bc
and bh, 1
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x20]
mov dword [esp + 0x6a0], 2
test ah, 1
jne 0x50ad12
mov eax, dword [esp + 0x598]
xor eax, 0x2f
or eax, dword [esp + 0x59c]
je 0x50ad12
lea eax, [esp + 0x598]
mov dword [esp + 0x330], eax
lea eax, [esp + 0x588]
mov dword [esp + 0x1c0], eax
lea eax, [esp + 0x330]
mov dword [esp + 0x1c4], eax
lea eax, [esp + 0xf4]
mov dword [esp + 0x1c8], eax
lea ecx, [esp + 0x6a0]
lea edx, [esp + 0x1c0]
call dbg.borrow_with<core::result::Result<addr2line::Lines, gimli::read::Error>, addr2line::{impl#1}::parse::{closure_env#4}<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>>
cmp dword [esp + 0x6a0], 0
je 0x50ae02
push 0x118
lea eax, [esp + 0x58c]
push eax
lea eax, [esp + 0x1c8]
push eax
call sym._memcpy
add esp, 0xc
movsd xmm1, qword [esp + 0x6a8]
lea eax, [esp + 0x1c4]
movq xmm0, qword [esp + 0x6a0]
mov esi, dword [esp + 0x32c]
movzx ecx, word [esp + 0x1b2]
movsd qword [eax + 0x11c], xmm1
movq xmm1, qword [esp + 0x6b0]
movq qword [eax + 0x114], xmm0
cmp esi, dword [esp + 0x328]
movq qword [eax + 0x124], xmm1
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x30c], eax
mov eax, dword [esp + 0x18]
mov word [esp + 0x308], ax
mov word [esp + 0x30a], cx
mov dword [esp + 0x2f0], 2
jne 0x50adc0
lea ecx, [esp + 0x324]
mov edx, esi
call dbg.reserve_for_push<addr2line::ResUnit<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>, alloc::alloc::Global>
mov esi, dword [esp + 0x32c]
imul eax, esi, 0x150
add eax, dword [esp + 0x324]
push 0x150
lea ecx, [esp + 0x1c4]
push ecx
push eax
call sym._memcpy
add esp, 0xc
mov ecx, dword [esp + 0xa8]
mov edi, dword [esp + 0x74]
mov ebx, dword [esp + 0xec]
inc esi
mov dword [esp + 0x32c], esi
jmp 0x5066b0
mov eax, dword [esp + 0x6b0]
test eax, eax
je 0x50ad12
mov esi, dword [esp + 0x6ac]
mov edx, dword [esp + 0xd0]
shl eax, 3
lea edi, [eax + eax*2]
add esi, 8
jmp 0x50ae70
mov eax, dword [esp + 0xc8]
movdqa xmm0, xmmword [esp + 0x20]
mov ebx, dword [esp + 0x1a8]
mov ecx, edx
inc edx
add esi, 0x18
shl ecx, 5
add edi, 0xffffffe8
movdqu xmmword [eax + ecx], xmm0
mov dword [eax + ecx + 0x14], 0
mov dword [eax + ecx + 0x10], 0
mov dword [eax + ecx + 0x18], ebx
mov dword [esp + 0xd0], edx
je 0x50ad12
movdqu xmm0, xmmword [esi]
cmp edx, dword [esp + 0xcc]
movdqa xmmword [esp + 0x20], xmm0
jne 0x50ae2a
lea ecx, [esp + 0xc8]
call dbg.reserve_for_push<addr2line::UnitRange, alloc::alloc::Global>
mov edx, dword [esp + 0xd0]
jmp 0x50ae2a
lea edi, [eax + edi - 1]
mov ecx, edi
cmp ecx, 0xffffffff
je 0x50aecd
cmp edi, dword [esp + 0x40]
jae 0x50d207
mov edx, dword [esp + 0x6c]
mov esi, dword [esp + 0x50]
lea eax, [ecx - 1]
cmp dword [esi + ecx*8], edx
mov ecx, eax
je 0x50ae9e
lea ecx, [eax + 2]
cmp dword [esp + 0x40], ecx
jae 0x50aecf
jmp 0x50d21a
xor ecx, ecx
cmp ecx, dword [esp + 0x40]
jne 0x50aee2
xor eax, eax
mov ah, al
mov dword [esp + 0x20], eax
jmp 0x50ac92
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x50]
lea eax, [edx + eax*8]
mov dword [esp + 0x8c], eax
lea eax, [edx + ecx*8]
mov dword [esp + 0x14], eax
xor eax, eax
mov ah, al
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x14]
cmp dword [ecx], eax
jne 0x50ac92
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xf4]
mov edi, dword [ecx + 0x18]
mov eax, dword [eax + 4]
mov ecx, dword [ecx + 0x1c]
sub ecx, eax
jb 0x50d232
add edi, eax
mov dword [esp + 0x6a0], edi
mov dword [esp + 0x6a4], ecx
lea ecx, [esp + 0x1c0]
lea edx, [esp + 0x6a0]
push eax
call dbg.parse<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>, usize>
add esp, 4
cmp dword [esp + 0x1c0], 0
jne 0x50d23e
mov edi, dword [esp + 0x1cc]
test edi, edi
je 0x50b1d1
mov eax, dword [esp + 0x1c4]
movzx ecx, byte [esp + 0x1dc]
mov esi, dword [esp + 0x1c8]
mov dword [esp + 0xa0], eax
add al, al
movzx edx, cl
mov byte [esp + 0x38], cl
add al, cl
mov dword [esp + 0x3c], edx
movzx eax, al
mov dword [esp + 0x10], eax
cmp edi, dword [esp + 0x10]
jb 0x50b1d1
xor eax, eax
cmp byte [esp + 0x38], 0
je 0x50afe6
mov ecx, dword [esp + 0x3c]
dec ecx
cmp ecx, 7
ja 0x50d26c
mov ecx, dword [ecx*4 + 0x50d82c]
add ecx, dword [esp + 0xc0]
jmp ecx
xor ecx, ecx
jmp 0x50b025
movzx edx, byte [esp + 0xa0]
dec edx
cmp edx, 7
ja 0x50d27a
mov edx, dword [edx*4 + 0x50d84c]
add edx, dword [esp + 0xc0]
jmp edx
mov eax, dword [esp + 0x14]
add eax, 8
cmp eax, dword [esp + 0x8c]
mov dword [esp + 0x14], eax
jne 0x50af03
jmp 0x50ac92
lea ecx, [esp + 0x330]
lea edx, [esp + 0x64]
call dbg.parse<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
cmp byte [esp + 0x330], 0x4b
jne 0x50b309
mov eax, dword [esp + 0x334]
mov dword [esp + 0x40], 0
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x338]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x68]
test eax, eax
je 0x50b30f
mov edx, dword [esp + 0x33c]
mov ecx, eax
mov dword [esp + 0x9c], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0x318], edx
mov edx, dword [esp + 0x64]
lea esi, [edx + ecx]
neg ecx
inc edx
mov dword [esp + 0xd4], esi
mov dword [esp + 0x60], ecx
movzx eax, byte [edx - 1]
cmp dword [esp + 0x40], 0x3f
jne 0x50b28a
cmp al, 2
jae 0x50b35d
mov ecx, eax
xor esi, esi
mov byte [esp + 0x50], al
mov eax, 0
and cl, 0x7f
movzx edi, cl
mov ecx, dword [esp + 0x40]
shld esi, edi, cl
shl edi, cl
test cl, 0x20
cmovne esi, edi
cmovne edi, eax
or dword [esp + 0xc4], esi
or dword [esp + 0x9c], edi
cmp byte [esp + 0x50], 0
jns 0x50b36d
add dword [esp + 0x40], 7
inc edx
inc dword [esp + 0x60]
jne 0x50b277
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], 0
jmp 0x50b2ff
mov dword [esp + 0x84], 2
mov dword [esp + 0xac], 0
mov dword [esp + 0x40], 0
jmp 0x50b30f
mov al, 1
mov dword [esp + 0x40], eax
cmp dword [esp + 0x15c], 0
je 0x50b32d
push dword [esp + 0x158]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0xac], 0
mov ecx, dword [esp + 0x40]
sete al
or cl, al
jne 0x509023
push dword [esp + 0x84]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
jmp 0x509023
mov eax, dword [esp + 0x60]
mov dword [esp + 0x64], edx
not eax
mov dword [esp + 0x68], eax
jmp 0x50b2ff
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x64], edx
or ecx, dword [esp + 0xc4]
not eax
mov dword [esp + 0x68], eax
je 0x50b565
cmp dword [esp + 0x318], 0
je 0x50d0d7
mov eax, dword [esp + 0x98]
movzx ecx, byte [esp + 0xe4]
mov dword [esp + 0xe0], 0
mov dword [esp + 0x1a0], 8
mov dword [esp + 0xf8], 0
mov dword [esp + 0x130], 0
shl eax, 0x10
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x20]
or eax, ecx
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x318]
lea eax, [eax*4]
mov dword [esp + 0x4f0], eax
add dword [esp + 0xf8], 1
mov dword [esp + 0x50], 0x2e
adc dword [esp + 0x130], 0
xor esi, esi
xor edi, edi
mov eax, dword [esp + 0x84]
movzx eax, word [eax + esi + 2]
lea ecx, [esp + 0x330]
lea edx, [esp + 0x64]
push eax
push dword [esp + 0xd8]
call dbg.parse_attribute<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
add esp, 8
mov eax, dword [esp + 0x330]
or eax, dword [esp + 0x334]
jne 0x50b2ff
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x40]
cmp word [eax + esi], 1
cmove ecx, dword [esp + 0x344]
cmove edx, dword [esp + 0x340]
cmove edi, dword [esp + 0x33c]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x40], edx
cmove ecx, dword [esp + 0x338]
add esi, 4
cmp dword [esp + 0x4f0], esi
mov dword [esp + 0x50], ecx
jne 0x50b41f
mov eax, dword [esp + 0x50]
xor eax, 0x2e
or eax, edi
je 0x50d0d7
mov eax, dword [esp + 0xe0]
cmp eax, dword [esp + 0x15c]
jne 0x50b4fc
mov edx, dword [esp + 0xe0]
lea ecx, [esp + 0x158]
call dbg.reserve_for_push<gimli::read::unit::AttributeValue<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>, usize>, alloc::alloc::Global>
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x160]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0xe0], ecx
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0x1a0]
mov esi, dword [esp + 0x50]
mov eax, ecx
inc ecx
shl eax, 4
mov dword [esp + 0xe0], ecx
mov dword [edx + eax], esi
mov esi, dword [esp + 0x60]
mov dword [edx + eax + 4], edi
mov dword [edx + eax + 0xc], esi
mov esi, dword [esp + 0x40]
mov dword [edx + eax + 8], esi
mov esi, dword [esp + 0xf8]
mov edx, dword [esp + 0x130]
mov dword [esp + 0x160], ecx
cmp esi, dword [esp + 0x9c]
sbb edx, dword [esp + 0xc4]
jb 0x50b403
mov dword [esp + 0x50], 0
jmp 0x50b5b1
mov dword [esp + 0x430], 8
mov dword [esp + 0x434], 0
mov dword [esp + 0x438], 0
mov dword [esp + 0x50], 0
jmp 0x50b60c
mov dword [esp + 0x84], 2
mov dword [esp + 0x318], 0
mov dword [esp + 0xac], 0
cmp word [esp + 0xbc], 5
mov dword [esp + 0x430], 8
mov dword [esp + 0x434], 0
mov dword [esp + 0x438], 0
jae 0x50b60c
test ebx, ebx
mov dword [esp + 0x9c], 0
je 0x50bd70
pxor xmm0, xmm0
xor edi, edi
mov dword [esp + 0x40], 0x1f
movdqa xmmword [esp + 0x330], xmm0
jmp 0x50bd82
lea ecx, [esp + 0x330]
lea edx, [esp + 0x64]
call dbg.parse<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
cmp byte [esp + 0x330], 0x4b
jne 0x50b6f8
mov ecx, dword [esp + 0x338]
mov eax, dword [esp + 0x334]
mov dword [esp + 0x40], 0
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x60], eax
test ecx, ecx
je 0x50bfc4
mov edx, dword [esp + 0x33c]
mov eax, ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xc4], edx
mov edx, dword [esp + 0x64]
lea esi, [edx + eax]
neg eax
inc edx
mov dword [esp + 0xe0], esi
mov dword [esp + 0x4f0], eax
movzx eax, byte [edx - 1]
cmp dword [esp + 0x40], 0x3f
jne 0x50b6a1
cmp al, 2
jae 0x50b703
mov ecx, eax
xor ebx, ebx
mov esi, 0
and cl, 0x7f
movzx edi, cl
mov ecx, dword [esp + 0x40]
shld ebx, edi, cl
shl edi, cl
test cl, 0x20
cmovne ebx, edi
cmovne edi, esi
or dword [esp + 0xd4], ebx
or dword [esp + 0x14], edi
test al, al
jns 0x50b719
add dword [esp + 0x40], 7
inc edx
inc dword [esp + 0x4f0]
jne 0x50b692
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], 0
jmp 0x50bfbc
mov al, 1
mov dword [esp + 0x40], eax
jmp 0x50bfc4
mov eax, dword [esp + 0x4f0]
mov dword [esp + 0x64], edx
not eax
mov dword [esp + 0x68], eax
jmp 0x50bfbc
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x4f0]
mov dword [esp + 0x64], edx
or ecx, dword [esp + 0xd4]
not eax
mov dword [esp + 0x68], eax
je 0x50bcb6
cmp dword [esp + 0xc4], 0
je 0x50d0f3
mov ecx, dword [esp + 0x98]
movzx eax, byte [esp + 0xe4]
movzx edx, byte [esp + 0x20]
mov dword [esp + 0x19c], 0
mov dword [esp + 0x41c], 8
mov dword [esp + 0x424], 0
mov dword [esp + 0x420], 0
shl ecx, 0x10
shl eax, 8
or eax, ecx
or edx, eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x4f0], edx
lea eax, [eax*4]
mov dword [esp + 0xe0], eax
add dword [esp + 0x424], 1
mov dword [esp + 0x408], 0
mov dword [esp + 0x400], 0
mov dword [esp + 0x40b], 0
mov dword [esp + 0x403], 0
mov dword [esp + 0xf8], 0x2e
mov dword [esp + 0x130], 0
mov dword [esp + 0x1a0], 0
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0
mov dword [esp + 0x124], 0
mov dword [esp + 0x120], 0
mov dword [esp + 0x42c], 0
mov dword [esp + 0x428], 0
adc dword [esp + 0x420], 0
xor ebx, ebx
jmp 0x50b89f
add ebx, 4
cmp dword [esp + 0xe0], ebx
je 0x50bb3a
mov eax, dword [esp + 0x60]
movzx eax, word [eax + ebx + 2]
lea ecx, [esp + 0x330]
lea edx, [esp + 0x64]
push eax
push dword [esp + 0x4f4]
call dbg.parse_attribute<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>
add esp, 8
mov eax, dword [esp + 0x330]
or eax, dword [esp + 0x334]
jne 0x50bfbc
mov eax, dword [esp + 0x60]
movzx ecx, word [eax + ebx]
dec ecx
cmp ecx, 4
ja 0x50b88f
mov ecx, dword [ecx*4 + 0x50d770]
mov edx, dword [esp + 0x340]
mov eax, dword [esp + 0x344]
mov esi, dword [esp + 0x338]
mov edi, dword [esp + 0x33c]
add ecx, dword [esp + 0xc0]
mov dword [esp + 0x40], edx
shr edx, 8
mov dword [esp + 0x98], eax
jmp ecx
mov eax, dword [esp + 0xf8]
xor eax, 0x2e
or eax, dword [esp + 0x130]
je 0x50d0f3
mov ecx, dword [esp + 0x40b]
mov edx, dword [esp + 0x400]
mov eax, dword [esp + 0x408]
mov dword [esp + 0x573], ecx
mov ecx, dword [esp + 0x403]
mov dword [esp + 0x568], edx
mov dword [esp + 0x570], eax
mov dword [esp + 0x56b], ecx
mov ecx, dword [esp + 0x19c]
cmp ecx, dword [esp + 0x434]
jne 0x50bbc8
mov edx, dword [esp + 0x19c]
lea ecx, [esp + 0x430]
call dbg.reserve_for_push<gimli::read::line::FileEntry<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>, usize>, alloc::alloc::Global>
mov eax, dword [esp + 0x430]
mov ecx, dword [esp + 0x438]
mov dword [esp + 0x41c], eax
mov dword [esp + 0x19c], ecx
mov esi, dword [esp + 0x19c]
mov edi, dword [esp + 0x41c]
mov ecx, dword [esp + 0x130]
imul eax, esi, 0x38
inc esi
mov dword [edi + eax + 4], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x19c], esi
mov dword [edi + eax], ecx
mov ecx, dword [esp + 0x57c]
mov dword [edi + eax + 8], ecx
mov ecx, dword [esp + 0x1a0]
mov dword [edi + eax + 0xc], ecx
mov ecx, dword [esp + 0x110]
mov dword [edi + eax + 0x10], ecx
mov ecx, dword [esp + 0x114]
mov dword [edi + eax + 0x14], ecx
mov ecx, dword [esp + 0x118]
mov dword [edi + eax + 0x18], ecx
mov ecx, dword [esp + 0x11c]
mov dword [edi + eax + 0x1c], ecx
mov ecx, dword [esp + 0x124]
mov dword [edi + eax + 0x20], ecx
mov ecx, dword [esp + 0x120]
mov dword [edi + eax + 0x24], ecx
mov ecx, dword [esp + 0x570]
mov dword [edi + eax + 0x28], ecx
mov ecx, dword [esp + 0x573]
mov dword [edi + eax + 0x2b], ecx
mov ecx, dword [esp + 0x42c]
mov byte [edi + eax + 0x2f], cl
mov ecx, dword [esp + 0x568]
mov edx, dword [esp + 0x56b]
mov dword [edi + eax + 0x30], ecx
mov dword [edi + eax + 0x33], edx
mov ecx, dword [esp + 0x428]
mov edx, dword [esp + 0x424]
mov byte [edi + eax + 0x37], cl
cmp edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x420]
mov dword [esp + 0x438], esi
sbb ecx, dword [esp + 0xd4]
jb 0x50b7af
xor edi, edi
mov dword [esp + 0x40], 0x2e
mov dword [esp + 0x14], 0
movsd xmm0, qword [esp + 0x158]
mov ecx, dword [esp + 0x160]
movsd xmm1, qword [esp + 0x7a8]
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x438]
movsd qword [esp + 0x140], xmm0
movsd xmm0, qword [esp + 0x430]
mov dword [esp + 0x148], ecx
lea ecx, [esp + 0x490]
add dword [esp + 0x7c], eax
mov dword [esp + 0x418], edx
movsd qword [ecx + 8], xmm1
movsd qword [esp + 0x410], xmm0
movq xmm0, qword [esp + 0x7a0]
movq qword [ecx], xmm0
pxor xmm0, xmm0
movdqa xmm1, xmmword [esp + 0x490]
movdqa xmmword [esp + 0x500], xmm0
movdqa xmmword [esp + 0x510], xmm1
mov eax, dword [esp + 0x1d0]
xor eax, 0x2f
or eax, dword [esp + 0x1d4]
jne 0x509850
jmp 0x5098c8
mov dword [esp + 0x40], 0x2e
xor edi, edi
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x68]
movdqa xmm0, xmmword [esp + 0x330]
mov dword [esp + 0x60], 2
test ecx, ecx
movdqa xmmword [esp + 0x7a0], xmm0
mov eax, ecx
mov dword [esp + 0xd4], ecx
je 0x50bfbc
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0xc4], 0
mov dword [esp + 0x98], 8
mov esi, eax
lea edx, [eax + ecx]
xor eax, eax
cmp byte [esi + eax], 0
mov ecx, esi
lea ecx, [esi + eax + 1]
je 0x50bdef
inc eax
cmp ecx, edx
jne 0x50bdd9
jmp 0x50bfb1
mov edx, eax
mov dword [esp + 0x64], ecx
not edx
add edx, dword [esp + 0xd4]
test eax, eax
mov dword [esp + 0x68], edx
je 0x50c012
lea ecx, [esp + 0x330]
lea edx, [esp + 0x64]
push eax
push esi
call sym.gimli::read::line::FileEntry_LT_R_C_Offset_GT_::parse::h54e81f8865dccdcd
add esp, 8
mov eax, dword [esp + 0x330]
mov ecx, dword [esp + 0x334]
mov dword [esp + 0xd4], eax
xor eax, 0x2e
mov dword [esp + 0x9c], ecx
or eax, ecx
je 0x50c035
mov ecx, dword [esp + 0x340]
lea edx, [esp + 0x340]
movsd xmm0, qword [esp + 0x338]
mov eax, dword [esp + 0x344]
movsd xmm1, qword [edx + 0x18]
movq xmm2, qword [edx + 8]
mov dword [esp + 0xe0], ecx
mov ecx, dword [esp + 0xc4]
movaps xmmword [esp + 0x4f0], xmm0
movq xmm0, qword [edx + 0x20]
mov dword [esp + 0xf8], eax
movsd qword [esp + 0x3a8], xmm1
movq xmm1, qword [edx + 0x10]
movq qword [esp + 0x398], xmm2
cmp ecx, dword [esp + 0x434]
movq qword [esp + 0x3b0], xmm0
movq qword [esp + 0x3a0], xmm1
jne 0x50bef1
mov edx, dword [esp + 0xc4]
lea ecx, [esp + 0x430]
call dbg.reserve_for_push<gimli::read::line::FileEntry<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>, usize>, alloc::alloc::Global>
mov eax, dword [esp + 0x430]
mov ecx, dword [esp + 0x438]
mov dword [esp + 0x98], eax
mov dword [esp + 0xc4], ecx
mov edx, dword [esp + 0xc4]
mov esi, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
movaps xmm0, xmmword [esp + 0x4f0]
mov dword [esp + 0x9c], 0
imul eax, edx, 0x38
inc edx
mov dword [ecx + eax + 4], esi
mov esi, dword [esp + 0xd4]
mov dword [esp + 0xc4], edx
mov dword [ecx + eax], esi
mov esi, dword [esp + 0xf8]
movlps qword [ecx + eax + 8], xmm0
mov dword [ecx + eax + 0x14], esi
mov esi, dword [esp + 0xe0]
mov dword [ecx + eax + 0x10], esi
movsd xmm0, qword [esp + 0x398]
movq xmm1, qword [esp + 0x3a0]
movsd qword [ecx + eax + 0x18], xmm0
movq qword [ecx + eax + 0x20], xmm1
movsd xmm0, qword [esp + 0x3a8]
movsd qword [ecx + eax + 0x28], xmm0
movq xmm0, qword [esp + 0x3b0]
movq qword [ecx + eax + 0x30], xmm0
mov dword [esp + 0x438], edx
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
mov esi, eax
lea edx, [eax + ecx]
test ecx, ecx
mov dword [esp + 0xd4], ecx
jne 0x50bdd7
jmp 0x50c040
mov dword [esp + 0x9c], 0
mov dword [esp + 0x40], 0
cmp dword [esp + 0x434], 0
je 0x50bfe2
push dword [esp + 0x430]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x9c], 0
mov ecx, dword [esp + 0x40]
sete al
or cl, al
cmp cl, 1
je 0x50b2ff
push dword [esp + 0x60]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
jmp 0x50b2ff
mov dword [esp + 0x9c], 0
mov dword [esp + 0x60], 2
mov dword [esp + 0xc4], 0
jmp 0x50bcc8
mov dword [esp + 0x9c], 0
mov dword [esp + 0x60], 2
jmp 0x50bfbc
mov ebx, dword [esp + 0xd0]
mov edi, dword [esp + 0xc8]
cmp ebx, 0x15
jae 0x50c09d
cmp ebx, 2
jb 0x50c875
mov edx, ebx
mov ecx, edi
push 1
call dbg.insertion_sort_shift_left<addr2line::UnitRange, alloc::slice::{impl#0}::sort_by_key::{closure_env#0}<addr2line::UnitRange, u64, addr2line::{impl#1}::parse::{closure_env#5}<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>>>
add esp, 4
jmp 0x50c879
mov eax, ebx
xor ecx, ecx
mov esi, 0x13
shr eax, 8
jmp 0x50c969
xor ecx, ecx
mov esi, 0x13
xor edi, edi
mov edx, eax
jmp 0x50cb20
movzx eax, byte [0x5da16c]
mov eax, dword [0x5da100]
test eax, eax
jne 0x50c0bf
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x50ce71
mov dword [0x5da100], eax
mov ecx, ebx
shr ecx, 1
mov dword [esp + 0x18], ecx
shl ecx, 5
push ecx
push 0
push eax
call sub.kernel32.dll_HeapAlloc
test eax, eax
mov dword [esp + 0x40], eax
je 0x50ce71
movzx eax, byte [0x5da16c]
mov eax, dword [0x5da100]
test eax, eax
jne 0x50c101
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x50ce8d
mov dword [0x5da100], eax
push pe_nt_image_headers32
push 0
push eax
call sub.kernel32.dll_HeapAlloc
test eax, eax
je 0x50ce8d
mov esi, eax
lea eax, [edi + 0x40]
lea ecx, [edi - 0x20]
mov dword [esp + 0x90], edi
xor edi, edi
xor edx, edx
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xc0], eax
mov dword [esp + 0xec], ecx
jmp 0x50c161
mov edx, 1
mov edi, dword [esp + 0x6c]
cmp edi, ebx
jae 0x50c848
mov eax, dword [esp + 0x90]
sub ebx, edi
mov dword [esp + 0x50], edi
shl edi, 5
mov dword [esp + 0x80], edx
cmp ebx, 2
mov dword [esp + 0x20], ebx
lea ecx, [eax + edi]
mov dword [esp + 0x74], ecx
jae 0x50c210
mov ebx, dword [esp + 0xa4]
mov eax, dword [esp + 0x50]
mov ecx, ebx
mov edi, ecx
sub edi, eax
jb 0x50ccfa
cmp ecx, ebx
ja 0x50ccfa
jae 0x50c270
cmp dword [esp + 0x20], 0xa
jae 0x50c270
lea edi, [eax + 0xa]
cmp edi, ebx
cmovae edi, ebx
mov dword [esp + 0x6c], edi
sub edi, eax
jb 0x50cd75
mov ebx, dword [esp + 0x20]
mov eax, 1
cmp ebx, 2
cmovb ebx, eax
mov ecx, dword [esp + 0x74]
mov edx, edi
push ebx
call dbg.insertion_sort_shift_left<addr2line::UnitRange, alloc::slice::{impl#0}::sort_by_key::{closure_env#0}<addr2line::UnitRange, u64, addr2line::{impl#1}::parse::{closure_env#5}<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>>>
add esp, 4
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0xa4]
cmp edx, dword [esp + 0x10]
je 0x50c27e
jmp 0x50c2fe
mov eax, dword [ecx + 0x24]
mov ebx, dword [ecx + 4]
mov dword [esp + 0x70], eax
mov eax, dword [ecx + 0x20]
mov dword [esp + 0x94], ebx
mov dword [esp + 0xa8], eax
mov eax, dword [ecx]
mov ecx, dword [esp + 0x70]
cmp dword [esp + 0xa8], eax
mov dword [esp + 0xc], eax
sbb ecx, dword [esp + 0x94]
jae 0x50c650
cmp dword [esp + 0x20], 2
mov ebx, dword [esp + 0xa4]
jne 0x50c672
mov eax, dword [esp + 0x50]
mov dword [esp + 0x20], 2
lea ecx, [eax + 2]
jmp 0x50c72a
mov dword [esp + 0x6c], ecx
cmp edx, dword [esp + 0x10]
jne 0x50c2fe
lea eax, [edx + edx]
mov dword [esp + 0x10], eax
movzx eax, byte [0x5da16c]
mov eax, dword [0x5da100]
test eax, eax
jne 0x50c2ab
mov ebx, edx
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x50cd55
mov edx, ebx
mov dword [0x5da100], eax
mov ecx, edx
shl ecx, 4
push ecx
push 0
push eax
call sub.kernel32.dll_HeapAlloc
test eax, eax
je 0x50cd55
mov ebx, eax
mov eax, dword [esp + 0x80]
lea eax, [eax*8]
push eax
push esi
push ebx
call sym._memcpy
add esp, 0xc
push esi
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
mov esi, ebx
mov ebx, dword [esp + 0xa4]
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x50]
mov dword [esi + edx*8], edi
mov dword [esi + edx*8 + 4], eax
inc edx
cmp edx, 2
jb 0x50c155
mov dword [esp + 0x1c], esi
jmp 0x50c38a
mov eax, dword [esp + 0x40]
sub esi, eax
push esi
push eax
push ebx
call sym._memcpy
add esp, 0xc
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0x10c]
add ecx, dword [esp + 0x70]
mov dword [esi + eax*8 + 8], ecx
mov ecx, dword [esp + 0xe8]
mov dword [esi + eax*8 + 0xc], ecx
mov ecx, dword [esp + 0x74]
not eax
add ecx, eax
lea eax, [edx + 8]
shl ecx, 3
push ecx
push eax
push edx
call sub.msvcrt.dll_memmove
add esp, 0xc
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0xa4]
cmp edx, 1
jbe 0x50c150
mov eax, dword [esi + edx*8 - 8]
mov ecx, dword [esi + edx*8 - 4]
mov edi, edx
add ecx, eax
cmp ecx, ebx
je 0x50c3f0
mov edx, dword [esi + edi*8 - 0x10]
cmp edx, eax
jbe 0x50c3f0
cmp edi, 3
jb 0x50c829
lea ecx, [edi - 3]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esi + edi*8 - 0x18]
lea esi, [edx + eax]
cmp ecx, esi
jbe 0x50c62d
cmp edi, 4
jb 0x50c833
mov esi, dword [esp + 0x1c]
add edx, ecx
cmp dword [esi + edi*8 - 0x20], edx
mov edx, dword [esp + 0xa8]
jbe 0x50c3fc
jmp 0x50c841
cmp edi, 3
jb 0x50c400
mov ecx, dword [esi + edi*8 - 0x18]
lea edx, [edi - 3]
cmp ecx, eax
jb 0x50c403
lea edx, [edi - 2]
cmp edi, edx
jbe 0x50cc1a
lea eax, [edx + 1]
mov dword [esp + 0x74], edi
cmp edi, eax
jbe 0x50cc2c
mov eax, dword [esi + edx*8 + 8]
mov edi, dword [esi + edx*8 + 0xc]
mov ecx, dword [esi + edx*8 + 4]
add edi, eax
mov dword [esp + 0x20], edi
sub edi, ecx
mov dword [esp + 0x94], edi
jb 0x50cc69
cmp dword [esp + 0x20], ebx
mov dword [esp + 0xc], eax
ja 0x50cc7f
mov eax, dword [esp + 0x74]
mov ebx, dword [esi + edx*8]
mov edi, dword [esp + 0x94]
mov dword [esp + 0xe8], ecx
shl ecx, 5
shl dword [esp + 0x20], 5
mov dword [esp + 0xa8], edx
add ecx, dword [esp + 0x90]
dec eax
sub edi, ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x80], eax
mov eax, esi
mov esi, ebx
mov dword [esp + 0x38], edi
mov dword [esp + 0x50], ecx
shl esi, 5
cmp edi, ebx
lea eax, [eax + edx*8]
lea ebx, [ecx + esi]
mov dword [esp + 0x10c], eax
jae 0x50c570
mov edi, dword [esp + 0x38]
mov esi, edi
shl esi, 5
push esi
push ebx
push dword [esp + 0x48]
call sym._memcpy
add esp, 0xc
mov eax, dword [esp + 0x70]
add esi, dword [esp + 0x40]
test eax, eax
jle 0x50c320
test edi, edi
jle 0x50c320
mov eax, dword [esp + 0x20]
add eax, dword [esp + 0xec]
mov dword [esp + 0x20], eax
nop word cs:[eax + eax]
nop
mov ecx, dword [esi - 0x20]
mov edx, dword [esi - 0x1c]
mov eax, esi
mov esi, 0
cmp ecx, dword [ebx - 0x20]
sbb edx, dword [ebx - 0x1c]
setb dl
setb cl
adc esi, 0xffffffff
movzx edx, dl
shl esi, 5
add esi, eax
shl edx, 5
sub ebx, edx
test cl, cl
mov eax, esi
mov ecx, dword [esp + 0x20]
cmovne eax, ebx
cmp ebx, dword [esp + 0x50]
movsd xmm1, qword [eax + 8]
movq xmm0, qword [eax]
movsd qword [ecx + 8], xmm1
movsd xmm1, qword [eax + 0x10]
movsd qword [ecx + 0x10], xmm1
movq xmm1, qword [eax + 0x18]
movq qword [ecx], xmm0
movq qword [ecx + 0x18], xmm1
jbe 0x50c320
add dword [esp + 0x20], 0xffffffe0
cmp esi, dword [esp + 0x40]
ja 0x50c4f0
jmp 0x50c320
push esi
push ecx
mov edi, dword [esp + 0x48]
push edi
call sym._memcpy
add esp, 0xc
mov eax, dword [esp + 0x70]
add esi, edi
test eax, eax
jle 0x50c620
cmp dword [esp + 0x94], eax
jle 0x50c620
mov eax, dword [esp + 0x20]
add eax, dword [esp + 0x90]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x40]
nop dword [eax]
mov ecx, eax
mov eax, dword [ebx]
mov edi, dword [esp + 0x50]
mov edx, ecx
cmp eax, dword [ecx]
mov eax, dword [ebx + 4]
sbb eax, dword [ecx + 4]
cmovb edx, ebx
setae al
movsd xmm1, qword [edx + 8]
movq xmm0, qword [edx]
movzx eax, al
movsd qword [edi + 8], xmm1
movsd xmm1, qword [edx + 0x10]
movsd qword [edi + 0x10], xmm1
movq xmm1, qword [edx + 0x18]
setb dl
shl eax, 5
movq qword [edi], xmm0
add eax, ecx
movq qword [edi + 0x18], xmm1
add edi, 0x20
cmp eax, esi
mov dword [esp + 0x50], edi
jae 0x50c624
movzx ecx, dl
shl ecx, 5
add ebx, ecx
cmp ebx, dword [esp + 0x20]
jb 0x50c5b0
jmp 0x50c624
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x50]
jmp 0x50c324
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0xa8]
cmp ecx, eax
jae 0x50c400
jmp 0x50c403
cmp dword [esp + 0x20], 2
mov ebx, dword [esp + 0xa4]
jne 0x50c6ad
mov eax, dword [esp + 0x50]
mov dword [esp + 0x20], 2
lea ecx, [eax + 2]
jmp 0x50c199
mov dword [esp + 0x1c], esi
add edi, dword [esp + 0xc0]
mov esi, dword [esp + 0xa8]
mov edx, dword [esp + 0x70]
mov eax, 2
nop dword [eax]
mov ebx, edx
mov ecx, esi
mov esi, dword [edi]
mov edx, dword [edi + 4]
cmp esi, ecx
mov ecx, edx
sbb ecx, ebx
jae 0x50c6ef
inc eax
add edi, 0x20
cmp dword [esp + 0x20], eax
jne 0x50c690
jmp 0x50c6eb
mov dword [esp + 0x1c], esi
add edi, dword [esp + 0xc0]
mov esi, dword [esp + 0xa8]
mov edx, dword [esp + 0x70]
mov eax, 2
nop dword [eax + eax]
mov ecx, edx
mov ebx, esi
mov esi, dword [edi]
mov edx, dword [edi + 4]
cmp esi, ebx
mov ebx, edx
sbb ebx, ecx
jb 0x50c6ef
inc eax
add edi, 0x20
cmp dword [esp + 0x20], eax
jne 0x50c6d0
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x20], eax
mov ebx, dword [esp + 0xa4]
cmp dword [esp + 0xa8], esi
mov esi, dword [esp + 0x94]
lea ecx, [eax + edx]
mov eax, edx
mov edx, dword [esp + 0x80]
sbb dword [esp + 0x70], esi
mov esi, dword [esp + 0x1c]
jae 0x50c199
cmp ecx, eax
jb 0x50ce16
mov edi, ebx
cmp ecx, ebx
mov ebx, dword [esp + 0x20]
ja 0x50cdfe
cmp ebx, 2
jae 0x50c74c
mov ebx, edi
jmp 0x50c199
mov edx, eax
mov dword [esp + 0x6c], ecx
mov ecx, esi
mov esi, dword [esp + 0x74]
mov eax, ebx
add edx, ebx
shr eax, 1
shl edx, 5
add edx, dword [esp + 0xec]
nop dword [eax + eax]
movsd xmm0, qword [esi + 0x18]
movsd qword [esp + 0x1d8], xmm0
movsd xmm0, qword [esi + 0x10]
movsd qword [esp + 0x1d0], xmm0
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
movsd qword [esp + 0x1c8], xmm1
movsd qword [esp + 0x1c0], xmm0
movsd xmm0, qword [edx + 0x18]
movsd qword [esi + 0x18], xmm0
movsd xmm0, qword [edx + 0x10]
movsd qword [esi + 0x10], xmm0
movsd xmm0, qword [edx]
movsd xmm1, qword [edx + 8]
movsd qword [esi + 8], xmm1
movsd qword [esi], xmm0
add esi, 0x20
movsd xmm0, qword [esp + 0x1d8]
movsd qword [edx + 0x18], xmm0
movsd xmm0, qword [esp + 0x1d0]
movsd qword [edx + 0x10], xmm0
movq xmm0, qword [esp + 0x1c0]
movq xmm1, qword [esp + 0x1c8]
movq qword [edx + 8], xmm1
movq qword [edx], xmm0
add edx, 0xffffffe0
dec eax
jne 0x50c770
mov esi, ecx
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x50]
mov ebx, edi
jmp 0x50c199
mov edx, 2
jmp 0x50c155
mov esi, dword [esp + 0x1c]
mov edx, 3
jmp 0x50c155
mov edx, edi
jmp 0x50c155
push esi
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
push dword [esp + 0x40]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
mov edi, dword [esp + 0xc8]
mov ebx, dword [esp + 0xd0]
test ebx, ebx
je 0x50c8c1
shl ebx, 5
xor ecx, ecx
xor eax, eax
add ebx, edi
nop word cs:[eax + eax]
nop dword [eax]
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [esp + 0x20], esi
mov esi, edi
cmp ecx, edx
mov edi, edx
cmova edi, ecx
cmp eax, dword [esp + 0x20]
cmovbe eax, dword [esp + 0x20]
cmova edx, ecx
cmove edx, edi
lea edi, [esi + 0x20]
cmp edi, ebx
mov ecx, edx
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], eax
jne 0x50c890
mov eax, dword [esp + 0x32c]
movq xmm0, qword [esp + 0x324]
movsd xmm1, qword [esp + 0xc8]
mov ecx, dword [esp + 0xdc]
cmp dword [esp + 0x1b8], 0
mov dword [esp + 0x1d4], eax
mov eax, dword [esp + 0xd0]
movq qword [esp + 0x1cc], xmm0
movsd qword [esp + 0x1c0], xmm1
movsd qword [ecx], xmm1
movq xmm2, qword [esp + 0x1d0]
mov dword [esp + 0x1c8], eax
mov eax, dword [esp + 0xf4]
movq xmm1, qword [esp + 0x1c8]
movq qword [ecx + 0x10], xmm2
movq qword [ecx + 8], xmm1
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], 0
je 0x50cb9e
push dword [esp + 0x1b4]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
jmp 0x50cb9e
xor ecx, ecx
mov esi, 0x10
xor eax, eax
xor edi, edi
jmp 0x50c9ea
mov dword [esp + 0x58f], eax
xor edi, edi
mov esi, 0x13
movzx eax, byte [esp + 0x592]
mov ecx, dword [esp + 0x588]
mov edx, dword [esp + 0x58c]
mov byte [esp + 0x1ca], al
movzx eax, word [esp + 0x590]
mov word [esp + 0x1c8], ax
mov dword [esp + 0x1c4], edx
mov dword [esp + 0x1c0], ecx
mov dword [esp + 0x1cb], 0
shld edx, ecx, 8
mov ebx, dword [esp + 0x1c7]
mov eax, ebx
shr eax, 8
jmp 0x50c9ea
mov esi, 0x35
xor ecx, ecx
jmp 0x50cb12
xor ecx, ecx
mov esi, 0x35
xor eax, eax
xor edi, edi
shld edi, eax, 8
movzx ebx, bl
shl eax, 8
or eax, ebx
jmp 0x50cb20
movzx eax, bx
xor ecx, ecx
mov esi, 0x11
jmp 0x50ca22
xor ecx, ecx
mov esi, 0x13
mov eax, edx
jmp 0x50ca22
xor ecx, ecx
mov eax, esi
jmp 0x50ca1d
add eax, 3
xor ecx, ecx
mov esi, 0x13
xor edi, edi
jmp 0x50cb20
mov dword [esp + 0x58f], edx
jmp 0x50cac4
mov dword [esp + 0x1c7], edx
jmp 0x50caa5
mov esi, 0x3f
xor ecx, ecx
jmp 0x50ca24
mov dword [esp + 0x1c7], eax
mov dword [esp + 0x1cb], 0
mov esi, 0x13
xor ecx, ecx
jmp 0x50cb12
mov dword [esp + 0x58f], eax
movzx eax, word [esp + 0x590]
mov edx, dword [esp + 0x58c]
mov ecx, dword [esp + 0x588]
mov esi, 0x13
mov word [esp + 0x1c8], ax
mov ah, byte [esp + 0x592]
mov byte [esp + 0x1ca], ah
mov dword [esp + 0x1c4], edx
shld edx, ecx, 8
mov dword [esp + 0x1c0], ecx
mov dword [esp + 0x1cb], 0
mov eax, dword [esp + 0x1c7]
mov edi, dword [esp + 0x1cb]
mov ebx, dword [esp + 0xdc]
shl ecx, 8
or ecx, esi
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edi
mov dword [ebx], 0
lea ecx, [esp + 0x324]
call dbg.drop_in_place<alloc::vec::Vec<addr2line::ResUnit<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>, alloc::alloc::Global>>
cmp dword [esp + 0xcc], 0
je 0x50cb68
push dword [esp + 0xc8]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x1b8], 0
je 0x50cb86
push dword [esp + 0x1b4]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0xf4]
lock dec dword [eax]
jne 0x50cb9e
lea ecx, [esp + 0xf4]
call dbg.drop_slow<gimli::read::dwarf::Dwarf<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>>>
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + str.Index_out_of_bounds], 0x5b9a10
mov edx, 0x5b9c38
jmp 0x50cbc8
mov edx, 0x5b9c48
mov dword [esp + str.Index_out_of_bounds], 0x5b9a10
mov ecx, dword [esp + 0x18]
mov dword [ecx + 4], 1
mov dword [ecx + 0x10], 0
mov dword [ecx + 8], str.Lazy_instance_has_previously_been_poisoned
mov dword [ecx + 0xc], 0
call dbg.panic_fmt
jmp 0x50d230
push 0x5b9c58
call dbg.slice_index_order_fail
add esp, 4
jmp 0x50d230
mov ecx, edx
mov edx, eax
push 0x5b9c58
call dbg.slice_end_index_len_fail
add esp, 4
jmp 0x50d230
mov dword [esp + str.Index_out_of_bounds], 0x5b9a10
mov edx, 0x5b9c38
jmp 0x50cc3c
mov edx, 0x5b9c48
mov dword [esp + str.Index_out_of_bounds], 0x5b9a10
lea ecx, [esp + 0x1c0]
mov dword [ecx + 4], 1
mov dword [ecx + 0x10], 0
mov dword [ecx + 8], str.Lazy_instance_has_previously_been_poisoned
mov dword [ecx + 0xc], 0
call dbg.panic_fmt
jmp 0x50d230
mov edx, dword [esp + 0x20]
push 0x5b9c58
call dbg.slice_index_order_fail
add esp, 4
jmp 0x50d230
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp + 0x20]
push 0x5b9c58
call dbg.slice_end_index_len_fail
add esp, 4
jmp 0x50d230
mov edx, 5
push 0x565530
call dbg.panic_bounds_check
add esp, 4
jmp 0x50d230
mov edx, 0x2c
mov ecx, str.assertion_failed:_end___start__end___len_
push 0x5b9cd4
mov esi, dword [esp + 0x20]
call dbg.panic
add esp, 4
jmp 0x50d230
mov edx, 0x2b
mov ecx, str.called__Option::unwrap____on_a__None__valueC:UsersTEST.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinapi_util_0.1.5_srcwin.rs
push 0x5b9c88
mov esi, dword [esp + 0x20]
call dbg.panic
add esp, 4
jmp 0x50d230
mov eax, 0x5b9ce4
jmp 0x50cd3b
mov dword [esp + 0x1c], esi
mov edx, 0x2c
mov ecx, str.assertion_failed:_end___start__end___len_
push 0x5b9cd4
call dbg.panic
add esp, 4
jmp 0x50d230
mov edx, edi
push 0x5b9c28
mov esi, dword [esp + 0x20]
call dbg.slice_end_index_len_fail
add esp, 4
jmp 0x50d230
mov eax, 0x5b9c28
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x20]
push eax
mov esi, dword [esp + 0x20]
call dbg.slice_index_order_fail
add esp, 4
jmp 0x50d230
mov dword [esp + 0x1c], esi
mov edx, 0x2b
mov ecx, str.called__Option::unwrap____on_a__None__valueC:UsersTEST.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinapi_util_0.1.5_srcwin.rs
push 0x5b9c88
call dbg.panic
add esp, 4
jmp 0x50d230
mov dword [esp + 0x1c], esi
mov eax, 0x5b9ce4
jmp 0x50ce23
not edi
mov dword [esp + 0x330], esi
mov byte [esp + 0x38], 6
mov dword [esp + 0x334], edi
jmp 0x50cdbf
mov eax, dword [esp + 0xc]
add eax, dword [esp + 0x38]
mov dword [esp + 0x330], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x334], 0
xor eax, eax
mov byte [esp + 0x38], 0x13
mov ecx, dword [esp + 0xdc]
movzx edx, byte [esp + 0x38]
movzx ebx, byte [esp + 0x20]
mov esi, dword [esp + 0xc]
mov byte [ecx + 8], dl
mov byte [ecx + 9], bl
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], esi
mov dword [ecx + 0x14], eax
mov dword [ecx], 0
lea ecx, [esp + 0x588]
call dbg.drop_in_place<gimli::read::dwarf::Unit<gimli::read::endian_slice::EndianSlice<gimli::endianity::LittleEndian>, usize>>
jmp 0x50cb3e
mov dword [esp + 0x1c], esi
mov edx, edi
push 0x5b9c28
call dbg.slice_end_index_len_fail
add esp, 4
jmp 0x50d230
mov eax, 0x5b9c28
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x1c], esi
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x50]
push eax
call dbg.slice_index_order_fail
add esp, 4
jmp 0x50d230
mov edx, 0x2b
mov ecx, str.called__Option::unwrap____on_a__None__valueC:UsersTEST.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinapi_util_0.1.5_srcwin.rs
push 0x5b9c68
call dbg.panic
add esp, 4
jmp 0x50d230
mov edx, 0x2b
mov ecx, str.called__Option::unwrap____on_a__None__valueC:UsersTEST.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinapi_util_0.1.5_srcwin.rs
push 0x5b9c78
call dbg.panic
add esp, 4
jmp 0x50d230
mov edx, 0x2b
mov ecx, str.called__Option::unwrap____on_a__None__valueC:UsersTEST.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinapi_util_0.1.5_srcwin.rs
push 0x5b9c68
call dbg.panic
add esp, 4
jmp 0x50d230
mov edx, 0x2b
mov ecx, str.called__Option::unwrap____on_a__None__valueC:UsersTEST.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinapi_util_0.1.5_srcwin.rs
push 0x5b9c78
call dbg.panic
add esp, 4
jmp 0x50d230
jmp 0x50cdb8
mov ecx, 8
mov edx, 0x50
call dbg.handle_alloc_error
jmp 0x50d230
mov byte [esp + 0x10], 0x13
jmp 0x50cf8e
mov ecx, 8
mov edx, 0x4d8
call dbg.handle_alloc_error
jmp 0x50d230
movq xmm0, qword [esp + 0x500]
mov eax, dword [esp + 0xdc]
movq xmm1, qword [esp + 0x508]
movq qword [eax + 0x10], xmm1
movq qword [eax + 8], xmm0
mov dword [eax], 0
jmp 0x50cded
jmp 0x50cf8e
mov byte [esp + 0x10], 0x13
jmp 0x50cf6f
mov dword [esp + 0x39f], ecx
mov byte [esp + 0x10], 0x13
movzx edx, word [esp + 0x3a0]
mov ecx, dword [esp + 0x398]
mov eax, dword [esp + 0x39c]
mov word [esp + 0x488], dx
mov dh, byte [esp + 0x3a2]
mov byte [esp + 0x48a], dh
mov dword [esp + 0x484], eax
mov dword [esp + 0x480], ecx
shld eax, ecx, 8
mov ecx, dword [esp + 0x487]
jmp 0x50cf6f
mov byte [esp + 0x10], 0x35
movzx edx, byte [esp + 0x482]
movzx esi, word [esp + 0x480]
mov byte [esp + 0x502], dl
mov word [esp + 0x500], si
movzx edx, byte [esp + 0x502]
mov esi, dword [esp + 0xdc]
mov byte [esi + 0xb], dl
movzx edx, word [esp + 0x500]
mov word [esi + 9], dx
mov dh, byte [esp + 0x10]
mov byte [esi + 8], dh
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], 0
mov dword [esi], 0
jmp 0x50cded
mov al, 0x35
jmp 0x50d175
mov ecx, 8
mov edx, 0x4d8
call dbg.handle_alloc_error
jmp 0x50d230
mov edx, 0xb
push 0x5ba0a0
call dbg.slice_end_index_len_fail
add esp, 4
jmp 0x50d230
mov edx, 0x28
mov ecx, str.assertion_failed:_src.len____dst.len__0
push 0x5ba090
call dbg.panic
add esp, 4
jmp 0x50d230
mov ecx, 8
mov edx, 0x508
call dbg.handle_alloc_error
jmp 0x50d230
mov edx, 0xb
mov ecx, eax
push 0x5ba0a0
call dbg.slice_end_index_len_fail
add esp, 4
jmp 0x50d230
mov edx, 0x28
mov ecx, str.assertion_failed:_src.len____dst.len__0
push 0x5ba090
call dbg.panic
add esp, 4
jmp 0x50d230
mov edx, 0xc
push 0x5ba0b0
call dbg.slice_end_index_len_fail
add esp, 4
jmp 0x50d230
mov edx, 0x28
mov ecx, str.assertion_failed:_src.len____dst.len__0
push 0x5ba090
call dbg.panic
add esp, 4
jmp 0x50d230
mov ecx, 8
mov edx, 0x508
call dbg.handle_alloc_error
jmp 0x50d230
mov eax, 0x5b9fbc
mov edx, 0x30
mov ecx, 0x5b9f8b
jmp 0x50d0c9
mov eax, 0x5b9fcc
mov edx, 0x20
mov ecx, str.assertion_failed:_idx___CAPACITY_rustc_eb26296b556cef10fb713a38f3d16b9886080f26library_alloc_srccollections_btree_node.rsassertion_failed:_edge.height__self.height___1
push eax
call dbg.panic
add esp, 4
jmp 0x50d230
mov edx, 0x2b
mov ecx, str.called__Option::unwrap____on_a__None__valueC:UsersTEST.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinapi_util_0.1.5_srcwin.rs
push 0x5ba3d8
call dbg.panic
add esp, 4
jmp 0x50d230
mov edx, 0x2b
mov ecx, str.called__Option::unwrap____on_a__None__valueC:UsersTEST.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinapi_util_0.1.5_srcwin.rs
push 0x5ba3c8
call dbg.panic
add esp, 4
jmp 0x50d230
mov eax, dword [esp + 0x38]
mov byte [esp + 0x398], al
mov al, 0x17
jmp 0x50d175
mov dword [esp + 0x39f], ecx
jmp 0x50d168
mov dword [esp + 0x3a3], 0
mov al, 0x13
mov ecx, dword [esp + 0x398]
mov edx, dword [esp + 0x39b]
mov esi, dword [esp + 0xdc]
mov edi, dword [esp + 0x3a3]
mov dword [esi + 0xc], edx
mov dword [esi + 9], ecx
mov ecx, dword [esp + 0x39f]
mov byte [esi + 8], al
mov dword [esi + 0x14], edi
mov dword [esi + 0x10], ecx
mov dword [esi], 0
jmp 0x50cded
xor edx, edx
mov bl, 0x13
xor esi, esi
mov bh, dl
jmp 0x50d1e2
movdqa xmm1, xmmword [esp + 0x20]
mov edx, ebx
shr edx, 0x10
pshufd xmm0, xmm1, 0x55
pshufd xmm2, xmm1, 0xff
pshufd xmm1, xmm1, 0xee
movd eax, xmm0
movd esi, xmm2
movd ecx, xmm1
mov edi, dword [esp + 0xdc]
mov byte [edi + 8], bl
mov byte [edi + 9], bh
mov word [edi + 0xa], dx
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], ecx
mov dword [edi + 0x14], esi
mov dword [edi], 0
jmp 0x50cded
mov edx, dword [esp + 0x40]
push 0x5ba550
call dbg.panic_bounds_check
add esp, 4
jmp 0x50d230
add eax, 2
mov edx, dword [esp + 0x40]
mov ecx, eax
push 0x5ba560
call dbg.slice_start_index_len_fail
add esp, 4
ud2
xor ebx, ebx
mov byte [esp + 0x1c8], 0x13
jmp 0x50d24c
mov edi, dword [esp + 0x1d0]
mov ebx, dword [esp + 0x1d4]
mov eax, dword [esp + 0x1c8]
mov edx, dword [esp + 0xdc]
mov ecx, dword [esp + 0x1cc]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
jmp 0x50d3c2
movzx eax, byte [esp + 0x38]
mov byte [esp + 0x1c0], al
jmp 0x50d288
mov eax, dword [esp + 0xa0]
mov byte [esp + 0x1c0], al
movzx eax, byte [esp + 0x1c6]
movzx ecx, word [esp + 0x1c4]
mov esi, dword [esp + 0x1c0]
mov byte [esp + 0x20], 0x17
shl eax, 0x10
or ecx, eax
jmp 0x50d344
mov edi, dword [esp + 0x1c7]
mov ebx, dword [esp + 0x1cb]
jmp 0x50d3a7
movzx eax, byte [esp + 0x20]
mov edx, dword [esp + 0xdc]
shld ecx, esi, 8
shl esi, 8
or eax, esi
mov dword [edx + 0xc], ecx
mov dword [edx + 8], eax
mov eax, dword [esp + 0xdc]
mov dword [eax + 0x10], edi
mov dword [eax + 0x14], ebx
mov dword [eax], 0
jmp 0x50cded