Function at 0x50c5e0
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, 0x3a0
call 0x50c5f4
pop eax
mov dword [esp + 0x98], ecx
mov ecx, dword [edx + 0x6c]
mov esi, dword [edx]
mov dword [esp + 0xac], edx
mov edx, dword [edx + 4]
mov dword [esp + 0x16c], eax
mov eax, dword [ebp + 8]
test ecx, ecx
mov dword [esp + 0x10], esi
mov eax, dword [eax + 0x28]
mov dword [esp + 0xc], eax
je 0x50c9db
mov eax, dword [esp + 0xac]
mov dword [esp + 0x3c], edx
mov eax, dword [eax + 0x70]
mov dword [esp + 0x24], eax
movzx eax, word [ecx + 0x10e]
mov edi, 0xffffffff
mov dword [esp + 0x70], ecx
lea esi, [eax*8]
mov dword [esp + 0x34], eax
nop word cs:[eax + eax]
nop
test esi, esi
je 0x50c6c0
mov eax, dword [esp + 0x70]
xor edx, edx
mov ebx, dword [eax + edi*8 + 0xb8]
mov ecx, dword [eax + edi*8 + 0xbc]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x80], ebx
xor ebx, eax
or ebx, ecx
mov ebx, ecx
mov ecx, 0
setne dl
cmp eax, dword [esp + 0x80]
mov eax, 0xff
sbb ecx, ebx
cmovb edx, eax
inc edi
add esi, 0xfffffff8
cmp dl, 1
je 0x50c660
movzx eax, dl
test eax, eax
je 0x50c6e9
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x3c]
jmp 0x50c6cc
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x24]
sub eax, 1
jb 0x50c9db
mov ecx, dword [ecx + edi*4 + 0x110]
mov dword [esp + 0x24], eax
jmp 0x50c63a
mov ecx, dword [esp + 0x70]
shl edi, 4
cmp byte [ecx + edi], 0x4b
lea eax, [ecx + edi]
jne 0x50c9fd
mov edi, dword [eax + 4]
lock inc dword [edi]
jle 0x50f324
mov ebx, 0x4b
cmp bl, 0x4b
jne 0x50ca15
mov edx, dword [ebp + 8]
mov ebx, edi
mov edi, dword [esp + 0xac]
mov eax, dword [edx + 0x2c]
movq xmm0, qword [edx + 0x24]
movsd xmm1, qword [edx]
mov ecx, dword [edx + 0x20]
movdqu xmm2, xmmword [edx + 0x10]
mov dword [esp + 0x32c], eax
movq qword [esp + 0x324], xmm0
movsd qword [esp + 0x300], xmm1
movq xmm1, qword [edx + 8]
cmp ecx, 0x50000
setae al
xor edx, edx
movq qword [esp + 0x308], xmm1
movdqu xmmword [esp + 0x310], xmm2
mov dword [esp + 0x320], ecx
and ecx, 0xff00
mov dword [esp + 0x348], ebx
mov dword [esp + 0x330], 0
mov dword [esp + 0x338], 0
mov dword [esp + 0x344], 0
mov dword [esp + 0x340], 0
cmp ecx, 0x800
sete dl
xor esi, esi
test byte [edi + 0x78], al
movd edi, xmm1
pshufd xmm1, xmm2, 0xee
lea ecx, [edx*8 + 8]
lea eax, [edx*8 + 0xc]
movd dword [esp + 0xb0], xmm1
pshufd xmm1, xmm2, 0xff
movd dword [esp + 0xb4], xmm1
cmove ecx, esi
cmove eax, esi
add edi, 0xfffffffd
xor edx, edx
cmp edi, 2
mov dword [esp + 0x34c], ecx
mov dword [esp + 0x350], 0
mov dword [esp + 0x354], eax
mov dword [esp + 0x358], eax
lea eax, [esp + 0x300]
mov dword [esp + 0x26c], 0
mov dword [esp + 0x268], 0x2f
mov dword [esp + 0x25c], 0
setb dl
add ebx, 8
mov dword [esp + 0xb8], eax
mov dword [esp + 0x258], edx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], 0
movq qword [esp + 0x260], xmm2
mov dword [esp + 0xdc], 0
lea ecx, [esp + 0x170]
lea edx, [esp + 0xb0]
call sym.gimli::read::unit::EntriesCursor_LT_R_GT_::next_entry::h9eaf7319221d4097
movzx eax, byte [esp + 0x170]
cmp al, 0x4b
jne 0x50c8e2
lea esi, [esp + 0x170]
lea edi, [esp + 0xb0]
nop dword [eax + eax]
mov eax, dword [esp + 0xc0]
cmp byte [esp + 0x171], 1
jne 0x50d4d5
test eax, eax
jne 0x50d4dd
mov ecx, esi
mov edx, edi
call sym.gimli::read::unit::EntriesCursor_LT_R_GT_::next_entry::h9eaf7319221d4097
movzx eax, byte [esp + 0x170]
cmp al, 0x4b
je 0x50c8b0
mov edx, dword [esp + 0x98]
movzx ecx, byte [esp + 0x171]
movzx edi, word [esp + 0x172]
mov esi, dword [esp + 0x178]
mov byte [edx + 8], al
mov byte [edx + 9], cl
mov ecx, dword [esp + 0x174]
mov word [edx + 0xa], di
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x17c]
mov dword [edx + 0x10], esi
mov dword [edx + 0x14], ecx
mov dword [edx + 4], 0
mov dword [edx], 2
mov eax, dword [esp + 0x348]
lock dec dword [eax]
jne 0x50c946
mov ecx, dword [esp + 0x348]
call sym.alloc::sync::Arc_LT_T_C_A_GT_::drop_slow::h6d43fabf1cb9122b
mov eax, dword [esp + 0x268]
xor eax, 0x2f
or eax, dword [esp + 0x26c]
je 0x50ca48
cmp dword [esp + 0x2b8], 0
je 0x50c97b
push dword [esp + 0x2bc]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x2c4], 0
je 0x50c999
push dword [esp + 0x2c8]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x2d0], 0
je 0x50c9b7
push dword [esp + 0x2d4]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x2dc], 0
je 0x50ca48
push dword [esp + 0x2e0]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
jmp 0x50ca48
mov eax, dword [esp + 0xc]
cmp edx, eax
jae 0x50ca50
mov eax, dword [esp + 0x10]
xor esi, esi
mov ebx, 0x13
mov dword [esp + 0xc], eax
cmp bl, 0x4b
je 0x50c717
jmp 0x50ca15
mov ebx, dword [eax]
mov edi, dword [eax + 4]
mov esi, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [esp + 0xc], eax
cmp bl, 0x4b
je 0x50c717
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0xc]
mov edx, ebx
shr edx, 8
mov byte [ecx + 8], bl
shr ebx, 0x18
mov word [ecx + 9], dx
mov byte [ecx + 0xb], bl
mov dword [ecx + 0xc], edi
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], esi
mov dword [ecx + 4], 0
mov dword [ecx], 2
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
add dword [esp + 0x10], eax
sub edx, eax
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x1b4], 8
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1bc], 0
mov dword [esp + 0x1c4], 0
je 0x50d4f8
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 0x10]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x80], 0
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x3c], edx
nop word cs:[eax + eax]
movzx ebx, byte [edi]
xor esi, esi
cmp ecx, 0x3f
jne 0x50cad3
cmp bl, 2
jae 0x50db1d
mov bh, bl
mov dword [esp + 0x34], edx
mov dword [esp + 0x70], edi
xor esi, esi
mov edx, dword [esp + 0x80]
mov dword [esp + 0x24], eax
mov eax, 0
mov byte [esp + 0xc], bl
and bh, 0x7f
movzx edi, bh
mov ebx, dword [esp + 0x34]
shld esi, edi, cl
shl edi, cl
test cl, 0x20
cmovne esi, edi
cmovne edi, eax
mov eax, dword [esp + 0x24]
or edx, edi
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x70]
or eax, esi
cmp byte [esp + 0xc], 0
lea esi, [ebx - 1]
lea edi, [edx + 1]
jns 0x50cb39
add ecx, 7
test esi, esi
mov edx, esi
jne 0x50cac0
jmp 0x50db64
mov ecx, dword [esp + 0x80]
or ecx, eax
je 0x50e345
test esi, esi
je 0x50e435
mov esi, dword [esp + 0x70]
lea edi, [ebx - 2]
movzx ecx, byte [esi + 1]
mov edx, ecx
and edx, 0x7f
test cl, cl
lea ecx, [esi + 2]
mov esi, 0
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x50], edx
js 0x50cb8b
mov edx, edi
cmp word [esp + 0x50], 0
jne 0x50cc20
jmp 0x50e459
test edi, edi
je 0x50e59e
mov edi, dword [esp + 0x70]
mov edx, dword [esp + 0x50]
movzx ecx, byte [edi + 2]
movzx edx, dx
mov esi, ecx
and esi, 0x7f
shl esi, 7
or edx, esi
test cl, cl
lea ecx, [edi + 3]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0xc], ecx
lea edx, [edx - 3]
js 0x50cbd1
xor esi, esi
cmp word [esp + 0x50], 0
jne 0x50cc20
jmp 0x50e459
test edx, edx
je 0x50e5b0
mov ecx, dword [esp + 0xc]
mov esi, 0
movzx ecx, byte [ecx]
cmp cx, 3
ja 0x50e5b9
mov edx, dword [esp + 0x50]
add edi, 4
movzx ecx, cx
mov ebx, edi
mov edi, dword [esp + 0x34]
shl ecx, 0xe
mov dword [esp + 0xc], ebx
movzx edx, dx
add edi, 0xfffffffc
or edx, ecx
mov dword [esp + 0x50], edx
mov edx, edi
cmp word [esp + 0x50], 0
je 0x50e459
test edx, edx
je 0x50e467
mov edi, eax
mov eax, dword [esp + 0xc]
movzx ecx, byte [eax]
cmp cl, 2
mov byte [esp + 0x5c], cl
jae 0x50e475
mov esi, edx
inc eax
pxor xmm0, xmm0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xe0], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0x24], edi
dec esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x1c], eax
movdqa xmmword [esp + 0xb0], xmm0
test esi, esi
je 0x50dfc6
mov ecx, dword [esp + 0xc]
lea edx, [esi - 1]
movzx eax, byte [ecx]
inc ecx
mov edi, eax
and edi, 0x7f
test al, al
js 0x50cd0c
mov ebx, dword [esp + 0x14]
jmp 0x50cd75
mov ebx, dword [esp + 0x14]
test edx, edx
je 0x50dfbc
mov edx, edi
mov edi, esi
mov esi, dword [esp + 0xc]
movzx edx, dx
movzx eax, byte [esi + 1]
mov ecx, eax
and ecx, 0x7f
shl ecx, 7
or edx, ecx
test al, al
lea ecx, [esi + 2]
mov dword [esp + 0x10], edx
lea edx, [edi - 2]
js 0x50cd45
mov edi, dword [esp + 0x10]
jmp 0x50cd75
test edx, edx
je 0x50dfbc
movzx eax, byte [ecx]
cmp ax, 3
ja 0x50e4b8
mov edx, edi
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
movzx eax, ax
shl eax, 0xe
add edx, 0xfffffffd
movzx edi, di
add ecx, 3
or edi, eax
test di, di
je 0x50d0d9
test edx, edx
je 0x50dfbc
movzx ebx, byte [ecx]
mov dword [esp + 0x10], edi
lea esi, [ecx + 1]
lea edi, [edx - 1]
mov dword [esp + 0xc], esi
mov eax, ebx
and eax, 0x7f
test bl, bl
jns 0x50cdc7
test edi, edi
je 0x50dfc6
movzx ebx, byte [ecx + 1]
movzx eax, ax
lea edi, [edx - 2]
mov esi, ebx
and esi, 0x7f
shl esi, 7
or eax, esi
test bl, bl
lea ebx, [ecx + 2]
mov dword [esp + 0xc], ebx
js 0x50ce00
mov ebx, dword [esp + 0x14]
cmp ax, 0x21
mov dword [esp + 0x54], edi
je 0x50ce3e
movzx esi, ax
test esi, esi
je 0x50e449
movzx eax, word [esp + 0x10]
mov ecx, 0xffffffff
shl esi, 0x10
xor ebx, ebx
xor edx, edx
xor edi, edi
and dword [esp + 0x60], ecx
xor ecx, ecx
or esi, eax
jmp 0x50cf36
mov ebx, dword [esp + 0x14]
test edi, edi
je 0x50df10
mov esi, dword [esp + 0xc]
movzx esi, byte [esi]
cmp si, 3
ja 0x50e4b8
movzx esi, si
add edx, 0xfffffffd
movzx eax, ax
add ecx, 3
shl esi, 0xe
mov edi, edx
mov dword [esp + 0xc], ecx
or eax, esi
cmp ax, 0x21
mov dword [esp + 0x54], edi
jne 0x50cdd5
test edi, edi
je 0x50e450
mov eax, dword [esp + 0xc]
dec edi
xor edx, edx
xor esi, esi
xor ecx, ecx
inc eax
nop word cs:[eax + eax]
nop dword [eax]
mov dword [esp + 0x34], eax
movzx eax, byte [eax - 1]
cmp ecx, 0x3f
jne 0x50ce7d
movzx ebx, al
cmp ebx, 0x7f
je 0x50ce7d
test ebx, ebx
jne 0x50dfb2
mov ebx, eax
mov dword [esp + 0x70], edx
xor edx, edx
mov dword [esp + 0x3c], edi
mov edi, 0
mov dword [esp + 0x1c], eax
and bl, 0x7f
movzx ebx, bl
shld edx, ebx, cl
shl ebx, cl
test cl, 0x20
cmovne edx, ebx
cmovne ebx, edi
add ecx, 7
or esi, edx
mov edx, dword [esp + 0x70]
or edx, ebx
test al, al
jns 0x50cec8
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x3c]
inc eax
add edi, 0xffffffff
jb 0x50ce60
jmp 0x50df04
cmp ecx, 0x40
mov dword [esp + 0x70], edx
mov ebx, 0xffffffff
mov eax, dword [esp + 0x34]
setl dl
cmp byte [esp + 0x1c], 0x40
mov dword [esp + 0xc], eax
setae dh
shl ebx, cl
test cl, 0x20
mov ecx, 0xffffffff
cmovne ecx, ebx
cmovne ebx, edi
test dl, dh
mov edx, 0xffffffff
cmove ecx, edi
cmove ebx, edi
and dword [esp + 0x60], edx
mov edx, dword [esp + 0x3c]
or esi, ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x54], edx
or ecx, ebx
mov ebx, ecx
mov edi, ecx
movzx ecx, word [esp + 0x10]
shrd ebx, esi, 0x10
shr esi, 0x10
mov eax, edi
mov edx, esi
or ecx, 0x210000
mov esi, ecx
mov cl, ah
mov eax, ebx
mov dword [esp + 0x1c], ecx
movzx ecx, cl
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], edx
mov dword [esp + 0x70], esi
shl eax, 0x10
shl ecx, 8
or ecx, eax
mov eax, edx
shld eax, ebx, 0x10
mov dword [esp + 0x34], eax
mov eax, edi
movzx ebx, al
mov eax, dword [esp + 0xb0]
or ebx, ecx
test eax, eax
je 0x50cfc3
mov esi, dword [esp + 0xbc]
cmp esi, dword [esp + 0xb4]
jne 0x50cf8b
lea ecx, [esp + 0xb4]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::h03fb23a9fdee26eb
mov eax, dword [esp + 0xb8]
mov ecx, esi
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x70]
inc esi
shl ecx, 4
mov dword [eax + ecx], ebx
mov ebx, dword [esp + 0x60]
mov dword [eax + ecx + 4], edx
mov dword [eax + ecx + 8], edi
mov dword [eax + ecx + 0xc], ebx
mov dword [esp + 0xbc], esi
mov esi, dword [esp + 0x54]
jmp 0x50ccea
mov ecx, dword [esp + 0xb4]
cmp ecx, 5
jne 0x50d0a2
mov dword [esp + 0x3c], eax
movzx eax, byte [0x5e1184]
xor ecx, ecx
mov edx, 0x50
call sym.std::sys::alloc::windows::process_heap_alloc::hc2bfe060f1f208f4
test eax, eax
je 0x50efd2
mov ecx, 0x14
mov edi, eax
lea esi, [esp + 0xb8]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x1d0], 5
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x1d8], 5
lea ecx, [esp + 0x1d0]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::h03fb23a9fdee26eb
mov eax, dword [esp + 0x1d4]
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x70]
mov edx, dword [esp + 0x60]
cmp dword [esp + 0x3c], 0
mov dword [eax + 0x50], ebx
mov dword [eax + 0x54], ecx
mov dword [eax + 0x58], esi
mov esi, dword [esp + 0x54]
mov dword [eax + 0x5c], edx
mov dword [esp + 0x1d8], 6
je 0x50d074
push dword [esp + 0xb8]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x1d8]
movq xmm0, qword [esp + 0x1d0]
lea ecx, [esp + 0xb4]
mov dword [esp + 0xb0], 1
mov dword [ecx + 8], eax
movq qword [ecx], xmm0
jmp 0x50ccea
jae 0x50efbb
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x60]
shl ecx, 4
lea eax, [esp + 0xb8]
mov dword [eax + ecx], ebx
mov dword [eax + ecx + 4], edx
mov dword [eax + ecx + 8], esi
mov dword [eax + ecx + 0xc], edi
inc dword [esp + 0xb4]
mov esi, dword [esp + 0x54]
jmp 0x50ccea
test edx, edx
je 0x50dfbc
movzx ebx, byte [ecx]
lea esi, [ecx + 1]
lea edi, [edx - 1]
mov dword [esp + 0x10], esi
mov eax, ebx
and eax, 0x7f
test bl, bl
jns 0x50d122
test edi, edi
je 0x50e7d5
movzx ebx, byte [ecx + 1]
movzx eax, ax
lea edi, [edx - 2]
mov esi, ebx
and esi, 0x7f
shl esi, 7
or eax, esi
test bl, bl
lea ebx, [ecx + 2]
mov dword [esp + 0x10], ebx
js 0x50d485
mov ebx, dword [esp + 0x24]
test ax, ax
jne 0x50d4c2
lea ecx, [esp + 0xb8]
movq xmm0, qword [esp + 0xb0]
movdqu xmm3, xmmword [esp + 0xb8]
mov dword [esp + 0x3c], edi
movsd xmm1, qword [ecx + 0x10]
movsd xmm2, qword [ecx + 0x18]
movd eax, xmm0
pshufd xmm4, xmm3, 0x55
movsd qword [esp + 0x170], xmm1
movsd xmm1, qword [ecx + 0x20]
movsd qword [esp + 0x178], xmm2
cmp eax, 2
pshufd xmm2, xmm3, 0xee
movsd qword [esp + 0x180], xmm1
movsd xmm1, qword [ecx + 0x28]
movsd qword [esp + 0x188], xmm1
movsd xmm1, qword [ecx + 0x30]
movsd qword [esp + 0x190], xmm1
movsd xmm1, qword [ecx + 0x38]
movsd qword [esp + 0x198], xmm1
movsd xmm1, qword [ecx + 0x40]
movsd qword [esp + 0x1a0], xmm1
movsd xmm1, qword [ecx + 0x48]
movsd qword [esp + 0x1a8], xmm1
pshufd xmm1, xmm3, 0xff
je 0x50e6ae
movsd xmm6, qword [esp + 0x1a8]
movsd xmm5, qword [esp + 0x1a0]
movd edx, xmm3
movd ecx, xmm4
movd esi, xmm1
movd dword [esp + 0xc], xmm2
mov dword [esp + 0x14], edx
shr edx, 0x10
cmp eax, 3
mov dword [esp + 0x1c], edx
movsd qword [esp + 0x228], xmm6
movsd qword [esp + 0x220], xmm5
movsd xmm6, qword [esp + 0x198]
movsd xmm5, qword [esp + 0x190]
movsd qword [esp + 0x218], xmm6
movsd qword [esp + 0x210], xmm5
movsd xmm6, qword [esp + 0x188]
movsd xmm5, qword [esp + 0x180]
movsd qword [esp + 0x208], xmm6
movsd qword [esp + 0x200], xmm5
movsd xmm6, qword [esp + 0x170]
movsd xmm5, qword [esp + 0x178]
movsd qword [esp + 0x1f8], xmm5
movsd qword [esp + 0x1f0], xmm6
je 0x50e6c5
movsd xmm2, qword [esp + 0x220]
movsd xmm3, qword [esp + 0x218]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x370]
movsd xmm1, qword [esp + 0x228]
cmp eax, 2
movsd qword [esp + 0x150], xmm2
movsd xmm2, qword [esp + 0x210]
movsd qword [esp + 0x148], xmm3
movsd xmm3, qword [esp + 0x208]
mov dword [esp + 0x230], ecx
movzx ecx, byte [esp + 0x374]
movsd qword [esp + 0x158], xmm1
movsd qword [esp + 0x140], xmm2
movsd xmm2, qword [esp + 0x200]
movsd qword [esp + 0x138], xmm3
movq xmm3, qword [esp + 0x1f0]
mov byte [esp + 0x234], cl
movsd qword [esp + 0x130], xmm2
movsd xmm2, qword [esp + 0x1f8]
movq qword [esp + 0x120], xmm3
movsd qword [esp + 0x128], xmm2
je 0x50e3f2
mov edi, ebx
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
pshufd xmm0, xmm0, 0x55
mov dword [esp + 0x258], eax
movsd xmm1, qword [esp + 0x150]
movsd xmm2, qword [esp + 0x148]
movd eax, xmm0
movq xmm0, qword [esp + 0x158]
mov dword [esp + 0x25c], eax
mov eax, dword [esp + 0x20]
movzx edx, bh
shl ecx, 0x10
shl edx, 8
or edx, ecx
movzx ecx, bl
or ecx, edx
mov dword [esp + 0x260], ecx
mov dword [esp + 0x264], eax
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x270]
mov dword [esp + 0x26c], esi
mov dword [esp + 0x268], eax
movsd qword [ecx + 0x30], xmm1
movsd xmm1, qword [esp + 0x140]
movsd qword [ecx + 0x28], xmm2
movsd xmm2, qword [esp + 0x138]
mov eax, dword [esp + 0x80]
movq qword [ecx + 0x38], xmm0
movsd qword [ecx + 0x20], xmm1
movsd xmm1, qword [esp + 0x130]
movsd qword [ecx + 0x18], xmm2
movq xmm2, qword [esp + 0x120]
movsd qword [ecx + 0x10], xmm1
movq xmm1, qword [esp + 0x128]
movq qword [ecx], xmm2
movq qword [ecx + 8], xmm1
mov dword [esp + 0x2b0], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x2b4], edi
mov word [esp + 0x2b8], ax
movzx eax, byte [esp + 0x5c]
mov byte [esp + 0x2ba], al
mov eax, dword [esp + 0x230]
mov dword [ecx + 0x4b], eax
movzx eax, byte [esp + 0x234]
mov byte [ecx + 0x4f], al
lea ecx, [esp + 0x1b0]
lea edx, [esp + 0x258]
call sym.gimli::read::abbrev::Abbreviations::insert::h9fd3cb543de9fb6a
mov edx, dword [esp + 0x3c]
test al, al
jne 0x50e6d0
mov ecx, dword [esp + 0x20]
test edx, edx
jne 0x50ca9b
jmp 0x50db74
mov ebx, dword [esp + 0x24]
test edi, edi
je 0x50e7d5
mov esi, dword [esp + 0x10]
movzx esi, byte [esi]
cmp si, 3
ja 0x50e7f4
movzx esi, si
add edx, 0xfffffffd
movzx eax, ax
add ecx, 3
shl esi, 0xe
mov edi, edx
mov dword [esp + 0x10], ecx
or eax, esi
test ax, ax
je 0x50d12f
mov ecx, dword [esp + 0x70]
mov esi, dword [esp + 0x60]
mov al, 0xd
mov dword [esp + 0xc], ecx
jmp 0x50dfca
test eax, eax
je 0x50dbb4
mov ebx, dword [esp + 0xc8]
mov ecx, dword [esp + 0xc4]
test byte [ebx], 1
je 0x50d501
mov edi, dword [ebx + 0xc]
mov ebx, dword [ebx + 8]
jmp 0x50d510
mov dword [esp + 0x1c], eax
jmp 0x50db74
mov edi, dword [ebx + 4]
cmp edi, 6
jae 0x50ebf0
add ebx, 8
mov dword [esp + 0x1f0], eax
mov dword [esp + 0x1f4], ecx
test edi, edi
lea ecx, [esp + 0xc0]
mov dword [esp + 0x1f8], ebx
mov dword [esp + 0x1fc], edi
mov dword [esp + 0x200], ecx
je 0x50d960
movd xmm2, dword [0x576cc0]
mov eax, dword [esp + 0x258]
dec edi
add ebx, 0x10
mov dword [esp + 0x24], 0
mov dword [esp + 0xc], 0x2e
mov dword [esp + 0x20], 0
mov dword [esp + 0x34], 0
movdqa xmm3, xmm2
mov dword [esp + 0x10], eax
jmp 0x50d59b
movdqa xmm2, xmmword [esp + 0x80]
movdqa xmm3, xmmword [esp + 0x70]
add ebx, 0x10
add edi, 0xffffffff
jae 0x50db8e
movsd xmm0, qword [ebx - 0x10]
movsd xmm1, qword [ebx - 8]
mov eax, dword [esp + 0x200]
movdqa xmmword [esp + 0x70], xmm3
movdqa xmmword [esp + 0x80], xmm2
movsd qword [esp + 0x128], xmm1
movsd qword [esp + 0x120], xmm0
mov eax, dword [eax + 0xc]
lea ecx, [esp + 0x170]
lea esi, [esp + 0x120]
lea edx, [esp + 0x1f0]
push esi
push dword [eax + 0x20]
call sym.gimli::read::unit::parse_attribute::hdd3cf4e0ff72c012
add esp, 8
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x174]
mov edx, eax
xor edx, 0x2e
or edx, ecx
je 0x50db2f
lea edx, [esp + 0x178]
mov dword [esp + 0x1f8], ebx
mov dword [esp + 0x1fc], edi
movq xmm0, qword [edx]
movq xmm1, qword [edx + 8]
mov dword [esp + 0x174], ecx
mov dword [esp + 0x170], eax
movq qword [edx + 8], xmm1
movq qword [edx], xmm0
movq qword [esp + 0x360], xmm0
movq qword [esp + 0x368], xmm1
movzx eax, word [esp + 0x180]
cmp eax, 0x71
jle 0x50d6e0
movdqa xmm2, xmmword [esp + 0x80]
movdqa xmm3, xmmword [esp + 0x70]
cmp eax, 0x2130
jg 0x50d740
add eax, 0xffffff8e
cmp eax, 0x1a
ja 0x50d58f
mov eax, dword [eax*4 + 0x50f56c]
add eax, dword [esp + 0x16c]
jmp eax
movdqa xmm2, xmmword [esp + 0x80]
movdqa xmm3, xmmword [esp + 0x70]
add eax, 0xfffffffd
cmp eax, 0x18
ja 0x50d58f
mov eax, dword [eax*4 + 0x50f508]
add eax, dword [esp + 0x16c]
jmp eax
cmp eax, 0x2131
je 0x50d8e6
cmp eax, 0x2132
je 0x50d79a
cmp eax, 0x2133
jne 0x50d58f
lea ecx, [esp + 0x120]
lea edx, [esp + 0x170]
call sym.gimli::read::unit::Attribute_LT_R_GT_::value::h43a21af532bb1013
mov eax, dword [esp + 0x120]
xor eax, 0xb
or eax, dword [esp + 0x124]
jne 0x50d580
mov eax, dword [esp + 0x128]
mov dword [esp + 0x350], eax
jmp 0x50d580
lea ecx, [esp + 0x120]
lea edx, [esp + 0x170]
call sym.gimli::read::unit::Attribute_LT_R_GT_::value::h43a21af532bb1013
mov eax, dword [esp + 0x120]
xor eax, 0x17
or eax, dword [esp + 0x124]
jne 0x50d580
mov eax, dword [esp + 0x128]
mov dword [esp + 0x358], eax
jmp 0x50d580
test byte [esp + 0x10], 1
je 0x50d8f8
mov al, 1
mov dword [esp + 0x10], eax
jmp 0x50d58f
lea ecx, [esp + 0x120]
lea edx, [esp + 0x170]
call sym.gimli::read::unit::Attribute_LT_R_GT_::value::h43a21af532bb1013
mov eax, dword [esp + 0x120]
xor eax, 0x2d
or eax, dword [esp + 0x124]
sete al
mov dword [esp + 0x10], eax
jne 0x50d580
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x12c]
mov dword [esp + 0x25c], 0
mov dword [esp + 0x258], 1
mov dword [esp + 0x264], ecx
mov dword [esp + 0x260], eax
jmp 0x50d580
movd xmm2, dword [0x576cc0]
xor ecx, ecx
mov ebx, 0x2e
mov dword [esp + 0x20], 0
lea eax, [esp + 0xc0]
xor edi, edi
movdqa xmm3, xmm2
test byte [eax + 0x14], 1
mov dword [esp + 0x34], ecx
jne 0x50d9a3
mov edx, dword [esp + 0x1f0]
mov ecx, eax
sub edx, dword [ecx]
mov dword [ecx + 0x14], 1
mov dword [ecx + 0x18], edx
movsd xmm1, qword [esp + 0x1b8]
movsd xmm0, qword [esp + 0x1b0]
movd ecx, xmm3
xor ecx, 0x2e
movsd qword [esp + 0x368], xmm1
pshufd xmm1, xmm3, 0x55
movsd qword [esp + 0x360], xmm0
movd eax, xmm1
or ecx, eax
jne 0x50d9df
xor esi, esi
jmp 0x50da42
movzx eax, byte [esp + 0x321]
movdqa xmmword [esp + 0x80], xmm2
movdqu xmmword [esp + 0x230], xmm3
mov edx, dword [esp + 0xac]
lea esi, [esp + 0x230]
lea ecx, [esp + 0xb0]
push esi
push dword [esp + 0x350]
push eax
call sym.gimli::read::dwarf::Dwarf_LT_R_GT_::attr_string::h2e2835e0fe0b4cd2
add esp, 0xc
xor esi, esi
cmp byte [esp + 0xb0], 0x4b
jne 0x50da32
mov esi, dword [esp + 0xb4]
mov edx, dword [esp + 0xb8]
movdqa xmm2, xmmword [esp + 0x80]
movd ecx, xmm2
pshufd xmm0, xmm2, 0x55
mov dword [esp + 0x330], esi
mov dword [esp + 0x334], edx
mov dword [esp + 0xc], ebx
movd eax, xmm0
xor ecx, 0x2e
or ecx, eax
jne 0x50da83
xor eax, eax
test edi, edi
mov dword [esp + 0x338], 0
je 0x50dbf6
mov dword [esp + 0x70], edx
jmp 0x50daf1
movzx eax, byte [esp + 0x321]
mov dword [esp + 0x70], edx
movdqu xmmword [esp + 0x370], xmm2
mov edx, dword [esp + 0xac]
lea ebx, [esp + 0x370]
lea ecx, [esp + 0xb0]
push ebx
push dword [esp + 0x350]
push eax
call sym.gimli::read::dwarf::Dwarf_LT_R_GT_::attr_string::h2e2835e0fe0b4cd2
add esp, 0xc
cmp byte [esp + 0xb0], 0x4b
mov ebx, dword [esp + 0xb8]
mov eax, 0
jne 0x50dadb
mov eax, dword [esp + 0xb4]
test edi, edi
mov dword [esp + 0x338], eax
mov dword [esp + 0x33c], ebx
je 0x50dc2a
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x80], eax
mov eax, dword [ecx + 0x20]
mov edx, dword [ecx + 0x24]
mov ecx, dword [esp + 0x3c]
sub edx, ecx
jae 0x50dbd8
xor edi, edi
mov esi, 0x13
jmp 0x50e265
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ebx, 6
jmp 0x50e01b
lea eax, [esp + 0x178]
movq xmm0, qword [eax]
movq xmm1, qword [eax + 8]
mov eax, dword [esp + 0x98]
movq qword [esp + 0x360], xmm0
movq qword [esp + 0x368], xmm1
movq qword [eax + 0x10], xmm1
movq qword [eax + 8], xmm0
jmp 0x50dbc6
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x20]
mov bh, byte [esp + 0xc]
add dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
xor esi, esi
mov dword [esp + 0xc], eax
mov ah, bh
mov ebx, 0x13
mov edx, dword [esp + 0x1c]
jmp 0x50e01b
mov eax, dword [esp + 0x200]
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x24]
test byte [eax + 0x14], 1
mov dword [esp + 0x34], ecx
je 0x50d98e
jmp 0x50d9a3
mov eax, dword [esp + 0x98]
mov byte [eax + 8], 0x42
mov dword [eax + 0xc], 0
mov dword [eax + 4], 0
mov dword [eax], 2
jmp 0x50c92e
add eax, ecx
cmp edx, 4
jae 0x50df19
mov ecx, eax
xor esi, esi
mov edx, 0x13
xor edi, edi
shr ecx, 8
jmp 0x50e245
mov ebx, 0x2f
mov dword [esp + 0x24], eax
mov dword [esp + 0x80], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x268]
xor eax, 0x2f
or eax, dword [esp + 0x26c]
jne 0x50dc52
jmp 0x50dcd4
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], 0
mov ebx, 0x2f
mov eax, dword [esp + 0x268]
xor eax, 0x2f
or eax, dword [esp + 0x26c]
je 0x50dcd4
cmp dword [esp + 0x2b8], 0
mov edi, ecx
je 0x50dc74
push dword [esp + 0x2bc]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov ecx, edi
cmp dword [esp + 0x2c4], 0
je 0x50dc94
push dword [esp + 0x2c8]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov ecx, edi
cmp dword [esp + 0x2d0], 0
je 0x50dcb4
push dword [esp + 0x2d4]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov ecx, edi
cmp dword [esp + 0x2dc], 0
je 0x50dcd4
push dword [esp + 0x2e0]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov ecx, edi
mov eax, dword [esp + 0x10]
movsd xmm0, qword [esp + 0x1c8]
mov dword [esp + 0x268], ebx
movsd xmm1, qword [esp + 0x1b8]
mov edi, dword [esp + 0x60]
movzx edx, byte [esp + 0x9f]
movzx ebx, byte [esp + 0x4e]
mov dword [esp + 0x26c], eax
mov dword [esp + 0x270], esi
mov dword [esp + 0x274], ecx
lea ecx, [esp + 0x280]
mov dword [esp + 0x27c], 0
mov dword [esp + 0x278], 0
mov eax, dword [esp + 0x168]
mov esi, dword [esp + 0x3c]
movsd qword [ecx + 0x18], xmm0
movsd xmm0, qword [esp + 0x1c0]
movsd qword [ecx + 8], xmm1
movsd qword [ecx + 0x10], xmm0
movsd xmm0, qword [esp + 0x1b0]
movsd qword [ecx], xmm0
mov dword [esp + 0x2a0], eax
mov eax, dword [esp + 0x1ec]
movsd xmm0, qword [esp + 0x390]
mov dword [esp + 0x2a4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x2a8], eax
mov eax, dword [esp + 0x254]
mov dword [esp + 0x2ac], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x2b0], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x2b4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x2b8], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x2bc], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 0x2c0], eax
mov eax, dword [esp + 0x398]
movsd qword [ecx + 0x44], xmm0
movsd xmm0, qword [esp + 0x380]
mov dword [ecx + 0x4c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x2d0], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x2d4], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x2d8], eax
mov eax, dword [esp + 0x388]
movsd qword [ecx + 0x5c], xmm0
mov dword [ecx + 0x64], eax
movzx eax, byte [esp + 0x54]
movzx ecx, byte [esp + 0x9c]
mov byte [esp + 0x2e8], al
movzx eax, byte [esp + 0x14]
mov byte [esp + 0x2e9], al
mov eax, dword [esp + 0x24]
mov word [esp + 0x2ea], ax
mov dword [esp + 0x2ec], esi
mov esi, dword [esp + 0x11c]
mov dword [esp + 0x2f0], edi
mov dword [esp + 0x2f4], esi
mov byte [esp + 0x2f8], cl
movzx ecx, byte [esp + 0x4f]
mov byte [esp + 0x2f9], dl
movzx edx, byte [esp + 0x9e]
mov byte [esp + 0x2fa], cl
movzx ecx, byte [esp + 0x9d]
mov byte [esp + 0x2fb], dl
mov byte [esp + 0x2fc], cl
mov ecx, dword [esp + 0xc]
mov byte [esp + 0x2fd], bl
mov edx, ecx
xor edx, 0x2e
or edx, dword [esp + 0x20]
je 0x50dee3
mov eax, ecx
and al, 0x3f
cmp al, 0xc
je 0x50df7d
and ecx, 0x3f
jne 0x50dee3
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x340], eax
mov dword [esp + 0x344], ecx
lea eax, [esp + 0x258]
push 0x108
push eax
push dword [esp + 0xa0]
call sym._memcpy
add esp, 0xc
jmp 0x50ca48
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 0x14]
add dword [esp + 0xc], eax
xor esi, esi
mov al, 0x13
jmp 0x50dfce
movzx ecx, byte [esp + 0x320]
mov dword [esp + 0x1e8], esi
lea esi, [edx - 4]
mov byte [esp + 0x14], 4
mov byte [esp + 0x54], cl
lea ecx, [eax + 4]
mov dword [esp + 0x18], ecx
mov ecx, dword [eax]
cmp ecx, 0xffffffef
jbe 0x50df5f
xor edi, edi
cmp ecx, 0xffffffff
mov dword [esp + 0x50], ebx
je 0x50e1f4
mov edx, 0x10
xor esi, esi
xor ecx, ecx
jmp 0x50e245
mov eax, ecx
cmp esi, eax
jae 0x50e2f3
mov ebx, dword [esp + 0x18]
mov esi, 0x13
xor edi, edi
mov dword [esp + 0x28], ebx
jmp 0x50e261
mov eax, dword [esp + 0xac]
mov ebx, dword [esp + 0x350]
mov esi, dword [eax + 0xc]
mov ecx, dword [eax + 8]
sub esi, ebx
jae 0x50e195
mov dword [esp + 0xb7], ecx
mov dword [esp + 0xbb], 0
mov dl, 0x13
jmp 0x50e1b5
xor esi, esi
mov al, 7
mov dword [esp + 0x1c], ecx
jmp 0x50dfca
xor esi, esi
mov al, 0x13
mov dword [esp + 0xc], ecx
jmp 0x50dfce
xor esi, esi
mov al, 0x13
mov ebx, dword [esp + 0x14]
movzx edx, byte [esp + 0x1c]
mov ecx, ebx
movzx edi, al
shl ecx, 0x10
shl edx, 8
or edx, ecx
or edi, edx
cmp dword [esp + 0xb0], 0
je 0x50e00a
cmp dword [esp + 0xb4], 0
je 0x50e00a
push dword [esp + 0xb8]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov ecx, dword [esp + 0x20]
shld ecx, ebx, 0x10
mov ebx, edi
mov edx, ebx
mov ah, bh
shr edx, 0x10
movzx eax, ah
shl edx, 0x10
movzx ebx, bl
mov dword [esp + 0x70], esi
mov dword [esp + 0x20], ecx
shl eax, 8
or eax, edx
or ebx, eax
mov edi, dword [esp + 0x1b8]
mov eax, dword [esp + 0x1b4]
test edi, edi
mov dword [esp + 0x80], eax
je 0x50e083
mov eax, dword [esp + 0x80]
lea esi, [eax + 8]
jmp 0x50e066
add esi, 0x68
dec edi
je 0x50e083
cmp dword [esi - 8], 0
je 0x50e060
cmp dword [esi - 4], 0
je 0x50e060
push dword [esi]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
jmp 0x50e060
cmp dword [esp + 0x1b0], 0
je 0x50e0a1
push dword [esp + 0x80]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov ecx, dword [esp + 0x1bc]
test ecx, ecx
je 0x50e0f3
mov edx, dword [esp + 0x1c0]
mov eax, dword [esp + 0x1c4]
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xbc], edx
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], ecx
mov ecx, 1
mov dword [esp + 0xcc], edx
jmp 0x50e0f7
xor ecx, ecx
xor eax, eax
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xd0], eax
lea ecx, [esp + 0x170]
lea edx, [esp + 0xb0]
call sym.alloc::collections::btree::map::IntoIter_LT_K_C_V_C_A_GT_::dying_next::h115d054eecfd1ce3
mov eax, dword [esp + 0x170]
test eax, eax
je 0x50e17f
lea esi, [esp + 0x170]
lea edi, [esp + 0xb0]
jmp 0x50e154
mov ecx, esi
mov edx, edi
call sym.alloc::collections::btree::map::IntoIter_LT_K_C_V_C_A_GT_::dying_next::h115d054eecfd1ce3
mov eax, dword [esp + 0x170]
test eax, eax
je 0x50e17f
imul ecx, dword [esp + 0x178], 0x68
cmp dword [eax + ecx + 0x58], 0
je 0x50e140
lea eax, [eax + ecx + 0x58]
cmp dword [eax + 4], 0
je 0x50e140
push dword [eax + 8]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
jmp 0x50e140
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x70]
cmp bl, 0x4b
jne 0x50ca15
jmp 0x50c717
movzx eax, byte [esp + 0x320]
mov byte [esp + 0x80], al
movzx edi, al
mov eax, dword [esp + 0x1c]
mul edi
jno 0x50e28a
mov dl, 0x35
mov esi, dword [esp + 0x98]
shld ecx, eax, 8
shl eax, 8
movzx edx, dl
or edx, eax
mov dword [esi + 0xc], ecx
mov dword [esi + 8], edx
mov edx, dword [esp + 0xbb]
mov ecx, dword [esp + 0xb7]
mov dword [esi + 0x14], edx
mov dword [esi + 0x10], ecx
mov dword [esi + 4], 0
mov dword [esi], 2
jmp 0x50c92e
cmp esi, 8
jae 0x50e2c4
mov eax, dword [esp + 0x18]
mov edx, 0x13
mov dword [esp + 0x6b], eax
movzx eax, byte [esp + 0x6e]
mov ebx, dword [esp + 0x68]
mov esi, dword [esp + 0x64]
mov byte [esp + 0xba], al
movzx eax, word [esp + 0x6c]
mov word [esp + 0xb8], ax
mov dword [esp + 0xb4], ebx
shld ebx, esi, 8
shl esi, 8
mov eax, dword [esp + 0xb7]
mov ecx, eax
shr ecx, 8
mov byte [esp + 0x28], al
mov eax, edi
mov word [esp + 0x2d], di
mov dword [esp + 0x29], ecx
or esi, edx
shld edi, ecx, 8
shr eax, 0x10
mov byte [esp + 0x2f], al
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x98]
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], ebx
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edi
mov dword [ecx + 4], 0
mov dword [ecx], 2
jmp 0x50c92e
mov edx, esi
add ecx, ebx
sub edx, eax
jb 0x50df99
dec edi
cmp edi, 7
ja 0x50e67c
mov ebx, dword [esp + 0x16c]
add ecx, eax
add ebx, dword [edi*4 + 0x50f5d8]
jmp ebx
mov ebx, dword [esp + 0x18]
cmp dword [ebx + 4], 0
jne 0x50e563
mov esi, dword [ebx]
mov ebx, dword [esp + 0x50]
add eax, 0xc
add edx, 0xfffffff4
mov byte [esp + 0x14], 8
mov dword [esp + 0x18], eax
mov eax, esi
mov esi, edx
cmp esi, eax
jb 0x50df69
cmp eax, 2
jae 0x50e310
mov eax, dword [esp + 0x18]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov esi, 0x13
xor edi, edi
jmp 0x50e265
mov edx, dword [esp + 0x18]
mov dword [esp + 0x60], eax
movzx edi, word [edx]
mov eax, edi
add eax, 0xfffffffa
cmp ax, 0xfffc
jae 0x50e483
movzx eax, di
mov dword [esp + 0x2c], 0
mov esi, 0x11
xor edi, edi
mov dword [esp + 0x28], eax
jmp 0x50e261
movsd xmm1, qword [esp + 0x220]
movsd xmm2, qword [esp + 0x218]
mov eax, dword [esp + 0x370]
movq xmm0, qword [esp + 0x228]
movsd qword [esp + 0x150], xmm1
movsd xmm1, qword [esp + 0x210]
movsd qword [esp + 0x148], xmm2
movsd xmm2, qword [esp + 0x208]
mov dword [esp + 0x230], eax
movzx eax, byte [esp + 0x374]
movq qword [esp + 0x158], xmm0
movsd qword [esp + 0x140], xmm1
movsd xmm1, qword [esp + 0x200]
movsd qword [esp + 0x138], xmm2
movq xmm2, qword [esp + 0x1f0]
mov byte [esp + 0x234], al
movsd qword [esp + 0x130], xmm1
movq xmm1, qword [esp + 0x1f8]
movq qword [esp + 0x120], xmm2
movq qword [esp + 0x128], xmm1
movq xmm0, qword [esp + 0x1b0]
mov ebx, dword [esp + 0x1b8]
mov edi, dword [esp + 0x1bc]
mov esi, dword [esp + 0x1c4]
mov ecx, dword [esp + 0x1c0]
movd eax, xmm0
neg eax
jno 0x50e4c1
mov dword [esp + 0xc], ecx
cmp bl, 0x4b
je 0x50c717
jmp 0x50ca15
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xc], edi
mov ebx, 0x13
xor esi, esi
jmp 0x50e5a3
mov al, 9
jmp 0x50dfce
mov dword [esp + 0x1c], eax
jmp 0x50df10
mov ecx, dword [esp + 0x20]
mov ebx, 8
jmp 0x50e5a3
mov ecx, dword [esp + 0x20]
mov ebx, 0x13
jmp 0x50e5a3
mov ecx, dword [esp + 0x20]
mov ebx, 0xa
jmp 0x50e5a3
mov eax, dword [esp + 0x60]
add edx, 2
cmp di, 4
lea esi, [eax - 2]
jbe 0x50e573
test esi, esi
je 0x50e7cc
cmp eax, 3
jne 0x50e5cf
mov ebx, dword [esp + 0x18]
add ebx, 3
mov dword [esp + 0x28], ebx
jmp 0x50e300
xor esi, esi
mov al, 6
jmp 0x50dfce
mov dword [esp + 0x258], 1
mov dword [esp + 0x25c], 1
movq qword [esp + 0x260], xmm0
mov dword [esp + 0x268], ebx
mov dword [esp + 0x26c], edi
mov dword [esp + 0x270], ecx
mov dword [esp + 0x274], esi
movzx eax, byte [0x5e1184]
xor ecx, ecx
mov edx, 0x20
call sym.std::sys::alloc::windows::process_heap_alloc::hc2bfe060f1f208f4
test eax, eax
je 0x50f315
movsd xmm0, qword [esp + 0x270]
mov edi, eax
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [esp + 0x268]
movsd qword [eax + 0x10], xmm0
movq xmm0, qword [esp + 0x258]
movq xmm1, qword [esp + 0x260]
movq qword [eax + 8], xmm1
movq qword [eax], xmm0
mov ebx, 0x4b
cmp bl, 0x4b
je 0x50c717
jmp 0x50ca15
xor esi, esi
mov edx, 0x35
xor ecx, ecx
xor edi, edi
jmp 0x50df5a
mov eax, esi
cmp ecx, 0xfffffff0
jb 0x50e703
cmp eax, 8
jb 0x50e708
cmp dword [edx + 4], 0
jne 0x50e6e4
mov ecx, dword [edx]
add edx, 8
add eax, 0xfffffff8
jmp 0x50e728
mov ebx, 0x13
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
jmp 0x50e01b
mov ecx, dword [esp + 0x20]
jmp 0x50e43d
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov ebx, 6
jmp 0x50e01b
mov edx, dword [esp + 0x18]
lea esi, [edx + 4]
movzx eax, byte [edx + 2]
mov dword [esp + 0x40], esi
mov dword [esp + 0x5c], esi
cmp byte [edx + 3], 0
je 0x50e6eb
mov eax, dword [esp + 0x28]
mov esi, 0x41
jmp 0x50e265
movzx eax, byte [esp + 0x80]
movzx ecx, word [esp + 0xb4]
mov dl, 0x17
mov byte [esp + 0xb0], al
movzx eax, byte [esp + 0xb6]
shl eax, 0x10
or ecx, eax
mov eax, dword [esp + 0xb0]
jmp 0x50e1b5
movd esi, xmm1
movd ebx, xmm3
movd ecx, xmm4
movd dword [esp + 0xc], xmm2
jmp 0x50e014
mov eax, dword [esp + 0x14]
mov ebx, eax
jmp 0x50db85
mov ebx, 0xe
jmp 0x50e033
mov esi, 0x35
jmp 0x50e70d
mov byte [esp + 0x54], al
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
add eax, 0xfffffffc
cmp ecx, 0xfffffff0
jae 0x50e57e
cmp eax, 4
jae 0x50e720
mov esi, 0x13
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], 0
xor edi, edi
jmp 0x50e261
mov ecx, dword [edx]
add eax, 0xfffffffc
add edx, 4
sub eax, ecx
jae 0x50e73d
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], 0
jmp 0x50e300
test ecx, ecx
mov dword [esp + 0x254], eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x50], ebx
mov dword [esp + 0x11c], ecx
je 0x50e7cc
movzx eax, byte [edx]
mov dword [esp + 0x5c], edx
test al, al
mov byte [esp + 0x9f], al
je 0x50e7e6
mov eax, dword [esp + 0x11c]
cmp word [esp + 0x24], 4
mov byte [esp + 0x4f], 1
lea ecx, [eax - 1]
mov eax, dword [esp + 0x5c]
lea eax, [eax + 1]
jb 0x50e7b8
test ecx, ecx
je 0x50e2fc
mov eax, dword [esp + 0x11c]
lea ecx, [eax - 2]
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x44], ecx
movzx eax, byte [eax + 1]
test al, al
mov byte [esp + 0x4f], al
je 0x50e842
mov eax, dword [esp + 0x5c]
add eax, 2
test ecx, ecx
je 0x50e2fc
lea edx, [eax + 1]
cmp ecx, 1
mov dword [esp + 0x40], edx
jne 0x50e7fd
mov dword [esp + 0x28], edx
jmp 0x50e300
mov ecx, dword [esp + 0x10]
xor esi, esi
mov al, 0x13
mov dword [esp + 0xc], ecx
jmp 0x50dfca
mov eax, dword [esp + 0x28]
mov esi, 0x1a
jmp 0x50e265
xor esi, esi
mov al, 6
jmp 0x50dfba
movzx edx, byte [eax]
mov esi, ecx
add esi, 0xfffffffe
mov dword [esp + 0x44], esi
je 0x50e850
mov dh, byte [eax + 1]
lea esi, [eax + 3]
mov dword [esp + 0x40], esi
mov byte [esp + 0x9e], dh
mov dh, byte [eax + 2]
test dh, dh
mov byte [esp + 0x9d], dh
je 0x50e858
test dl, dl
setne byte [esp + 0x9c]
cmp ecx, 3
jne 0x50e866
mov dword [esp + 0x28], esi
jmp 0x50e300
mov eax, dword [esp + 0x28]
mov esi, 0x1b
jmp 0x50e265
add eax, 2
jmp 0x50e2fc
mov eax, dword [esp + 0x28]
mov esi, 0x1c
jmp 0x50e265
lea edx, [ecx - 4]
mov dword [esp + 0x44], edx
movzx ebx, byte [eax + 3]
test bl, bl
mov byte [esp + 0x4e], bl
je 0x50e8b1
movzx ebx, byte [esp + 0x4e]
lea esi, [eax + 4]
mov dword [esp + 0x168], esi
dec bl
movzx edi, bl
sub edx, edi
mov dword [esp + 0x1ec], edi
jae 0x50e8bf
mov eax, dword [esp + 0x168]
mov esi, 0x13
xor edi, edi
mov dword [esp + 0x28], eax
mov ebx, eax
jmp 0x50e261
mov eax, dword [esp + 0x28]
mov esi, 0x1d
jmp 0x50e265
mov esi, dword [esp + 0x168]
mov edi, dword [esp + 0x1ec]
cmp word [esp + 0x24], 4
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 8
mov dword [esp + 0x118], 0
lea ebx, [esi + edi]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], edx
ja 0x50e9af
test edx, edx
je 0x50eb89
add eax, ecx
xor esi, esi
mov dword [esp + 0x10], 8
mov dword [esp + 0x18], edi
mov edi, ebx
xor ebx, ebx
cmp byte [edi + ebx], 0
lea ecx, [edi + ebx + 1]
je 0x50e935
inc ebx
cmp ecx, eax
jne 0x50e921
jmp 0x50eb43
mov eax, ebx
mov dword [esp + 0x40], ecx
not eax
add edx, eax
test ebx, ebx
mov dword [esp + 0x44], edx
je 0x50f0e8
cmp esi, dword [esp + 0x110]
jne 0x50e96b
lea ecx, [esp + 0x110]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::h3b307c49ebcbd887
mov eax, dword [esp + 0x114]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x10]
mov eax, esi
inc esi
mov dword [esp + 0x18], edi
shl eax, 4
mov dword [ecx + eax + 4], 0
mov dword [ecx + eax], 0x1f
mov dword [ecx + eax + 8], edi
mov dword [ecx + eax + 0xc], ebx
mov dword [esp + 0x118], esi
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
lea eax, [ebx + edx]
test edx, edx
jne 0x50e919
jmp 0x50eb89
lea ecx, [esp + 0xb0]
lea edx, [esp + 0x40]
call sym.gimli::read::line::FileEntryFormat::parse::hc687ddff49bc8bd6
movzx eax, byte [esp + 0xb0]
cmp eax, 0x4b
jne 0x50eb47
mov eax, dword [esp + 0xb4]
mov edi, dword [esp + 0xb8]
mov esi, dword [esp + 0xbc]
mov dword [esp + 0xa8], eax
mov dword [esp + 0x94], edi
mov dword [esp + 0x164], esi
lea ecx, [esp + 0xb0]
lea edx, [esp + 0x40]
call sym.gimli::read::reader::Reader::read_uleb128::h93b77577be7a87a4
movzx eax, byte [esp + 0xb0]
cmp eax, 0x4b
jne 0x50ebb7
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x48], eax
or eax, ecx
mov dword [esp + 0xa4], ecx
je 0x50ec09
movzx eax, byte [esp + 0x14]
movzx ecx, byte [esp + 0x54]
xor ebx, ebx
mov dword [esp + 0x58], 8
mov dword [esp + 0x80], 0
mov dword [esp + 0x10], ebx
shl eax, 8
lea eax, [eax + ecx + 0x50000]
mov dword [esp + 0xa0], eax
jmp 0x50eab3
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x18]
shl ebx, 4
mov dword [ecx + ebx], esi
mov dword [ecx + ebx + 4], eax
mov eax, dword [esp + 0x38]
mov dword [ecx + ebx + 8], eax
mov dword [ecx + ebx + 0xc], edi
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x80]
cmp ebx, dword [esp + 0x48]
mov dword [esp + 0x118], ebx
sbb eax, dword [esp + 0xa4]
jae 0x50ec96
add dword [esp + 0x10], 1
adc dword [esp + 0x80], 0
lea edx, [esp + 0x40]
lea ecx, [esp + 0xb0]
push dword [esp + 0x164]
push dword [esp + 0x98]
push dword [esp + 0xa8]
call sym.gimli::read::line::parse_directory_v5::hdf93c0d33c828f17
add esp, 0xc
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc0]
mov esi, dword [esp + 0xb8]
mov edi, dword [esp + 0xc4]
test byte [esp + 0xb0], 1
mov dword [esp + 0x18], eax
mov dword [esp + 0x38], ecx
jne 0x50ec31
cmp dword [esp + 0x110], ebx
jne 0x50ea72
lea ecx, [esp + 0x110]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::h3b307c49ebcbd887
mov eax, dword [esp + 0x114]
mov dword [esp + 0x58], eax
jmp 0x50ea72
mov ebx, edi
jmp 0x50eb89
mov edi, dword [esp + 0xb4]
movzx esi, byte [esp + 0xb3]
movzx ecx, word [esp + 0xb1]
mov edx, dword [esp + 0xb8]
mov bl, 1
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0xbc]
shl ecx, 8
shl esi, 0x18
mov dword [esp + 0x28], edx
or esi, ecx
or esi, eax
mov dword [esp + 0x2c], edi
jmp 0x50ec3f
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], 0
mov dword [esp + 0x94], 2
mov esi, 0x13
xor edi, edi
mov dword [esp + 0xa8], 0
jmp 0x50ec3d
mov edi, dword [esp + 0xb4]
movzx esi, byte [esp + 0xb3]
movzx ecx, word [esp + 0xb1]
mov edx, dword [esp + 0xb8]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0xbc]
shl ecx, 8
shl esi, 0x18
mov dword [esp + 0x28], edx
or esi, ecx
or esi, eax
jmp 0x50ec39
mov edx, 5
mov ecx, edi
push 0x57a1c8
call sym.core::slice::index::slice_end_index_len_fail::h31017dc9c470f2c8
add esp, 4
jmp 0x50f324
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 8
mov dword [esp + 0x6c], 0
mov dword [esp + 0x80], 0
jmp 0x50ecf4
mov eax, dword [esp + 0x38]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edi
xor ebx, ebx
cmp dword [esp + 0x110], 0
je 0x50ec5d
push dword [esp + 0x114]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0xa8], 0
sete al
or bl, al
je 0x50ec75
mov ebx, dword [esp + 0x18]
jmp 0x50e261
push dword [esp + 0x94]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x18]
jmp 0x50e261
mov dword [esp + 0x80], 0
cmp word [esp + 0x24], 5
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 8
mov dword [esp + 0x6c], 0
jae 0x50ecf4
cmp dword [esp + 0x1e8], 0
mov dword [esp + 0x10], 0
je 0x50f10e
pxor xmm0, xmm0
mov dword [esp + 0x160], 0x1f
movdqa xmmword [esp + 0x1d0], xmm0
jmp 0x50f119
lea ecx, [esp + 0xb0]
lea edx, [esp + 0x40]
call sym.gimli::read::line::FileEntryFormat::parse::hc687ddff49bc8bd6
movzx eax, byte [esp + 0xb0]
cmp eax, 0x4b
jne 0x50ef40
mov eax, dword [esp + 0xb4]
mov edi, dword [esp + 0xb8]
mov esi, dword [esp + 0xbc]
mov dword [esp + 0x48], eax
mov dword [esp + 0x38], edi
mov dword [esp + 0x58], esi
lea ecx, [esp + 0xb0]
lea edx, [esp + 0x40]
call sym.gimli::read::reader::Reader::read_uleb128::h93b77577be7a87a4
movzx eax, byte [esp + 0xb0]
cmp eax, 0x4b
jne 0x50efe6
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x160], 0x2e
mov dword [esp + 0x248], eax
or eax, ecx
mov dword [esp + 0x244], ecx
je 0x50f033
movzx eax, byte [esp + 0x14]
movzx ecx, byte [esp + 0x54]
mov ebx, 8
mov dword [esp + 0xa4], 0
mov dword [esp + 0x10], 0
shl eax, 8
lea eax, [eax + ecx + 0x50000]
mov dword [esp + 0x240], eax
xor eax, eax
mov dword [esp + 0xa0], eax
jmp 0x50ee66
mov ebx, dword [esp + 0x68]
imul eax, dword [esp + 0x10], 0x38
mov ecx, dword [esp + 0x24c]
mov edx, dword [esp + 0xa4]
mov dword [ebx + eax + 4], ecx
mov ecx, dword [esp + 0x250]
mov dword [ebx + eax], ecx
mov ecx, dword [esp + 0x18]
mov dword [ebx + eax + 8], esi
mov dword [ebx + eax + 0xc], ecx
mov ecx, dword [esp + 0x1e4]
mov dword [ebx + eax + 0x10], ecx
mov dword [ebx + eax + 0x14], edi
mov ecx, dword [esp + 0xa0]
movsd xmm0, qword [esp + 0x170]
movq xmm1, qword [esp + 0x178]
cmp ecx, dword [esp + 0x248]
mov dword [esp + 0x10], ecx
movsd qword [ebx + eax + 0x18], xmm0
movq qword [ebx + eax + 0x20], xmm1
movsd xmm0, qword [esp + 0x180]
sbb edx, dword [esp + 0x244]
movsd qword [ebx + eax + 0x28], xmm0
movq xmm0, qword [esp + 0x188]
movq qword [ebx + eax + 0x30], xmm0
mov dword [esp + 0x6c], ecx
jae 0x50f033
add dword [esp + 0xa0], 1
adc dword [esp + 0xa4], 0
lea edx, [esp + 0x40]
lea ecx, [esp + 0xb0]
push dword [esp + 0x58]
push dword [esp + 0x3c]
push dword [esp + 0x248]
call sym.gimli::read::line::parse_file_v5::h9a11be3b36c21d85
add esp, 0xc
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
mov esi, dword [esp + 0xb8]
mov edi, dword [esp + 0xc4]
mov dword [esp + 0x250], eax
xor eax, 0x2e
mov dword [esp + 0x24c], ecx
or eax, ecx
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1e4], ecx
je 0x50f2f4
lea eax, [esp + 0xc8]
mov ecx, dword [esp + 0x10]
movsd xmm1, qword [eax + 0x10]
movq xmm0, qword [eax + 0x18]
movq xmm2, qword [eax]
cmp dword [esp + 0x64], ecx
movsd qword [esp + 0x180], xmm1
movq xmm1, qword [eax + 8]
movq qword [esp + 0x188], xmm0
movq qword [esp + 0x170], xmm2
movq qword [esp + 0x178], xmm1
jne 0x50edcb
lea ecx, [esp + 0x64]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hbd8cb98f1da2a0d2
jmp 0x50edc7
mov edi, dword [esp + 0xb4]
movzx esi, byte [esp + 0xb3]
movzx ecx, word [esp + 0xb1]
mov edx, dword [esp + 0xb8]
mov bl, 1
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0xbc]
shl ecx, 8
shl esi, 0x18
mov dword [esp + 0x28], edx
or esi, ecx
or esi, eax
cmp dword [esp + 0x64], 0
mov dword [esp + 0x2c], edi
je 0x50ef95
push dword [esp + 0x68]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x48], 0
sete al
or bl, al
jne 0x50ec3d
push dword [esp + 0x38]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
jmp 0x50ec3d
mov edx, 5
push 0x57a1b8
call sym.core::panicking::panic_bounds_check::hf1cd1614d6353f3c
add esp, 4
jmp 0x50f324
mov ecx, 8
mov edx, 0x50
call sym.alloc::raw_vec::handle_error::he63c9115d026ec98
jmp 0x50f324
mov edi, dword [esp + 0xb4]
movzx esi, byte [esp + 0xb3]
movzx ecx, word [esp + 0xb1]
mov edx, dword [esp + 0xb8]
xor ebx, ebx
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0xbc]
shl ecx, 8
shl esi, 0x18
mov dword [esp + 0x28], edx
or esi, ecx
or esi, eax
cmp dword [esp + 0x64], 0
mov dword [esp + 0x2c], edi
jne 0x50ef84
jmp 0x50ef95
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x11c]
movdqa xmm2, xmmword [esp + 0x1d0]
movsd xmm1, qword [esp + 0x64]
movq xmm0, qword [esp + 0x110]
mov esi, dword [esp + 0x1e8]
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x160]
add dword [esp + 0x5c], eax
mov eax, dword [esp + 0x118]
movdqa xmmword [esp + 0x130], xmm2
movsd qword [esp + 0x380], xmm1
pxor xmm2, xmm2
movq qword [esp + 0x390], xmm0
movdqa xmm1, xmmword [esp + 0x130]
movdqa xmmword [esp + 0x120], xmm2
movdqa xmmword [esp + 0x1b0], xmm2
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x6c]
movdqa xmmword [esp + 0x1c0], xmm1
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x268]
xor eax, 0x2f
or eax, dword [esp + 0x26c]
jne 0x50dc52
jmp 0x50dcd4
mov dword [esp + 0x94], 2
mov dword [esp + 0x164], 0
mov dword [esp + 0xa8], 0
jmp 0x50eca1
mov dword [esp + 0x160], 0x2e
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
test eax, eax
je 0x50f2c3
lea ecx, [edx + eax]
mov dword [esp + 0x38], 0
mov dword [esp + 0x58], 8
mov dword [esp + 0x18], ebx
mov ebx, edx
xor esi, esi
cmp byte [ebx + esi], 0
lea edx, [ebx + esi + 1]
je 0x50f158
inc esi
cmp edx, ecx
jne 0x50f144
jmp 0x50f2bf
mov ecx, esi
mov dword [esp + 0x40], edx
not ecx
add eax, ecx
test esi, esi
mov dword [esp + 0x44], eax
je 0x50f326
lea ecx, [esp + 0xb0]
lea edx, [esp + 0x40]
push esi
push ebx
call sym.gimli::read::line::FileEntry_LT_R_C_Offset_GT_::parse::h1419d74f9774de44
add esp, 8
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
mov esi, dword [esp + 0xb8]
mov edi, dword [esp + 0xc4]
mov dword [esp + 0xa4], eax
xor eax, 0x2e
mov dword [esp + 0xa0], ecx
or eax, ecx
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x18], eax
mov dword [esp + 0x48], ecx
je 0x50f343
lea eax, [esp + 0xc8]
mov ecx, dword [esp + 0x38]
movsd xmm1, qword [eax + 0x10]
movq xmm0, qword [eax + 0x18]
movq xmm2, qword [eax]
cmp ecx, dword [esp + 0x64]
movsd qword [esp + 0x200], xmm1
movq xmm1, qword [eax + 8]
movq qword [esp + 0x208], xmm0
movq qword [esp + 0x1f0], xmm2
movq qword [esp + 0x1f8], xmm1
jne 0x50f227
lea ecx, [esp + 0x64]
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::grow_one::hbd8cb98f1da2a0d2
mov eax, dword [esp + 0x68]
mov dword [esp + 0x58], eax
imul edx, dword [esp + 0x38], 0x38
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0xa0]
mov dword [eax + edx + 4], ecx
mov ecx, dword [esp + 0xa4]
mov dword [eax + edx], ecx
mov ecx, dword [esp + 0x18]
mov dword [eax + edx + 8], esi
mov dword [esp + 0x18], ebx
mov dword [eax + edx + 0xc], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + edx + 0x10], ecx
mov dword [eax + edx + 0x14], edi
movsd xmm0, qword [esp + 0x1f0]
movq xmm1, qword [esp + 0x1f8]
movsd qword [eax + edx + 0x18], xmm0
movq qword [eax + edx + 0x20], xmm1
movsd xmm0, qword [esp + 0x200]
movsd qword [eax + edx + 0x28], xmm0
movq xmm0, qword [esp + 0x208]
movq qword [eax + edx + 0x30], xmm0
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x40]
inc eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x44]
lea ecx, [edx + eax]
test eax, eax
jne 0x50f13c
jmp 0x50f2c3
mov edx, ebx
jmp 0x50f2c3
mov esi, 0x13
xor edi, edi
mov dword [esp + 0x28], edx
mov dword [esp + 0x38], 2
mov dword [esp + 0x48], 0
xor ebx, ebx
cmp dword [esp + 0x64], 0
mov dword [esp + 0x2c], edi
jne 0x50ef84
jmp 0x50ef95
mov eax, dword [esp + 0x1e4]
xor ebx, ebx
mov dword [esp + 0x28], eax
cmp dword [esp + 0x64], 0
mov dword [esp + 0x2c], edi
jne 0x50ef84
jmp 0x50ef95
mov ecx, 4
mov edx, 0x20
call sym.alloc::alloc::handle_alloc_error::h3ca6a9ac69c8e3db
ud2
mov dword [esp + 0x38], 2
mov dword [esp + 0x48], 0
mov dword [esp + 0x58], 0
jmp 0x50f03b
mov eax, dword [esp + 0x48]
mov dword [esp + 0x38], 2
mov dword [esp + 0x28], eax
jmp 0x50f2d6